Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Sieve.java @ 3926:e20307be4cc3
Fix issue863.
flys-artifacts/trunk@5618 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 27 Sep 2012 12:58:55 +0000 |
parents | 3c61d9e64ca0 |
children | a9c93b7c9da1 |
line wrap: on
line source
package de.intevation.flys.artifacts.model.sq; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Sieve { public double [] fractionSizes; protected List<List<SQ>> fractions; public Sieve() { } public Sieve(double [] fractionSizes) { this.fractionSizes = fractionSizes; fractions = new ArrayList<List<SQ>>(fractionSizes.length+1); for (int i = fractionSizes.length; i >= 0; --i) { fractions.add(new ArrayList<SQ>()); } } public void sieve(Iterator<SQ> sqs) { OUTER: while (sqs.hasNext()) { SQ sq = sqs.next(); double q = sq.getQ(); for (int i = 0; i < fractionSizes.length; ++i) { if (q < fractionSizes[i]) { fractions.get(i).add(sq); continue OUTER; } } fractions.get(fractions.size()-1).add(sq); } } public int numFractions() { return fractions.size(); } public List<SQ> getFraction(int idx) { return fractions.get(idx); } public void reset() { for (List<SQ> fraction: fractions) { fraction.clear(); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :