예제 #1
0
        /// <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));
        }
예제 #2
0
 /// <summary>
 /// Constructs numeric evaluator.
 /// </summary>
 /// <param name="groundingManager">Grounding manager.</param>
 public NumericExpressionEvaluator(GroundingManager groundingManager)
 {
     GroundingManager = groundingManager;
 }