public override object Evaluate() { CPolynomial poly1 = LeftExpression.EvaluateAsCPolynomial(); CPolynomial poly2 = RightExpression.EvaluateAsCPolynomial(); return(new CMatrix(CPolynomial.Modulus(poly1, poly2).ToArray())); }
public override object Evaluate() { CPolynomial poly = LeftExpression.EvaluateAsCPolynomial(); int order = RightExpression.EvaluateAsInt32(); return(new CMatrix(poly.NthDerivative(order).ToArray())); }
public override object Evaluate() { CPolynomial poly = LeftExpression.EvaluateAsCPolynomial(); Object x = RightExpression.Evaluate(); if (x is Complex) { return(poly.Evaluate((Complex)x)); } else if (x is CMatrix) { return(poly.Evaluate((CMatrix)x)); } else { throw ExceptionHelper.ThrowWrongArgumentType(x); } }