/** * Summation operator (SIGMA by) * sum(i,m,n,f(i),b) --> sum f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void SUM(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double sigma = NumberTheory.sigmaSummation(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, sigma, true); } /**
/** * Variance from sample function values - iterative operator * vari(i,m,n,f(i),b) --> var f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void VAR(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double var = Statistics.var(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, var, true); } /**
/** * Average function value - iterative operator * avg(i,m,n,f(i),b) --> avg f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void AVG(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double avg = Statistics.avg(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, avg, true); } /**
/** * Product operator (SIGMA by) * pord(i,m,n,f(i),b) --> prod f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void PROD(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double product = NumberTheory.piProduct(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, product, true); } /**
/** * Standard deviation from sample function values - iterative operator * stdi(i,m,n,f(i),b) --> std f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void STD(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double std = Statistics.std(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, std, true); } /**
/** * Minimum value - iterative operator * mini(i,m,n,f(i),b) --> min f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void MIN(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double min = NumberTheory.min(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, min); } /**
/** * Maximum value - iterative operator * maxi(i,m,n,f(i),b) --> max f(i) from i=m to i=n by delta * i - index (argument) * m, n - numbers or expressions * f(i) - function string * by delta * * @param pos the token position */ private void MAX(int pos) { IterativeOperatorParameters iterParams = new IterativeOperatorParameters( getFunctionParameters(pos, tokensList) ); ArgumentParameter index = getParamArgument(iterParams.indexParam.paramStr); updateMissingTokens(index, iterParams); evalFromToDeltaParameters(index, iterParams); double max = NumberTheory.max(iterParams.funExp, index.argument, iterParams.from, iterParams.to, iterParams.delta); clearParamArgument(index); calcSetDecreaseRemove(pos, max); } /**