Mercurial > octave-nkf
comparison liboctave/array/Range.cc @ 20491:7e9c752138ec stable
Fix 'descending' sort of Range objects (bug #45739).
* Range.cc (sort_internal): When doing a descending sort, start at the max()
value in the Range, rather than the rng_limit which may not be a part of the
range itself.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 20 Aug 2015 06:42:15 -0700 |
parents | 4197fc428c7d |
children | 642ce72cf1ab |
comparison
equal
deleted
inserted
replaced
20481:d43675752d04 | 20491:7e9c752138ec |
---|---|
242 rng_inc = -rng_inc; | 242 rng_inc = -rng_inc; |
243 clear_cache (); | 243 clear_cache (); |
244 } | 244 } |
245 else if (! ascending && rng_base < rng_limit && rng_inc > 0.0) | 245 else if (! ascending && rng_base < rng_limit && rng_inc > 0.0) |
246 { | 246 { |
247 double tmp = rng_limit; | 247 double tmp = max (); |
248 rng_limit = min (); | 248 rng_limit = min (); |
249 rng_base = tmp; | 249 rng_base = tmp; |
250 rng_inc = -rng_inc; | 250 rng_inc = -rng_inc; |
251 clear_cache (); | 251 clear_cache (); |
252 } | 252 } |
272 clear_cache (); | 272 clear_cache (); |
273 reverse = true; | 273 reverse = true; |
274 } | 274 } |
275 else if (! ascending && rng_base < rng_limit && rng_inc > 0.0) | 275 else if (! ascending && rng_base < rng_limit && rng_inc > 0.0) |
276 { | 276 { |
277 double tmp = rng_limit; | 277 double tmp = max (); |
278 rng_limit = min (); | 278 rng_limit = min (); |
279 rng_base = tmp; | 279 rng_base = tmp; |
280 rng_inc = -rng_inc; | 280 rng_inc = -rng_inc; |
281 clear_cache (); | 281 clear_cache (); |
282 reverse = true; | 282 reverse = true; |