comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java @ 380:5f55047a17e8

Moved expensive allocation of result arrays out of km loop. flys-artifacts/trunk@1795 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 02 May 2011 16:28:57 +0000
parents 0ccf7200fc51
children 478940d06876
comparison
equal deleted inserted replaced
379:c21fb8de54f8 380:5f55047a17e8
282 { 282 {
283 logger.info("WINFOArtifact.computeWaterlevelData"); 283 logger.info("WINFOArtifact.computeWaterlevelData");
284 284
285 WQKms[] wqkms = new WQKms[qs.length]; 285 WQKms[] wqkms = new WQKms[qs.length];
286 for (int i = 0; i < wqkms.length; i++) { 286 for (int i = 0; i < wqkms.length; i++) {
287 wqkms[i] = new WQKms(); 287 wqkms[i] = new WQKms(kms.length);
288 } 288 }
289
290 double [] interpolatedW = new double[qs.length];
289 291
290 for (double km: kms) { 292 for (double km: kms) {
291 double[] interpolatedW = wst.interpolateW(km, qs); 293 wst.interpolateW(km, qs, interpolatedW);
292 294
293 // TODO Modify the interpolation to return a better formed data 295 // TODO Modify the interpolation to return a better formed data
294 // structure. 296 // structure.
295 for (int i = 0; i < interpolatedW.length; i++) { 297 for (int i = 0; i < interpolatedW.length; i++) {
296 wqkms[i].add(interpolatedW[i], qs[i], km); 298 wqkms[i].add(interpolatedW[i], qs[i], km);

http://dive4elements.wald.intevation.org