/** * Gets argument vale. * * @param argumentName the argument name * * @return Argument value if argument name was found, * otherwise return Double.NaN. */ public double getArgumentValue(String argumentName) { int argumentIndex = getArgumentIndex(argumentName); if (argumentIndex != NOT_FOUND) return argumentsList.get(argumentIndex).getArgumentValue(); else return Double.NaN; } /**
/** * Free Arguments handling. * * @param pos the token position */ private void FREE_ARGUMENT(int pos) { Argument argument = argumentsList.get( tokensList.get(pos).tokenId); boolean argumentVerboseMode = argument.getVerboseMode(); if (verboseMode == true) argument.setVerboseMode(); setToNumber(pos, argument.getArgumentValue()); if (argumentVerboseMode == false) argument.setSilentMode(); } /**
@Override protected void testScenario() { Argument x = new Argument("x", 2); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; x = new Argument("x", 5); } x.getArgumentValue(); } }
@Override protected void testScenario() { Argument x = new Argument("x", 2); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; x = new Argument("x=5"); } x.getArgumentValue(); } }
/** * Forward difference(h) operator (at x = x0) * * @param f the expression * @param h the difference * @param x the argument name * @param x0 x = x0 * * @return Forward difference(h) value calculated at x0. * * @see Expression * @see Argument */ public static final double forwardDifference(Expression f, double h, Argument x, double x0) { if (Double.isNaN(x0)) return Double.NaN; double xb = x.getArgumentValue(); double delta = mXparser.getFunctionValue(f, x, x0+h) - mXparser.getFunctionValue(f, x, x0); x.setArgumentValue(xb); return delta; } /**
/** * Backward difference(1) operator (at x = x0). * * @param f the expression * @param x the argument name * @param x0 x = x0 * * @return Backward difference value calculated at x0. * * @see Expression * @see Argument */ public static final double backwardDifference(Expression f, Argument x, double x0) { if (Double.isNaN(x0)) return Double.NaN; double xb = x.getArgumentValue(); double delta = mXparser.getFunctionValue(f, x, x0) - mXparser.getFunctionValue(f, x, x0-1); x.setArgumentValue(xb); return delta; } /**
double argumentValue = argument.getArgumentValue(); int tokensListSizeAfter = tokensList.size(); if (tokensListSizeBefore == tokensListSizeAfter) {
/** * Backward difference(h) operator (at x = x0) * * @param f the expression * @param h the difference * @param x the argument name * @param x0 x = x0 * * @return Backward difference(h) value calculated at x0. * * @see Expression * @see Argument */ public static final double backwardDifference(Expression f, double h, Argument x, double x0) { if (Double.isNaN(x0)) return Double.NaN; double xb = x.getArgumentValue(); double delta = mXparser.getFunctionValue(f, x, x0) - mXparser.getFunctionValue(f, x, x0-h); x.setArgumentValue(xb); return delta; } /**
/** * Forward difference(1) operator (at x = x0) * * @param f the expression * @param x the argument name * @param x0 x = x0 * * @return Forward difference(1) value calculated at x0. * * @see Expression * @see Argument */ public static final double forwardDifference(Expression f, Argument x, double x0) { if (Double.isNaN(x0)) return Double.NaN; double xb = x.getArgumentValue(); double delta = mXparser.getFunctionValue(f, x, x0+1) - mXparser.getFunctionValue(f, x, x0); x.setArgumentValue(xb); return delta; } /**
/** * Forward difference(1) operator (at current value of argument x) * * @param f the expression * @param x the argument name * * @return Forward difference(1) value calculated at the current value of argument x. * * @see Expression * @see Argument */ public static final double forwardDifference(Expression f, Argument x) { double xb = x.getArgumentValue(); if (Double.isNaN(xb)) return Double.NaN; double fv = f.calculate(); x.setArgumentValue(xb + 1); double delta = f.calculate() - fv; x.setArgumentValue(xb); return delta; } /**
/** * Forward difference(h) operator (at the current value of the argument x) * * @param f the expression * @param h the difference * @param x the argument name * * @return Forward difference(h) value calculated at at the current value of the argument x. * * @see Expression * @see Argument */ public static final double forwardDifference(Expression f, double h, Argument x) { double xb = x.getArgumentValue(); if (Double.isNaN(xb)) return Double.NaN; double fv = f.calculate(); x.setArgumentValue(xb + h); double delta = f.calculate() - fv; x.setArgumentValue(xb); return delta; } /**
/** * Backward difference(h) operator (at the current value of the argument x) * * @param f the expression * @param h the difference * @param x the argument name * * @return Backward difference(h) value calculated at at the current value of the argument x. * * @see Expression * @see Argument */ public static final double backwardDifference(Expression f, double h, Argument x) { double xb = x.getArgumentValue(); if (Double.isNaN(xb)) return Double.NaN; double fv = f.calculate(); x.setArgumentValue(xb - h); double delta = fv - f.calculate(); x.setArgumentValue(xb); return delta; } /**
/** * Backward difference(1) operator (at current value of argument x) * * @param f the expression * @param x the argument name * * @return Backward difference(1) value calculated at the current value of argument x. * * @see Expression * @see Argument */ public static final double backwardDifference(Expression f, Argument x) { double xb = x.getArgumentValue(); if (Double.isNaN(xb)) return Double.NaN; double fv = f.calculate(); x.setArgumentValue(xb - 1); double delta = fv - f.calculate(); x.setArgumentValue(xb); return delta; } /**
argParam.initialValue = argParam.argument.argumentValue; argParam.initialType = argParam.argument.argumentType; argParam.argument.argumentValue = argParam.argument.getArgumentValue(); argParam.argument.argumentType = Argument.FREE_ARGUMENT;
double x; for (int i = 0; i < arguments.length; i++) { x = arguments[i].getArgumentValue(); functionExpression.UDFVariadicParamsAtRunTime.add(x); parameters[i] = x; if (functionBodyType == BODY_RUNTIME) { for (int p = 0; p < arguments.length; p++) setArgumentValue(p, arguments[p].getArgumentValue()); return functionExpression.calculate(); } else { for (int p = 0; p < arguments.length; p++) functionExtension.setParameterValue(p, arguments[p].getArgumentValue()); return functionExtension.calculate();
private void showArguments() { for (Argument a : argumentsList) { boolean vMode = a.getVerboseMode(); a.setSilentMode(); printSystemInfo(a.getArgumentName() + " = " + a.getArgumentValue() + "\n", WITH_EXP_STR); if (vMode == true) a.setVerboseMode(); } } /**
x0 = x.argument.getArgumentValue();
Expression nExp = new Expression(nParam.paramStr, nParam.tokens, argumentsList, functionsList, constantsList, DISABLE_ULP_ROUNDING, UDFExpression, UDFVariadicParamsAtRunTime); double n = nExp.calculate(); double x0 = x.argument.getArgumentValue(); double eps = DEF_EPS; int maxSteps = DEF_MAX_STEPS;
mXparser.consolePrintln(x.getArgumentName() + " = " + x.getArgumentValue()); mXparser.consolePrintln(y.getArgumentName() + " = " + y.getArgumentValue()); mXparser.consolePrintln(y.getArgumentName() + " = " + y.getArgumentValue()); mXparser.consolePrintln(y.getArgumentName() + " = " + y.getArgumentValue()); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e20.getExpressionString() + " = " + e20.calculate()); x.setArgumentValue(5); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e20.getExpressionString() + " = " + e20.calculate()); x.setArgumentValue(10); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e20.getExpressionString() + " = " + e20.calculate()); mXparser.consolePrintln("d = " + d.getArgumentValue() + ", " + e21.getExpressionString() + " = " + e21.calculate()); d.setArgumentValue(0.01); mXparser.consolePrintln("d = " + d.getArgumentValue() + ", " + e21.getExpressionString() + " = " + e21.calculate()); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e23.getExpressionString() + " = " + e23.calculate()); Expression e24 = new Expression("der+(abs(x), x)", x); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e24.getExpressionString() + " = " + e24.calculate()); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e25.getExpressionString() + " = " + e25.calculate()); x.setArgumentValue(5); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e25.getExpressionString() + " = " + e25.calculate()); x.setArgumentValue(10); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e25.getExpressionString() + " = " + e25.calculate()); mXparser.consolePrintln("x = " + x.getArgumentValue() + ", " + e31.getExpressionString() + " = " + e31.calculate());