summaryrefslogtreecommitdiff
path: root/java/src/org/singinst/uf/model/AtLeastOneHappensCalculation.java
blob: 27909ab731f39a75eb435eb3989b9e1888cb5d5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
	}
}