package org.societies.context.user.refinement.impl.bayesianLibrary.inference.structures.impl; import java.io.Serializable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author fran_ko * */ public class Probability implements Cloneable, Serializable{ private String[] stateInstances; private double prob; private static Logger logger = LoggerFactory.getLogger(Probability.class); public Probability(String[] states, double p) { stateInstances = states; prob = p; } public String[] getStates(){ return stateInstances; } public double getProbability(){ return prob; } public String toString() { String ergebnis = ""; for(int i=0; i<stateInstances.length;i++){ String s = (String)stateInstances[i]; ergebnis += s + "\t\t"; } ergebnis+="|\t" + prob; return ergebnis; } /** * @param d */ public void multiplyProbability(double d) { prob*=d; if (prob == Double.NaN) System.err.println("NaN in "+stateInstances); } /** * @param d */ public void setProbability(double d) { prob=d; } public Object clone(){ try{ Probability neu = (Probability)super.clone(); return neu; } catch (CloneNotSupportedException e){ logger.error(e.getLocalizedMessage()); } return null; } public void setStates(String[] input){ this.stateInstances=input; } }