teichmann@5831: package org.dive4elements.river.utils; felix@1163: felix@1163: import java.util.Random; felix@1163: sascha@1678: import gnu.trove.TDoubleArrayList; felix@1163: felix@1163: public class DataUtil felix@1163: { sascha@1678: public static boolean guessWaterIncreasing(TDoubleArrayList data) { sascha@1678: return guessWaterIncreasing(data, 0.05f); felix@1163: } felix@1163: sascha@1678: public static boolean guessWaterIncreasing(TDoubleArrayList data, float factor) { sascha@1678: int N = data.size(); felix@1163: if (N < 2) return false; sascha@3076: felix@1163: int samples = (int)(factor*N) + 1; sascha@3076: felix@1163: int up = 0; sascha@3076: felix@1163: Random rand = new Random(); sascha@3076: felix@1163: for (int i = 0; i < samples; ++i) { felix@1163: int pos2 = rand.nextInt(N-1) + 1; felix@1163: int pos1 = rand.nextInt(pos2); sascha@1678: double w1 = data.getQuick(pos1); sascha@1678: double w2 = data.getQuick(pos2); felix@1163: if (w2 > w1) ++up; felix@1163: } sascha@3076: felix@1163: return up > samples/2; felix@1163: } felix@1163: } felix@1982: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :