Ejemplo n.º 1
0
 private static void getTriggers(XPathExpression x, List <TreeReference> v)
 {
     if (x is XPathPathExpr)
     {
         TreeReference ref_ = ((XPathPathExpr)x).getReference();
         if (!v.Contains(ref_))
         {
             v.Add(ref_);
         }
     }
     else if (x is XPathBinaryOpExpr)
     {
         getTriggers(((XPathBinaryOpExpr)x).a, v);
         getTriggers(((XPathBinaryOpExpr)x).b, v);
     }
     else if (x is XPathUnaryOpExpr)
     {
         getTriggers(((XPathUnaryOpExpr)x).a, v);
     }
     else if (x is XPathFuncExpr)
     {
         XPathFuncExpr fx = (XPathFuncExpr)x;
         for (int i = 0; i < fx.args.Length; i++)
         {
             getTriggers(fx.args[i], v);
         }
     }
 }
Ejemplo n.º 2
0
        private void evaluatePivot(CmpPivot pivot, IConditionExpr conditional, EvaluationContext c, FormInstance instance)
        {
            double unit = this.unit();
            double val  = pivot.Val;
            double lt   = val - unit;
            double gt   = val + unit;

            c.isConstraint = true;


            c.candidateValue = (IAnswerData)(Object)castToValue(val);
            Boolean eq = XPathFuncExpr.toBoolean(conditional.eval(instance, c));

            c.candidateValue = (IAnswerData)(Object)castToValue(lt);
            Boolean ltr = XPathFuncExpr.toBoolean(conditional.eval(instance, c));

            c.candidateValue = (IAnswerData)(Object)castToValue(gt);
            Boolean gtr = XPathFuncExpr.toBoolean(conditional.eval(instance, c));

            if (ltr && !gtr)
            {
                max          = (Double)(val);
                maxInclusive = eq;
            }

            if (!ltr && gtr)
            {
                min          = (Double)(val);
                minInclusive = eq;
            }
        }
Ejemplo n.º 3
0
 public String evalReadable(FormInstance model, EvaluationContext evalContext)
 {
     return(XPathFuncExpr.ToString(evalRaw(model, evalContext)));
 }
Ejemplo n.º 4
0
 public Boolean eval(FormInstance model, EvaluationContext evalContext)
 {
     return(XPathFuncExpr.toBoolean(evalRaw(model, evalContext)));
 }
Ejemplo n.º 5
0
 public Object evalRaw(FormInstance model, EvaluationContext evalContext)
 {
     return(XPathFuncExpr.unpack(expr.eval(model, evalContext)));
 }
Ejemplo n.º 6
0
        protected DateData castToValue(double value)
        {
            DateTime dt = (DateTime)XPathFuncExpr.toDate((Double)(Math.Floor(value)));

            return(new DateData(ref dt));
        }