public void Simplify_Multiplication_6()
        {
            Environment        environment = new Environment();
            ConstantSimplifier simplifier  = new ConstantSimplifier(environment);
            SyntaxNode         node        = Parser.ParseExpression("2 * 3", environment);

            Assert.AreEqual("6", simplifier.Simplify(node).ToString());
        }
        public void Simplify_Subtraction_1()
        {
            Environment        environment = new Environment();
            ConstantSimplifier simplifier  = new ConstantSimplifier(environment);
            SyntaxNode         node        = Parser.ParseExpression("2 - 1", environment);

            Assert.AreEqual("1", simplifier.Simplify(node).ToString());
        }
Ejemplo n.º 3
0
        private SyntaxNode Simplify(SyntaxNode node)
        {
            ConstantSimplifier constantSimplifier = new ConstantSimplifier(environment);

            if (node == null)
            {
                return(node);
            }
            return(constantSimplifier.Simplify(node));
        }
        public void Simplify_Subtract0_X()
        {
            Environment environment = new Environment();

            environment.AddSymbol("x");
            ConstantSimplifier simplifier = new ConstantSimplifier(environment);
            SyntaxNode         node       = Parser.ParseExpression("x - 0", environment);

            Assert.AreEqual("x", simplifier.Simplify(node).ToString());
        }
        public void Simplify_MultiplyBy1ManyTimes_X()
        {
            Environment environment = new Environment();

            environment.AddSymbol("x");
            ConstantSimplifier simplifier = new ConstantSimplifier(environment);
            SyntaxNode         node       = Parser.ParseExpression("x * 1 * 1 * 1", environment);

            Assert.AreEqual("x", simplifier.Simplify(node).ToString());
        }
        public void Simplify_ComplexAlgebraExpression_SimplifiesDivision()
        {
            Environment environment = new Environment();

            environment.AddSymbol("x");
            ConstantSimplifier simplifier = new ConstantSimplifier(environment);
            SyntaxNode         node       = Parser.ParseExpression("3 * x / 3 + 12", environment);

            Assert.AreEqual("x + 12", simplifier.Simplify(node).ToString());
        }
Ejemplo n.º 7
0
 public Derivative(Expression expression, string variable)
 {
     this.expression = expression;
     this.variable   = variable;
     simplifier      = new ConstantSimplifier(expression.GetEnvironment());
 }