public class Cancel extends AbstractFunctionEvaluator
Constructor and Description |
---|
Cancel() |
Modifier and Type | Method and Description |
---|---|
static IExpr[] |
cancelGCD(IExpr poly1,
IExpr poly2)
Calculate the 3 elements result array
[ commonFactor, poly1.divide(gcd(poly1, poly2)), poly2.divide(gcd(poly1, poly2)) ]
for the given expressions poly1 and poly2 . |
static IExpr |
cancelPowerTimes(IExpr powerTimesAST) |
IExpr |
evaluate(IAST ast,
EvalEngine engine)
Symbolic evaluation of a function.
|
void |
setUp(ISymbol symbol)
Evaluate built-in rules and define Attributes for a function.
|
createRuleFromMethod, getNormalizedNegativeExpression, getNormalizedNegativeExpression, getPeriodicParts, getPureImaginaryPart, getRuleAST, initSerializedRules, isNegativeExpression
numericEval
public IExpr evaluate(IAST ast, EvalEngine engine)
AbstractFunctionEvaluator
ast.get(0)
(or alternatively ast.head()
) contains the
head (i.e. the function symbol) of this abstract syntax tree (AST). ast.arg1()
to ast.get(n)
the ast
contains the first to n-th argument of the
function (alternatively you get the first to fifth argument with the methods arg1()
, arg2()
,...
arg5()
).Validate
class to check the number or types of arguments in the evaluate
method.null
value without throwing an exception!evaluate
in interface IFunctionEvaluator
evaluate
in class AbstractFunctionEvaluator
ast
- the abstract syntax tree (AST) which should be evaluatedengine
- the users current evaluation enginenull
, if evaluation isn't possibleValidate
,
IExpr.head()
,
IAST.arg1()
,
IAST.arg2()
,
IAST.arg3()
public static IExpr cancelPowerTimes(IExpr powerTimesAST) throws JASConversionException
powerTimesAST
- an Times[...] or Power[...]
AST, where common
factors should be canceled out.F.NIL
is no evaluation was possibleJASConversionException
public static IExpr[] cancelGCD(IExpr poly1, IExpr poly2) throws JASConversionException
[ commonFactor, poly1.divide(gcd(poly1, poly2)), poly2.divide(gcd(poly1, poly2)) ]
for the given expressions poly1
and poly2
.poly1
- a BigRational
polynomial which could be converted
to JAS polynomialpoly2
- a BigRational
polynomial which could be converted
to JAS polynomialnull
if the expressions couldn't be converted to JAS
polynomials or gcd equals 1JASConversionException
public void setUp(ISymbol symbol) throws SyntaxError
AbstractFunctionEvaluator
setUp
in interface IEvaluator
setUp
in class AbstractFunctionEvaluator
symbol
- the symbol which should be set upSyntaxError