diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQDay.java @ 675:8b0152363bdb

Added methods to remove NaN values. flys-artifacts/trunk@2099 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 10 Jun 2011 10:10:04 +0000
parents 478940d06876
children c501f27c1f71
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQDay.java	Fri Jun 10 09:19:27 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQDay.java	Fri Jun 10 10:10:04 2011 +0000
@@ -48,17 +48,43 @@
 
 
     public int getDay(int idx) {
-        return days.get(idx);
+        return days.getQuick(idx);
     }
 
 
     public double getW(int idx) {
-        return ws.get(idx);
+        return ws.getQuick(idx);
     }
 
 
     public double getQ(int idx) {
-        return qs.get(idx);
+        return qs.getQuick(idx);
+    }
+
+    public void removeNaNs() {
+
+        int dest = 0;
+        int N = ws.size();
+
+        for (int i = 0; i < N; ++i) {
+            double w = ws.getQuick(i);
+            double q = qs.getQuick(i);
+
+            if (Double.isNaN(w) || Double.isNaN(q)) {
+                continue;
+            }
+
+            days.setQuick(dest, days.getQuick(i));
+            ws.setQuick(dest, w);
+            qs.setQuick(dest, q);
+            ++dest;
+        }
+
+        if (dest < N) {
+            days.remove(dest, N-dest);
+            ws  .remove(dest, N-dest);
+            qs  .remove(dest, N-dest);
+        }
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org