Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java @ 662:60f24fca574a
BackJumpCorrector: Simpified array swapping.
flys-artifacts/trunk@2072 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 07 Jun 2011 21:01:09 +0000 |
parents | 44175d4720f8 |
children | d5f9ba1d055f |
comparison
equal
deleted
inserted
replaced
661:fdc898a134a7 | 662:60f24fca574a |
---|---|
262 } | 262 } |
263 | 263 |
264 return array; | 264 return array; |
265 } | 265 } |
266 | 266 |
267 public static final double [] swapClone(double [] array) { | 267 public static final double [] swapClone(double [] in) { |
268 double [] out = new double[array.length]; | 268 double [] out = new double[in.length]; |
269 int lo = 0; | 269 |
270 | 270 for (int j = out.length-1, i = 0; j >= 0;) { |
271 int hi = array.length-1; | 271 out[j--] = in[i++]; |
272 while (hi > lo) { | 272 } |
273 out[lo] = array[hi]; | 273 |
274 out[hi] = array[lo]; | |
275 ++lo; | |
276 --hi; | |
277 } | |
278 return out; | 274 return out; |
279 } | 275 } |
280 | 276 |
281 public static final double [] sumDiffs(double [] in) { | 277 public static final double [] sumDiffs(double [] in) { |
282 double [] out = new double[in.length]; | 278 double [] out = new double[in.length]; |
283 | 279 |
284 if (out.length > 0) { | |
285 out[0] = 0d; | |
286 } | |
287 | |
288 for (int i = 1; i < out.length; ++i) { | 280 for (int i = 1; i < out.length; ++i) { |
289 out[i] = out[i-1] + Math.abs(in[i-1] - in[i]); | 281 out[i] = out[i-1] + Math.abs(in[i-1] - in[i]); |
290 } | 282 } |
291 | 283 |
292 return out; | 284 return out; |