public virtual ReturnVector executeFunction(Rete engine, Parameter[] params_Renamed) { System.Decimal bdval = new System.Decimal(0); if (params_Renamed != null) { if (params_Renamed[0] is ValueParam) { bdval = params_Renamed[0].BigDecimalValue; } else if (params_Renamed[0] is BoundParam) { BoundParam bp = (BoundParam)params_Renamed[0]; bdval = (System.Decimal)engine.getBinding(bp.VariableName); } else if (params_Renamed[0] is FunctionParam2) { FunctionParam2 n = (FunctionParam2)params_Renamed[0]; n.Engine = engine; n.lookUpFunction(); ReturnVector rval = (ReturnVector)n.Value; bdval = rval.firstReturnValue().BigDecimalValue; } for (int idx = 1; idx < params_Renamed.Length; idx++) { if (params_Renamed[idx] is ValueParam) { ValueParam n = (ValueParam)params_Renamed[idx]; System.Decimal bd = n.BigDecimalValue; bdval = System.Decimal.Multiply(bdval, bd); } else if (params_Renamed[idx] is FunctionParam2) { FunctionParam2 n = (FunctionParam2)params_Renamed[idx]; n.Engine = engine; n.lookUpFunction(); ReturnVector rval = (ReturnVector)n.Value; System.Decimal bd = rval.firstReturnValue().BigDecimalValue; if (idx == 0) { bdval = bd; } else { bdval = System.Decimal.Multiply(bdval, bd); } } } } DefaultReturnVector ret = new DefaultReturnVector(); DefaultReturnValue rv = new DefaultReturnValue(Constants.BIG_DECIMAL, bdval); ret.addReturnValue(rv); return(ret); }
public virtual ReturnVector executeFunction(Rete engine, Parameter[] params_Renamed) { System.Decimal bdval = new System.Decimal(0); bool eval = false; if (params_Renamed.Length == 1) { bdval = (System.Decimal)params_Renamed[0].getValue(engine, Constants.BIG_DECIMAL); double bdh = System.Decimal.ToDouble(bdval); if (bdh % 2 == 1) { eval = true; } } DefaultReturnVector ret = new DefaultReturnVector(); DefaultReturnValue rv = new DefaultReturnValue(Constants.BOOLEAN_OBJECT, eval); ret.addReturnValue(rv); return(ret); }
public virtual ReturnVector executeFunction(Rete engine, Parameter[] params_Renamed) { System.Decimal bdval = new System.Decimal(0); bool eval = false; if (params_Renamed.Length == 1) { bdval = (System.Decimal) params_Renamed[0].getValue(engine, Constants.BIG_DECIMAL); double bdh = System.Decimal.ToDouble(bdval); if (bdh % 2 == 1) { eval = true; } } DefaultReturnVector ret = new DefaultReturnVector(); DefaultReturnValue rv = new DefaultReturnValue(Constants.BOOLEAN_OBJECT, eval); ret.addReturnValue(rv); return ret; }
public virtual ReturnVector executeFunction(Rete engine, Parameter[] params_Renamed) { System.Decimal bdval = new System.Decimal(0); if (params_Renamed != null) { if (params_Renamed[0] is ValueParam) { bdval = params_Renamed[0].BigDecimalValue; } else if (params_Renamed[0] is BoundParam) { BoundParam bp = (BoundParam) params_Renamed[0]; bdval = (System.Decimal) engine.getBinding(bp.VariableName); } else if (params_Renamed[0] is FunctionParam2) { FunctionParam2 n = (FunctionParam2) params_Renamed[0]; n.Engine = engine; n.lookUpFunction(); ReturnVector rval = (ReturnVector) n.Value; bdval = rval.firstReturnValue().BigDecimalValue; } for (int idx = 1; idx < params_Renamed.Length; idx++) { if (params_Renamed[idx] is ValueParam) { ValueParam n = (ValueParam) params_Renamed[idx]; System.Decimal bd = n.BigDecimalValue; bdval = System.Decimal.Multiply(bdval, bd); } else if (params_Renamed[idx] is FunctionParam2) { FunctionParam2 n = (FunctionParam2) params_Renamed[idx]; n.Engine = engine; n.lookUpFunction(); ReturnVector rval = (ReturnVector) n.Value; System.Decimal bd = rval.firstReturnValue().BigDecimalValue; if (idx == 0) { bdval = bd; } else { bdval = System.Decimal.Multiply(bdval, bd); } } } } DefaultReturnVector ret = new DefaultReturnVector(); DefaultReturnValue rv = new DefaultReturnValue(Constants.BIG_DECIMAL, bdval); ret.addReturnValue(rv); return ret; }