Mercurial > hg > octave-avbm
comparison liboctave/oct-sort.cc @ 9400:df1ea906c1c4
a slight speed-up in oct-sort.cc
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 26 Jun 2009 11:40:34 +0200 |
parents | a5f6b5800f86 |
children | 0951174cbb03 |
comparison
equal
deleted
inserted
replaced
9399:a5f6b5800f86 | 9400:df1ea906c1c4 |
---|---|
1804 | 1804 |
1805 if (hi - lo <= nvalues + 16) | 1805 if (hi - lo <= nvalues + 16) |
1806 { | 1806 { |
1807 // Do a linear merge. | 1807 // Do a linear merge. |
1808 octave_idx_type i = lo, j = 0; | 1808 octave_idx_type i = lo, j = 0; |
1809 while (j != nvalues && i < hi) | 1809 |
1810 if (j != nvalues && i != hi) | |
1810 { | 1811 { |
1811 if (comp (values[j], data[i])) | 1812 while (true) |
1812 idx[j++] = i; | 1813 { |
1813 else | 1814 if (comp (values[j], data[i])) |
1814 i++; | 1815 { |
1816 idx[j] = i; | |
1817 if (++j == nvalues) | |
1818 break; | |
1819 } | |
1820 else if (++i == hi) | |
1821 break; | |
1822 } | |
1815 } | 1823 } |
1824 | |
1816 while (j != nvalues) | 1825 while (j != nvalues) |
1817 idx[j++] = i; | 1826 idx[j++] = i; |
1818 } | 1827 } |
1819 else | 1828 else |
1820 { | 1829 { |