comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadData.java @ 8127:8c5eb9edc3f3

Another fix for find stations in sediment load.
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 25 Aug 2014 17:14:49 +0200
parents 4a2ef6895557
children 65a938e4d92f
comparison
equal deleted inserted replaced
8126:353f93d5d9f7 8127:8c5eb9edc3f3
389 private void recursiveFindStations( 389 private void recursiveFindStations(
390 double a, double b, 390 double a, double b,
391 int lo, int hi, 391 int lo, int hi,
392 Visitor visitor 392 Visitor visitor
393 ) { 393 ) {
394 while (lo <= hi) { 394 if (lo > hi) {
395 int mid = (lo+hi)/2; 395 return;
396 Station st = stations[mid]; 396 }
397 double station = st.getStation(); 397 int mid = (lo+hi)/2;
398 if (station < a) { 398 Station st = stations[mid];
399 hi = mid-1; 399 double station = st.getStation();
400 } else if (station > b) { 400 if (station < a) {
401 lo = mid+1; 401 recursiveFindStations(a, b, mid+1, hi)
402 } else { 402 } else if (station > b) {
403 recursiveFindStations(a, b, lo, mid-1, visitor); 403 recursiveFindStations(a, b, lo, mid-1)
404 visitor.visit(st); 404 } else {
405 lo = mid+1; 405 recursiveFindStations(a, b, lo, mid-1, visitor);
406 } 406 visitor.visit(st);
407 recursiveFindStations(a, b, mid+1, hi, visitor);
407 } 408 }
408 } 409 }
409 410
410 public static final Comparator<Load> LOAD_ID_CMP = new Comparator<Load>() { 411 public static final Comparator<Load> LOAD_ID_CMP = new Comparator<Load>() {
411 @Override 412 @Override

http://dive4elements.wald.intevation.org