Ejemplo n.º 1
0
 public virtual bool evaluate(IFact[] left, IFact right, Rete engine)
 {
     if (function != null)
     {
         IReturnVector rv = function.executeFunction(engine, params_Renamed);
         return(rv.firstReturnValue().BooleanValue);
     }
     else if (left.Length > leftrow)
     {
         if (left[leftrow] == right)
         {
             return(false);
         }
         return(Evaluate.evaluate(operator_Renamed, left[leftrow].getSlotValue(leftIndex), right.getSlotValue(rightIndex)));
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 2
0
 /// <summary> evaluate the node's value against the slot's value. The method
 /// uses Evaluate class to perform the evaluation
 /// </summary>
 /// <param name="">factInstance
 /// </param>
 /// <param name="">engine
 /// </param>
 /// <returns>
 ///
 /// </returns>
 public virtual bool evaluate(IFact factInstance)
 {
     return(Evaluate.evaluate(operator_Renamed, factInstance.getSlotValue(slot.Id), slot.Value));
 }