public class FreeQ extends AbstractCoreFunctionEvaluator
Constructor and Description |
---|
FreeQ() |
Modifier and Type | Method and Description |
---|---|
IExpr |
evaluate(IAST ast,
EvalEngine engine)
Symbolic evaluation of a function.
|
boolean |
isFreeOrderless(IAST orderless1,
IAST orderless2)
Checks if
orderless1.size() is greaterequal orderless2.size() and returns false , if
every argument in orderless2 equals an argument in orderless1 . |
numericEval, setUp
public IExpr evaluate(IAST ast, EvalEngine engine)
AbstractCoreFunctionEvaluator
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 AbstractCoreFunctionEvaluator
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 boolean isFreeOrderless(IAST orderless1, IAST orderless2)
orderless1.size()
is greaterequal orderless2.size()
and returns false
, if
every argument in orderless2
equals an argument in orderless1
. I.e. orderless1
doesn't contain every argument of orderless2
.orderless1
- orderless2
- false
if orderless1.size()
is greaterequal orderless2.size()
and if every
argument in orderless2
equals an argument in orderless1