Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/W.java @ 4838:ac9a3d9576b4
merged.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 23 Jan 2013 11:15:35 +0100 |
parents | bcf25d8c183e |
children |
comparison
equal
deleted
inserted
replaced
4837:9e25c7523485 | 4838:ac9a3d9576b4 |
---|---|
1 package de.intevation.flys.artifacts.model; | 1 package de.intevation.flys.artifacts.model; |
2 | 2 |
3 import de.intevation.flys.utils.DataUtil; | 3 import de.intevation.flys.utils.DataUtil; |
4 import de.intevation.flys.utils.DoubleUtil; | |
4 | 5 |
5 import gnu.trove.TDoubleArrayList; | 6 import gnu.trove.TDoubleArrayList; |
6 | 7 |
7 import org.apache.log4j.Logger; | 8 import org.apache.log4j.Logger; |
8 | 9 |
58 | 59 |
59 public double minWs() { | 60 public double minWs() { |
60 return ws.min(); | 61 return ws.min(); |
61 } | 62 } |
62 | 63 |
63 public static void removeNaNs(TDoubleArrayList [] arrays) { | |
64 | |
65 int dest = 0; | |
66 | |
67 int A = arrays.length; | |
68 int N = arrays[0].size(); | |
69 | |
70 OUTER: for (int i = 0; i < N; ++i) { | |
71 for (int j = 0; j < A; ++j) { | |
72 TDoubleArrayList a = arrays[j]; | |
73 double v = a.getQuick(i); | |
74 if (Double.isNaN(v)) { | |
75 continue OUTER; | |
76 } | |
77 a.setQuick(dest, v); | |
78 } | |
79 ++dest; | |
80 } | |
81 | |
82 if (dest < N) { | |
83 for (int i = 0; i < A; ++i) { | |
84 arrays[i].remove(dest, N-dest); | |
85 } | |
86 } | |
87 } | |
88 | |
89 public void removeNaNs() { | 64 public void removeNaNs() { |
90 removeNaNs(new TDoubleArrayList [] { ws }); | 65 DoubleUtil.removeNaNs(new TDoubleArrayList [] { ws }); |
91 } | 66 } |
92 | 67 |
93 public boolean guessWaterIncreasing() { | 68 public boolean guessWaterIncreasing() { |
94 return guessWaterIncreasing(0.05f); | 69 return guessWaterIncreasing(0.05f); |
95 } | 70 } |