Package org.matheclipse.core.builtin
Class PatternMatching.OptionsPattern
- java.lang.Object
-
- org.matheclipse.core.eval.interfaces.AbstractCoreFunctionEvaluator
-
- org.matheclipse.core.builtin.PatternMatching.OptionsPattern
-
- All Implemented Interfaces:
ICoreFunctionEvaluator,IFunctionEvaluator,IEvaluator
- Enclosing class:
- PatternMatching
public static final class PatternMatching.OptionsPattern extends AbstractCoreFunctionEvaluator
-
-
Field Summary
Fields Modifier and Type Field Description static PatternMatching.OptionsPatternCONST-
Fields inherited from interface org.matheclipse.core.eval.interfaces.ICoreFunctionEvaluator
ARGS_EVALUATOR
-
Fields inherited from interface org.matheclipse.core.eval.interfaces.IFunctionEvaluator
ARGS_0_0, ARGS_0_1, ARGS_0_1_0, ARGS_0_2, ARGS_0_2_0, ARGS_0_3, ARGS_0_INFINITY, ARGS_1_1, ARGS_1_2, ARGS_1_2_0, ARGS_1_2_1, ARGS_1_2_2, ARGS_1_3, ARGS_1_3_0, ARGS_1_3_1, ARGS_1_3_2, ARGS_1_4, ARGS_1_4_0, ARGS_1_4_1, ARGS_1_4_2, ARGS_1_5, ARGS_1_5_1, ARGS_1_INFINITY, ARGS_1_INFINITY_0, ARGS_1_INFINITY_1, ARGS_2_2, ARGS_2_2_1, ARGS_2_3, ARGS_2_3_0, ARGS_2_3_1, ARGS_2_3_2, ARGS_2_4, ARGS_2_4_1, ARGS_2_4_2, ARGS_2_INFINITY, ARGS_3_3, ARGS_3_4, ARGS_3_5, ARGS_3_6, ARGS_3_INFINITY, ARGS_4_4, ARGS_5_5, ARGS_6_6
-
-
Constructor Summary
Constructors Constructor Description OptionsPattern()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IExprevaluate(IAST ast, EvalEngine engine)Symbolic evaluation of a function.int[]expectedArgSize(IAST ast)At index 0 return the "from", at index 1 return the "to" number of arguments, which are expected by this function.voidsetUp(ISymbol newSymbol)Evaluate built-in rules and define Attributes for a function.-
Methods inherited from class org.matheclipse.core.eval.interfaces.AbstractCoreFunctionEvaluator
numericEval
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.matheclipse.core.interfaces.IEvaluator
await, setOptions
-
Methods inherited from interface org.matheclipse.core.eval.interfaces.IFunctionEvaluator
getOptionSymbols, numericFunction, print, status
-
-
-
-
Field Detail
-
CONST
public static final PatternMatching.OptionsPattern CONST
-
-
Method Detail
-
evaluate
public IExpr evaluate(IAST ast, EvalEngine engine)
Description copied from class:AbstractCoreFunctionEvaluatorSymbolic evaluation of a function. The methodIExpr.head()contains the head (i.e. the function symbol) of this abstract syntax tree (AST).From
ast.get(1)toast.get(n)theastcontains the first to n-th argument of the function (alternatively you get the first to fifth argument with the methodsIAST.arg1(),IAST.arg2(),IAST.arg3()...IAST.arg5().Example: the expression
Binomial(n,m)is represented as AST withast.head() <=> F.Binomial,ast.arg1() <=> nandast.arg2() <=> mIf necessary use the methods from the
Validateclass to check the number or types of arguments in the evaluate method.Note: if the symbolic evaluation isn't possible or no result is found the evaluate method returns with a
F.NILvalue without throwing an exception!- Specified by:
evaluatein interfaceIFunctionEvaluator- Specified by:
evaluatein classAbstractCoreFunctionEvaluator- Parameters:
ast- the abstract syntax tree (AST) which should be evaluatedengine- the users current evaluation engine- Returns:
- the evaluated object or
F#NIL, if evaluation isn't possible - See Also:
Validate
-
expectedArgSize
public int[] expectedArgSize(IAST ast)
Description copied from interface:IFunctionEvaluatorAt index 0 return the "from", at index 1 return the "to" number of arguments, which are expected by this function. If the returnedintarray has length 3, the function allows headers unequal to the built-in function name (i.e. the function can be in "operator form").- Parameters:
ast- the abstract syntax tree (AST) those arguments should be checked- Returns:
nullif no range for the number of arguments is specified.
-
setUp
public void setUp(ISymbol newSymbol)
Description copied from class:AbstractCoreFunctionEvaluatorEvaluate built-in rules and define Attributes for a function.- Specified by:
setUpin interfaceIEvaluator- Overrides:
setUpin classAbstractCoreFunctionEvaluator- Parameters:
newSymbol- the symbol which should be set up
-
-