Index: liboctave/Array.cc =================================================================== RCS file: /cvs/octave/liboctave/Array.cc,v retrieving revision 1.168 diff -c -r1.168 Array.cc *** liboctave/Array.cc 31 Jan 2008 18:59:09 -0000 1.168 --- liboctave/Array.cc 3 Feb 2008 13:33:36 -0000 *************** *** 2630,2635 **** --- 2630,2654 ---- return m; } + #if defined (HAVE_IEEE754_DATA_FORMAT) + + template <> + extern bool ascending_compare (double, double); + template <> + extern bool ascending_compare (vec_index*, vec_index*); + template <> + extern bool descending_compare (double, double); + template <> + extern bool descending_compare (vec_index*, vec_index*); + + template <> + Array Array::sort (octave_idx_type dim, sortmode mode) const; + template <> + Array Array::sort (Array &sidx, + octave_idx_type dim, sortmode mode) const; + + #endif + // FIXME -- this is a mess. template Index: liboctave/Array-d.cc =================================================================== RCS file: /cvs/octave/liboctave/Array-d.cc,v retrieving revision 1.27 diff -c -r1.27 Array-d.cc *** liboctave/Array-d.cc 31 Jan 2008 18:59:09 -0000 1.27 --- liboctave/Array-d.cc 3 Feb 2008 13:33:36 -0000 *************** *** 344,373 **** template <> bool ! Array::ascending_compare (double a, double b) const { return (xisnan (b) || (a < b)); } template <> bool ! Array::ascending_compare (vec_index *a, ! vec_index *b) const { return (xisnan (b->vec) || (a->vec < b->vec)); } template <> bool ! Array::descending_compare (double a, double b) const { return (xisnan (a) || (a > b)); } template <> bool ! Array::descending_compare (vec_index *a, ! vec_index *b) const { return (xisnan (b->vec) || (a->vec > b->vec)); } --- 344,373 ---- template <> bool ! ascending_compare (double a, double b) { return (xisnan (b) || (a < b)); } template <> bool ! ascending_compare (vec_index *a, ! vec_index *b) { return (xisnan (b->vec) || (a->vec < b->vec)); } template <> bool ! descending_compare (double a, double b) { return (xisnan (a) || (a > b)); } template <> bool ! descending_compare (vec_index *a, ! vec_index *b) { return (xisnan (b->vec) || (a->vec > b->vec)); }