Mercurial > hg > octave-lyh
comparison liboctave/Range.cc @ 8721:e9cb742df9eb
imported patch sort3.diff
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 11 Feb 2009 15:25:53 +0100 |
parents | 0131fa223dbc |
children | d2b06871afac |
comparison
equal
deleted
inserted
replaced
8720:dda421a1f1e6 | 8721:e9cb742df9eb |
---|---|
221 { | 221 { |
222 if (mode == ASCENDING) | 222 if (mode == ASCENDING) |
223 retval.sort_internal (true); | 223 retval.sort_internal (true); |
224 else if (mode == DESCENDING) | 224 else if (mode == DESCENDING) |
225 retval.sort_internal (false); | 225 retval.sort_internal (false); |
226 else | |
227 abort (); | |
228 } | 226 } |
229 else if (dim != 0) | 227 else if (dim != 0) |
230 (*current_liboctave_error_handler) ("Range::sort: invalid dimension"); | 228 (*current_liboctave_error_handler) ("Range::sort: invalid dimension"); |
231 | 229 |
232 return retval; | 230 return retval; |
242 { | 240 { |
243 if (mode == ASCENDING) | 241 if (mode == ASCENDING) |
244 retval.sort_internal (sidx, true); | 242 retval.sort_internal (sidx, true); |
245 else if (mode == DESCENDING) | 243 else if (mode == DESCENDING) |
246 retval.sort_internal (sidx, false); | 244 retval.sort_internal (sidx, false); |
247 else | |
248 abort (); | |
249 } | 245 } |
250 else if (dim != 0) | 246 else if (dim != 0) |
251 (*current_liboctave_error_handler) ("Range::sort: invalid dimension"); | 247 (*current_liboctave_error_handler) ("Range::sort: invalid dimension"); |
252 | 248 |
253 return retval; | 249 return retval; |
250 } | |
251 | |
252 sortmode | |
253 Range::is_sorted (sortmode mode) const | |
254 { | |
255 if (rng_nelem > 1 && rng_inc < 0) | |
256 mode = (mode == ASCENDING) ? UNSORTED : DESCENDING; | |
257 else if (rng_nelem > 1 && rng_inc > 0) | |
258 mode = (mode == DESCENDING) ? UNSORTED : ASCENDING; | |
259 else | |
260 mode = mode ? mode : ASCENDING; | |
254 } | 261 } |
255 | 262 |
256 std::ostream& | 263 std::ostream& |
257 operator << (std::ostream& os, const Range& a) | 264 operator << (std::ostream& os, const Range& a) |
258 { | 265 { |