示例#1
0
文件: Algebra.cs 项目: vakym/diff
        //f(x) = c*x^y => f'(x) = c*y*x^y-1  c,y - constant
        private static Expression GetDerivativeOfParametr(Expression function)
        {
            if (function is ParameterExpression)
            {
                return(Expression.Constant(1d));
            }
            var functionFeatures = FunctionFeatures.GetFeatures(function as BinaryExpression);

            return(Expression.Multiply(
                       Expression.Constant(functionFeatures.Constant * functionFeatures.Pow),
                       Expression.Call(null,
                                       typeof(Math).GetMethod("Pow"),
                                       x,
                                       Expression.Constant((functionFeatures.Pow - 1)))));
        }