package org.singinst.uf.model;
public class AtLeastOneHappensCalculation extends CompositeCalculation {
public AtLeastOneHappensCalculation(String description,
Evaluable... calculations) {
super(description, calculations);
}
@Override
protected double rawEvaluate(StringBuilder htmlConsole) {
double probabilityOfNot = 1;
for (Evaluable calculation : getCalculations()) {
probabilityOfNot *= (1 - calculation.evaluate(htmlConsole));
}
htmlConsole.append(getDescription());
return 1 - probabilityOfNot;
}
}