/// <summary> /// Visits and evaluates numeric expression. /// </summary> /// <param name="expression">Numeric expression.</param> /// <returns>Evaluated numeric value.</returns> public double Visit(NumericFunction expression) { IAtom groundedFunctionAtom = GroundingManager.GroundAtomDeep(expression.FunctionAtom, Substitution, ReferenceState); return(ReferenceState.GetNumericFunctionValue(groundedFunctionAtom)); }
/// <summary> /// Constructs numeric evaluator. /// </summary> /// <param name="groundingManager">Grounding manager.</param> public NumericExpressionEvaluator(GroundingManager groundingManager) { GroundingManager = groundingManager; }