Class Evaluator<NumberT>
java.lang.Object
dk.jonaslindstrom.arithmeticparser.Evaluator<NumberT>
- Type Parameters:
NumberT
-
This class can evaluate expressions parsed to reverse polish notation using the
Parser
class.-
Constructor Summary
ConstructorsConstructorDescriptionEvaluator
(Map<String, MultiOperator<NumberT>> functions, Map<String, java.util.function.BinaryOperator<NumberT>> operators, NumberParser<NumberT> parser) -
Method Summary
Modifier and TypeMethodDescriptionstatic Double
static Double
evaluate
(String expression, Map<String, Double> variables, Map<String, MultiOperator<Double>> functions) Given an expression as a list of tokens in RPN (reverse Polish Notation), this evaluator computes the result.getDefault
(Map<String, MultiOperator<Double>> functions) static <E> Evaluator<E>
getField
(Field<E> field, java.util.function.Function<String, E> parser, Map<String, MultiOperator<E>> functions) static <E> Evaluator<E>
getRing
(Ring<E> field, java.util.function.Function<String, E> parser, Map<String, MultiOperator<E>> functions)
-
Constructor Details
-
Evaluator
public Evaluator(Map<String, MultiOperator<NumberT>> functions, Map<String, java.util.function.BinaryOperator<NumberT>> operators, NumberParser<NumberT> parser)
-
-
Method Details
-
getDefault
-
getDefault
-
getField
-
getRing
-
evaluate
-
evaluate
-
evaluate
public NumberT evaluate(List<Token> expression, Map<String, NumberT> variables) throws EvaluationExceptionGiven an expression as a list of tokens in RPN (reverse Polish Notation), this evaluator computes the result.- Parameters:
expression
-- Returns:
- Throws:
EvaluationException
-