public static TruthValue make(float frequency, float confidence, bool analytic = false) { TruthValue result = new TruthValue(); result.frequency = frequency; result.confidence = confidence; result.analytic = analytic; return(result); }
public TruthValue clone() { TruthValue result = new TruthValue(); result.frequency = frequency; result.confidence = confidence; result.analytic = analytic; return(result); }
public static TruthValue calcTruthDoublePremise(TruthValue a, TruthValue b, EnumTruthFunction truthFunction) { switch (truthFunction) { case EnumTruthFunction.REVISION: return(TruthFunctions.revision(a, b)); case EnumTruthFunction.COMPARISON: return(TruthFunctions.comparison(a, b)); case EnumTruthFunction.ANALOGY: return(TruthFunctions.analogy(a, b)); case EnumTruthFunction.ANALOGYTICK: return(TruthFunctions.anonymousAnalogy(a, b)); case EnumTruthFunction.DEDUCTION2: return(TruthFunctions.desireDed(a, b)); case EnumTruthFunction.INDUCTION: return(TruthFunctions.induction(a, b)); case EnumTruthFunction.INTERSECTION: return(TruthFunctions.intersection(a, b)); // TODO< search formulas > //case EnumTruthFunction.STRUCTINT: //case EnumTruthFunction.STRUCTABD: //case EnumTruthFunction.REDUCECONJUNCTION, case EnumTruthFunction.EXEMPLIFICATION: return(TruthFunctions.exemplification(a, b)); case EnumTruthFunction.RESEMBLANCE: return(TruthFunctions.resemblance(a, b)); default: throw new Exception("Double premise truth Function called for non-double premise truth"); } }
// from https://github.com/opennars/opennars/blob/4515f1d8e191a1f097859decc65153287d5979c5/nars_core/nars/entity/TruthValue.java#L183 public bool checkEquals(TruthValue other) { return (MathMisc.checkEpsilon(confidence, other.confidence, Parameters.TRUTH_EPSILON) && MathMisc.checkEpsilon(frequency, other.frequency, Parameters.TRUTH_EPSILON)); }
/** * Calculate the absolute difference of the expectation value and that of a * given truth value * * @param t The given value * @return The absolute difference */ public float getExpDifAbs(TruthValue t) { return(Math.Abs(expectation - t.expectation)); }