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;

http://dive4elements.wald.intevation.org