/** * Sets function name. * * @param functionName the function name */ public void setFunctionName(String functionName) { if ( mXparser.regexMatch(functionName, ParserSymbol.nameOnlyTokenRegExp) ) { this.functionName = functionName; setExpressionModifiedFlags(); } else functionExpression.setSyntaxStatus(SYNTAX_ERROR_OR_STATUS_UNKNOWN, "[" + functionName + "]" + "Invalid function name, pattern not matches: " + ParserSymbol.nameTokenRegExp); } /**
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(); } } /**
@Override protected void testScenario() { Constant c = new Constant("c", 5); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; c = new Constant("c", 5); } c.getConstantValue(); } }
@Override protected void testScenario() { Argument x = new Argument("x"); Expression e = new Expression(test.exprStr, x); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; x.setArgumentValue(i); e.calculate(); } } }
@Override protected void testScenario() { Expression e = new Expression(""); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; e = new Expression("sin(2+(3*4)^2)/10"); } e.calculate(); } }
@Override protected void testScenario() { Expression e = new Expression(""); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; e.setExpressionString("sin(2+(3*4)^2)/10"); e.checkSyntax(); } } }
@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() { Function f = new Function("f", "x", "x"); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; f = new Function("f(x,y)=x+y"); } f.calculate(1, 2); } }
/** * Gets user defined function parameter name * * @param parameterIndex Parameter index between 0 and n-1 * @return If parameter exists returns parameters name, otherwise empty string is returned. */ public String getParameterName(int parameterIndex) { if (parameterIndex < 0) return ""; if (parameterIndex >= parametersNumber) return ""; if (functionBodyType == BODY_RUNTIME) return getArgument(parameterIndex).getArgumentName(); if (functionBodyType == BODY_EXTENDED) return this.functionExtension.getParameterName(parameterIndex); return ""; } /**
/** * Bitwise LEFT SHIFT * * @param pos the token position */ private void BITWISE_LEFT_SHIFT(int pos) { long a = (long)getTokenValue(pos-1); int b = (int)getTokenValue(pos+1); opSetDecreaseRemove(pos, a << b); } /**
/** * Disables function verbose mode (sets default silent mode) */ public void setSilentMode() { functionExpression.setSilentMode(); } /**
/** * Adds related expression. * * @param expression the related expression */ void addRelatedExpression(Expression expression) { if (functionBodyType == Function.BODY_RUNTIME) functionExpression.addRelatedExpression(expression); } /**
/** * Checks syntax of the expression string. * * @return true if syntax is ok */ public boolean checkSyntax() { boolean syntax = checkSyntax("[" + expressionString + "] ", false); return syntax; } /**
/** * * @param info * @param withExpressionString */ private void printSystemInfo(String info, boolean withExpressionString) { if (withExpressionString) mXparser.consolePrint( /*"[" + this + "]" + */ "[" + description + "]" + "[" + expressionString + "] " + info); else mXparser.consolePrint(/*"[" + this + "]" + */ info); } /**
/** * Prints tokens to the console. * @param tokens Tokens list. * * @see Expression#getCopyOfInitialTokens() * @see Token */ public static final void consolePrintTokens(List<Token> tokens) { Expression.showTokens(tokens); } /**
@Override protected void testScenario() { Argument x = new Argument("x"); Argument y = new Argument("y"); Function f = new Function("f(x,y)=3*x+4*y"); Expression e = new Expression(test.exprStr, f, x, y); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; x.setArgumentValue(i); y.setArgumentValue(i); e.calculate(); } } }
@Override protected void testScenario() { Expression e = new Expression(test.exprStr); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; e.calculate(); } } }
@Override protected void testScenario() { Constant c = new Constant("c", 5); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; c = new Constant("c=5"); } c.getConstantValue(); } }
@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() { Function f = new Function("f", "x", "x"); for (int i = 0; i <= super.iterNum; i++) { if (mXparser.isCurrentCalculationCancelled()) break; f = new Function("f", "x+y", "x", "y"); } f.calculate(1); } }