Mercurial > dive4elements > river
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 } |