Пример #1
0
        /// <summary>
        /// Differentiates the specified expression.
        /// </summary>
        /// <param name="expression">The expression.</param>
        /// <param name="variable">The variable.</param>
        /// <param name="parameters">The parameters.</param>
        /// <returns>
        /// Returns the derivative.
        /// </returns>
        public IExpression Differentiate(IExpression expression, Variable variable, ExpressionParameters parameters)
        {
            Differentiator.Variable   = variable;
            Differentiator.Parameters = parameters;

            return(expression.Analyze(Differentiator));
        }
Пример #2
0
        private void SimpleTest(IExpression exp, IExpression expected)
        {
            var simple = exp.Analyze(simplifier);

            Assert.Equal(expected, simple);
        }
Пример #3
0
 private IExpression Differentiate(IExpression exp, Variable variable, ExpressionParameters parameters)
 {
     return exp.Analyze(new Differentiator(parameters, variable));
 }
Пример #4
0
 /// <summary>
 /// Simplifies the <paramref name="expression"/>.
 /// </summary>
 /// <param name="expression">A expression to simplify.</param>
 /// <returns>A simplified expression.</returns>
 public IExpression Simplify(IExpression expression)
 {
     return(expression.Analyze(Simplifier));
 }
Пример #5
0
 private IExpression Differentiate(IExpression exp, Variable variable)
 {
     return exp.Analyze(new Differentiator(variable));
 }
Пример #6
0
 private IExpression Differentiate(IExpression exp)
 {
     return exp.Analyze(new Differentiator());
 }
Пример #7
0
 protected void TestException(IExpression exp)
 {
     Assert.Throws <ParameterTypeMismatchException>(() => exp.Analyze(analyzer));
 }
Пример #8
0
        protected void Test(IExpression exp, ResultType expected)
        {
            var simple = exp.Analyze(analyzer);

            Assert.Equal(expected, simple);
        }
Пример #9
0
        private void SimpleTest(IExpression exp, IExpression expected)
        {
            var simple = exp.Analyze(simplifier);

            Assert.Equal(expected, simple);
        }