diff 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
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java	Mon May 02 15:17:04 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java	Mon May 02 16:28:57 2011 +0000
@@ -284,11 +284,13 @@
 
         WQKms[] wqkms = new WQKms[qs.length];
         for (int i = 0; i < wqkms.length; i++) {
-            wqkms[i] = new WQKms();
+            wqkms[i] = new WQKms(kms.length);
         }
 
+        double [] interpolatedW = new double[qs.length];
+
         for (double km: kms) {
-            double[] interpolatedW = wst.interpolateW(km, qs);
+            wst.interpolateW(km, qs, interpolatedW);
 
             // TODO Modify the interpolation to return a better formed data
             // structure.

http://dive4elements.wald.intevation.org