public class DoubleEvaluator extends Object
double numbers.
Use the expression syntax describe here: https://meta.wikimedia.org/wiki/Help:ParserFunctions#.23expr:| Modifier and Type | Field and Description |
|---|---|
static double |
EPSILON
A "close to zero" double epsilon value for use to compare with 0.0
|
static double |
EPSILON_ROUND
A "close to zero" double epsilon value for use in the Round function
|
| Constructor and Description |
|---|
DoubleEvaluator() |
DoubleEvaluator(ASTNode node) |
| Modifier and Type | Method and Description |
|---|---|
double |
evalStep(String expression) |
double |
evaluate()
Reevaluate the
expression (possibly after a new Variable
assignment) |
double |
evaluate(String expression)
Parse the given
expression String and evaluate it to a double
value |
double |
evaluateFunction(FunctionNode functionNode)
Evaluate an already parsed in
FunctionNode into a
souble number value. |
boolean |
evaluateFunctionLogical(FunctionNode functionNode) |
double |
evaluateNode(ASTNode node)
Evaluate an already parsed in abstract syntax tree node into a
double number value. |
boolean |
evaluateNodeLogical(ASTNode node) |
ASTNode |
optimizeFunction(FunctionNode functionNode)
Optimize an already parsed in
functionNode into an
ASTNode. |
ASTNode |
parse(String expression)
Parse the given
expression String and store the resulting
ASTNode in this DoubleEvaluator |
static ASTNode |
parseNode(String expression)
Parse the given
expression String and return the resulting
ASTNode |
public static double EPSILON
public static double EPSILON_ROUND
public DoubleEvaluator()
public DoubleEvaluator(ASTNode node)
public ASTNode parse(String expression)
expression String and store the resulting
ASTNode in this DoubleEvaluatorexpression - SyntaxErrorpublic static ASTNode parseNode(String expression)
expression String and return the resulting
ASTNodeexpression - SyntaxErrorpublic double evalStep(String expression)
public double evaluate(String expression)
expression String and evaluate it to a double
valueexpression - SyntaxErrorpublic double evaluate()
expression (possibly after a new Variable
assignment)expression - SyntaxErrorpublic double evaluateNode(ASTNode node)
double number value.node - abstract syntax tree nodeArithmeticException - if the node cannot be evaluated.public double evaluateFunction(FunctionNode functionNode)
FunctionNode into a
souble number value.functionNode - ArithmeticException - if the functionNode cannot be evaluated.public boolean evaluateNodeLogical(ASTNode node)
public boolean evaluateFunctionLogical(FunctionNode functionNode)
public ASTNode optimizeFunction(FunctionNode functionNode)
functionNode into an
ASTNode.functionNode - Copyright © 2017 Java Wikipedia API (Bliki engine). All rights reserved.