comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Parameters.java @ 3126:fe9be7ccc5e8

Fixed binary search in Parameters. flys-artifacts/trunk@4727 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 20 Jun 2012 15:03:29 +0000
parents 070b76fbae46
children 79dd823733e2
comparison
equal deleted inserted replaced
3125:070b76fbae46 3126:fe9be7ccc5e8
162 double vl = value - epsilon; 162 double vl = value - epsilon;
163 double vh = value + epsilon; 163 double vh = value + epsilon;
164 164
165 TDoubleArrayList column = columns[columnIndex]; 165 TDoubleArrayList column = columns[columnIndex];
166 int lo = 0, hi = column.size()-1; 166 int lo = 0, hi = column.size()-1;
167 while (lo <= hi) { 167 while (hi >= lo) {
168 int mid = (lo + hi) >>> 1; 168 int mid = (lo + hi) >> 1;
169 double v = column.getQuick(mid); 169 double v = column.getQuick(mid);
170 if (v < vl) hi = mid - 1; 170 if (v < vl) lo = mid + 1;
171 else if (v > vh) lo = mid + 1; 171 else if (v > vh) hi = mid - 1;
172 else return mid; 172 else return mid;
173 } 173 }
174 174
175 return -(lo + 1); 175 return -(lo + 1);
176 } 176 }

http://dive4elements.wald.intevation.org