diff flys-artifacts/src/main/java/de/intevation/flys/utils/DoubleUtil.java @ 4821:bcf25d8c183e

Moved NaN removal code from W to DoubleUtil. Create QKms when calculating the 'Umhuellende'.
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 21 Jan 2013 14:03:22 +0100
parents 5b8919ef601d
children 5f70c73b11ed
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/utils/DoubleUtil.java	Mon Jan 21 12:49:44 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/DoubleUtil.java	Mon Jan 21 14:03:22 2013 +0100
@@ -209,5 +209,31 @@
         }
         return max;
     }
+
+    public static void removeNaNs(TDoubleArrayList [] arrays) {
+
+        int dest = 0;
+
+        int A = arrays.length;
+        int N = arrays[0].size();
+
+        OUTER: for (int i = 0; i < N; ++i) {
+            for (int j = 0; j < A; ++j) {
+                TDoubleArrayList a = arrays[j];
+                double v = a.getQuick(i);
+                if (Double.isNaN(v)) {
+                    continue OUTER;
+                }
+                a.setQuick(dest, v);
+            }
+            ++dest;
+        }
+
+        if (dest < N) {
+            for (int i = 0; i < A; ++i) {
+                arrays[i].remove(dest, N-dest);
+            }
+        }
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org