Exemplo n.º 1
0
 public Func<double, double> Compile(string function)
 {
     var parser = new MathParser();
     Expression expression = parser.Parse(function);
     var paras = new ParameterExpression[] { Expression.Parameter(typeof(double), "x") };
     return Expression.Lambda<Func<double, double>>(expression, paras).Compile();
 }
Exemplo n.º 2
0
        public void ParseTest6() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "2^2+4";
            var output = 8d;

            // Act
            var actual = mathParser.Parse(input);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 3
0
        public void ParseTest7() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "5*5+5*3-5*5-5*3";
            var output = 0d;

            // Act
            var actual = mathParser.Parse(input);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 4
0
        public void ParseTest16() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "-1*(-(+(5*(+5)+5*(+3)-5*(+5)-5*(-3))))";
            var output = 30D;

            // Act
            var actual = mathParser.Parse(input);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 5
0
        public void ParseTest15() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "abs(-2)+exp(1)+(2)Log(4)+√(4)";
            var output = 2 + Math.E + 2 + 2;

            // Act
            var actual = mathParser.Parse(input);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 6
0
        public void ParseTest14() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "th(ch(sh(tg(cos(sin(100))))))";
            var output = 0.76165811649275783D;

            // Act
            var actual = mathParser.Parse(input, false);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 7
0
        public void ParseTest13() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "sin(cos(tg(sh(ch(th(100))))))";
            var output = 0.017452402397444194D;

            // Act
            var actual = mathParser.Parse(input, false);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 8
0
        public void ParseTest12() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "pi*1+e*2+.95";
            var output = 9.5281563105078888d;

            // Act
            var actual = mathParser.Parse(input);

            // Assert
            Assert.AreEqual(output, actual);
        }
Exemplo n.º 9
0
        public void ParseTest8() {
            // Arrange
            var mathParser = new MathParser('.');
            var input = "-5*(+5)+5*(-3)-5*(+5)-5*(-3)";
            var output = -50d;

            // Act
            var actual = mathParser.Parse(input);

            // Assert
            Assert.AreEqual(output, actual);
        }