package de.tu.darmstadt.seemoo.ansian.model; import java.util.BitSet; import android.util.Log; public class ErrorBitSet extends BitSet { /** * */ private static final long serialVersionUID = -5148101260177507175L; private BitSet bits; private int index; private boolean filled; private int size; private float threshold = 0.5f; public ErrorBitSet(int size) { filled = false; index = 0; this.size = size; bits = new BitSet(size); } public void setBit(boolean b) { if (index == size) { index = 0; filled = true; } bits.set(index, b); index++; } public float getSuccessRate() { Log.d("ERROR", "c: " + bits.cardinality() + " size: " + size + " index: " + index); if (filled) return (float) bits.cardinality() / size; else return (float) bits.cardinality() / index; } public float getErrorRate() { return 1f - getSuccessRate(); } public boolean checkStats() { if (filled) if (getSuccessRate() < threshold) return false; return true; } }