Update of /cvsroot/trove4j/trove/src/gnu/trove In directory sc8-pr-cvs1:/tmp/cvs-serv10189 Modified Files: TDoubleArrayList.java TFloatArrayList.java TIntArrayList.java TIntArrayListTests.java TLongArrayList.java gen_primitive_list.pl Log Message: fixed bug in min/max methods on primitive array lists also removed call to Math.min|max methods Index: TDoubleArrayList.java =================================================================== RCS file: /cvsroot/trove4j/trove/src/gnu/trove/TDoubleArrayList.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** TDoubleArrayList.java 13 Aug 2003 02:18:01 -0000 1.13 --- TDoubleArrayList.java 9 Nov 2003 09:02:11 -0000 1.14 *************** *** 814,818 **** double max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! max = Math.max(max, _data[_pos]); } return max; --- 814,820 ---- double max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] > max) { ! max = _data[i]; ! } } return max; *************** *** 831,835 **** double min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! min = Math.min(min, _data[_pos]); } return min; --- 833,839 ---- double min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] < min) { ! min = _data[i]; ! } } return min; Index: TFloatArrayList.java =================================================================== RCS file: /cvsroot/trove4j/trove/src/gnu/trove/TFloatArrayList.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** TFloatArrayList.java 13 Aug 2003 02:18:01 -0000 1.13 --- TFloatArrayList.java 9 Nov 2003 09:02:11 -0000 1.14 *************** *** 814,818 **** float max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! max = Math.max(max, _data[_pos]); } return max; --- 814,820 ---- float max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] > max) { ! max = _data[i]; ! } } return max; *************** *** 831,835 **** float min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! min = Math.min(min, _data[_pos]); } return min; --- 833,839 ---- float min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] < min) { ! min = _data[i]; ! } } return min; Index: TIntArrayList.java =================================================================== RCS file: /cvsroot/trove4j/trove/src/gnu/trove/TIntArrayList.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** TIntArrayList.java 13 Aug 2003 02:18:01 -0000 1.11 --- TIntArrayList.java 9 Nov 2003 09:02:11 -0000 1.12 *************** *** 818,822 **** int max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! max = Math.max(max, _data[_pos]); } return max; --- 818,824 ---- int max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] > max) { ! max = _data[i]; ! } } return max; *************** *** 835,839 **** int min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! min = Math.min(min, _data[_pos]); } return min; --- 837,843 ---- int min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] < min) { ! min = _data[i]; ! } } return min; Index: TIntArrayListTests.java =================================================================== RCS file: /cvsroot/trove4j/trove/src/gnu/trove/TIntArrayListTests.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TIntArrayListTests.java 13 Aug 2003 02:18:01 -0000 1.7 --- TIntArrayListTests.java 9 Nov 2003 09:02:11 -0000 1.8 *************** *** 399,402 **** --- 399,416 ---- } + public void testMin() { + TIntArrayList l1; + l1 = new TIntArrayList(); + l1.add(new int[] { 1, 2, -6, 3, 4 }); + assertEquals(-6, l1.min()); + } + + public void testMax() { + TIntArrayList l1; + l1 = new TIntArrayList(); + l1.add(new int[] { 1, 2, -6, 3, 4, -9, 0 }); + assertEquals(4, l1.max()); + } + public void testSerialization() throws Exception { list.add(new int[] { -1, 0, 33, 14, -97, 7 }); Index: TLongArrayList.java =================================================================== RCS file: /cvsroot/trove4j/trove/src/gnu/trove/TLongArrayList.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** TLongArrayList.java 13 Aug 2003 02:18:01 -0000 1.13 --- TLongArrayList.java 9 Nov 2003 09:02:11 -0000 1.14 *************** *** 814,818 **** long max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! max = Math.max(max, _data[_pos]); } return max; --- 814,820 ---- long max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] > max) { ! max = _data[i]; ! } } return max; *************** *** 831,835 **** long min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! min = Math.min(min, _data[_pos]); } return min; --- 833,839 ---- long min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] < min) { ! min = _data[i]; ! } } return min; Index: gen_primitive_list.pl =================================================================== RCS file: /cvsroot/trove4j/trove/src/gnu/trove/gen_primitive_list.pl,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** gen_primitive_list.pl 13 Aug 2003 02:18:01 -0000 1.9 --- gen_primitive_list.pl 9 Nov 2003 09:02:11 -0000 1.10 *************** *** 835,839 **** <type> max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! max = Math.max(max, _data[_pos]); } return max; --- 835,841 ---- <type> max = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] > max) { ! max = _data[i]; ! } } return max; *************** *** 852,856 **** <type> min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! min = Math.min(min, _data[_pos]); } return min; --- 854,860 ---- <type> min = _data[_pos - 1]; for (int i = _pos - 1; i-- > 0;) { ! if (_data[i] < min) { ! min = _data[i]; ! } } return min; |