Ejemplo n.º 1
0
        public static bool IsQuadraticTerm(this Term term)
        {
            if (term == null)
            {
                return(false);
            }
            if (!term.ContainsVar())
            {
                return(false);
            }
            var cond1 = term.Op == Expression.Power;
            var lst   = term.Args as List <object>;

            if (lst == null || lst.Count != 2)
            {
                return(false);
            }
            var isNum = LogicSharp.IsNumeric(lst[1]);

            if (!isNum)
            {
                return(false);
            }
            double number;

            LogicSharp.IsDouble(lst[1], out number);
            var cond2 = number.Equals(2.0);

            return(cond1 && cond2);
        }
Ejemplo n.º 2
0
        public void Test_containVar()
        {
            var variable = new Var('x');
            var term = new Term(Expression.Add, new Tuple<object, object>(variable, 2));
            Assert.True(term.ContainsVar(variable));

            var term2 = new Term(Expression.Add, new Tuple<object, object>(term, 1.0));
            Assert.True(term2.ContainsVar(variable));
        }