public final class mXparser extends Object
RecursiveArgument,
Expression,
Function,
Constant| Modifier and Type | Field and Description |
|---|---|
static String |
BUIT_FOR
Framework used to compile mXparser
|
static String |
LICENSE
License info.
|
static String |
NAMEv10 |
static String |
NAMEv20 |
static String |
NAMEv23 |
static String |
NAMEv24 |
static String |
NAMEv30 |
static String |
NAMEv40 |
static String |
NAMEv41 |
static String |
NAMEv42 |
static String |
NAMEv43 |
static String |
NAMEv44 |
static int |
PRIMES_CACHE_NOT_INITIALIZED |
static PrimesCache |
primesCache
Prime numbers cache
|
static String |
VERSION
mXparser version
|
static String |
VERSION_CODE_NAME |
static String |
VERSION_NAME |
| Constructor and Description |
|---|
mXparser() |
| Modifier and Type | Method and Description |
|---|---|
static double[] |
arrayList2double(List<Double> numbers)
Converts List of double to double[]
|
static void |
cancelCurrentCalculation()
Method give a signal to other methods to cancel current calculation.
|
static boolean |
checkIfAlmostIntRounding()
Returns state of almost integer rounding option causing
rounding final calculation result to precise integer
if and only if result is very close to integer.
|
static boolean |
checkIfCanonicalRounding()
Double floating-point precision arithmetic causes
rounding problems, i.e. 0.1 + 0.1 + 0.1 is slightly different than 0.3,
additionally doubles are having a lot of advantages
providing flexible number representation regardless of
number size. mXparser is fully based on double numbers
and that is why is providing intelligent canonical rounding
to minimize misleading results.
|
static boolean |
checkIfDegreesMode()
Checks whether mXparser operates in degrees mode for
trigonometric functions.
|
static boolean |
checkIfEpsilonMode()
Checks if epsilon comparison mode is active;
|
static boolean |
checkIfExactMode()
Checks if exact comparison mode is active;
|
static boolean |
checkIfRadiansMode()
Checks whether mXparser operates in radians mode for
trigonometric functions.
|
static boolean |
checkIfsetToOverrideBuiltinTokens()
Checks whether mXparser is set to override built-in tokens.
|
static boolean |
checkIfUlpRounding()
Double floating-point precision arithmetic causes
rounding problems, i.e. 0.1 + 0.1 + 0.1 is slightly different than 0.3,
additionally doubles are having a lot of advantages
providing flexible number representation regardless of
number size. mXparser is fully based on double numbers
and that is why is providing intelligent ULP rounding
to minimize misleading results.
|
static void |
consolePrint(Object o)
Prints object.toString to the Console
|
static void |
consolePrintHelp()
Prints all help content.
|
static void |
consolePrintHelp(String word)
Prints filtered help content.
|
static void |
consolePrintln()
Prints new line to the Console, no new line
|
static void |
consolePrintln(Object o)
Prints object.toString to the Console + new line
|
static void |
consolePrintln(String[] stringArray)
Prints array of strings
|
static void |
consolePrintTokens(List<Token> tokens)
Prints tokens to the console.
|
static String |
convDecimal2OthBase(double decimalNumber,
int numeralSystemBase)
Decimal number to other numeral system conversion with base
between 1 and 36.
|
static String |
convDecimal2OthBase(double decimalNumber,
int numeralSystemBase,
int format)
Decimal number to other numeral system conversion with base
between 1 and 36.
|
static double |
convOthBase2Decimal(double numeralSystemBase,
double... digits)
Other base to decimal conversion.
|
static double |
convOthBase2Decimal(int numeralSystemBase,
int... digits)
Other base to decimal conversion.
|
static double |
convOthBase2Decimal(String numberLiteral)
Other base (base between 1 and 36) number literal conversion to decimal number.
|
static double |
convOthBase2Decimal(String numberLiteral,
int numeralSystemBase)
Other base (base between 1 and 36) number literal conversion to decimal number.
|
static void |
disableAlmostIntRounding()
Disables almost integer rounding option causing
rounding final calculation result to precise integer
if and only if result is very close to integer.
|
static void |
disableCanonicalRounding()
Disables canonical rounding.
|
static void |
disableUlpRounding()
Disables ULP rounding.
|
static void |
enableAlmostIntRounding()
Enables almost integer rounding option causing
rounding final calculation result to precise integer
if and only if result is very close to integer.
|
static void |
enableCanonicalRounding()
Enables canonical rounding.
|
static void |
enableUlpRounding()
Enables ULP rounding.
|
static String |
fractionToString(double[] fraction)
Converts array representing fraction to fraction string representation.
|
static String[][] |
getBuiltinTokensToModify()
Return details on tokens marked to be modified.
|
static String[] |
getBuiltinTokensToRemove()
Returns current list of tokens marked to be removed.
|
static String |
getConsoleOutput()
Returns console output string, console output string
is being built by consolePrintln(), consolePrint().
|
static double |
getEpsilon()
Returns current epsilon value.
|
static double |
getFunctionValue(Expression f,
Argument x,
double x0)
Calculates function f(x0) (given as expression) assigning Argument x = x0;
|
static double[] |
getFunctionValues(Expression f,
Argument index,
double from,
double to,
double delta)
Returns array of double values of the function f(i)
calculated on the range: i = from to i = to by step = delta
|
static String |
getHelp()
General mXparser expression help
|
static String |
getHelp(String word)
General mXparser expression help - in-line key word searching
|
static List<KeyWord> |
getKeyWords()
Returns list of key words known to the parser
|
static List<KeyWord> |
getKeyWords(String query)
Returns list of key words known to the parser
|
static String |
getLicense()
Gets license info
|
static int |
getMaxAllowedRecursionDepth()
Internal limit to avoid infinite loops while calculating
expression defined in the way shown by below examples.
|
static int |
getMaxNumInPrimesCache()
Returns maximum integer number in primes cache
|
static int |
getThreadsNumber()
Gets maximum threads number
|
static long |
getToFractionInitSearchSize()
Gets initial search size used by the toFraction method
|
static String |
getTokenTypeDescription(int tokenTypeId)
Returns token type description.
|
static String |
hexString2AsciiString(String hexString)
Converts hex string into ASCII string, where each letter is
represented by two hex digits (byte) from the hex string.
|
static void |
initPrimesCache()
Initialization of prime numbers cache.
|
static void |
initPrimesCache(int mximumNumberInCache)
Initialization of prime numbers cache.
|
static void |
initPrimesCache(PrimesCache primesCache)
Initialization of prime numbers cache.
|
static boolean |
isCurrentCalculationCancelled()
Check whether a flag to cancel current calculation process is set.
|
static boolean |
isInitPrimesCacheSuccessful()
Returns true in case when primes cache initialization was successful,
otherwise returns false.
|
static void |
modifyBuiltinToken(String currentToken,
String newToken)
Method to change definition of built-in token - more precisely
using this method allows to modify token string recognized by the parser
(i.e. sin(x) to sinus(x)).
|
static void |
modifyBuiltinToken(String currentToken,
String newToken,
String newTokenDescription)
Method to change definition of built-in token - more precisely
using this method allows to modify token string recognized by the parser
(i.e. sin(x) to sinus(x)).
|
static String |
numberToAsciiString(double number)
Converts (long)double number into ASCII string, where each letter is
represented by two hex digits (byte) from the hex representation
of the original number casted to long type.
|
static String |
numberToAsciiString(int number)
Converts number into ASCII string, where each letter is
represented by two hex digits (byte) from the hex representation
of the original number
|
static String |
numberToAsciiString(long number)
Converts number into ASCII string, where each letter is
represented by two hex digits (byte) from the hex representation
of the original number
|
static String |
numberToHexString(double number)
Converts (long)double number to hex string (plain text)
|
static String |
numberToHexString(int number)
Converts integer number to hex string (plain text)
|
static String |
numberToHexString(long number)
Converts long number to hex string (plain text)
|
static boolean |
regexMatch(String str,
String pattern)
Function used to introduce some compatibility
between JAVA and C# while regexp matching.
|
static void |
removeBuiltinTokens(String... tokens)
Removes built-in tokens form the list of tokens recognized by the parsers.
|
static void |
resetCancelCurrentCalculationFlag()
Resets a flag giving signal to the engine to cancel current calculation.
|
static void |
resetConsoleOutput()
Resets console output string, console output
string is being built by consolePrintln(), consolePrint().
|
static void |
setAlmostIntRounding(boolean almostIntRoundingState)
Enables / disables almost integer rounding option causing
rounding final calculation result to precise integer
if and only if result is very close to integer.
|
static void |
setCanonicalRounding(boolean canonicalRoundingState)
Enables / disables canonical rounding.
|
static void |
setConsoleOutputPrefix(String consoleOutputPrefix)
Sets console output string prefix.
|
static void |
setConsolePrefix(String consolePrefix)
Sets console prefix.
|
static void |
setDefaultConsoleOutputPrefix()
Sets default console output string prefix.
|
static void |
setDefaultConsolePrefix()
Sets default console prefix.
|
static void |
setDefaultEpsilon()
Sets default epsilon value.
|
static void |
setDefaultOptions()
Sets default mXparser options
|
static void |
setDefaultThreadsNumber()
Sets default threads number
|
static void |
setDegreesMode()
Set mXparser to operate in degrees mode for
trigonometric functions
|
static void |
setEpsilon(double epsilon)
Sets epsilon value.
|
static void |
setEpsilonComparison()
Sets comparison mode to EPSILON.
|
static void |
setExactComparison()
Sets comparison mode to EXACT.
|
static void |
setMaxAllowedRecursionDepth(int maxAllowedRecursionDepth)
Internal limit to avoid infinite loops while calculating
expression defined in the way shown by below examples.
|
static void |
setNoPrimesCache()
Sets
primesCache to null |
static void |
setNotToOverrideBuiltinTokens()
Sets mXparser not to override built-in tokens
by user defined tokens.
|
static void |
setRadiansMode()
Set mXparser to operate in radians mode for
trigonometric functions
|
static void |
setRandomGenerator(Random randomGenerator)
Modifies random generator used by the ProbabilityDistributions class.
|
static void |
setThreadsNumber(int threadsNumber)
Sets threads number
|
static void |
setToFractionInitSearchSize(long n)
Sets initial search size for the toFraction method
|
static void |
setToOverrideBuiltinTokens()
Sets mXparser to override built-in tokens
by user defined tokens.
|
static void |
setUlpRounding(boolean ulpRoundingState)
Enables / disables ULP rounding.
|
static double[] |
toFraction(double value)
Converts double value to its fraction representation.
|
static String |
toFractionString(double value)
Converts number to its fraction string representation.
|
static double[] |
toMixedFraction(double value)
Converts double value to its mixed fraction representation.
|
static String |
toMixedFractionString(double value)
Converts number to its mixed fraction string representation.
|
static void |
unmodifyAllBuiltinTokens()
Un-marks all tokens previously marked to be modified.
|
static void |
unmodifyBuiltinTokens(String... currentOrNewTokens)
Un-marks tokens previously marked to be modified.
|
static void |
unremoveAllBuiltinTokens()
Un-marks all tokens previously marked to be removed.
|
static void |
unremoveBuiltinTokens(String... tokens)
Un-marks tokens previously marked to be removed.
|
static void |
wait(int n)
Waits given number of milliseconds
|
public static final String VERSION
public static final String VERSION_CODE_NAME
public static final String VERSION_NAME
public static final String BUIT_FOR
public static volatile PrimesCache primesCache
public static final int PRIMES_CACHE_NOT_INITIALIZED
public static final String LICENSE
public static final String NAMEv10
public static final String NAMEv20
public static final String NAMEv23
public static final String NAMEv24
public static final String NAMEv30
public static final String NAMEv40
public static final String NAMEv41
public static final String NAMEv42
public static final String NAMEv43
public static final String NAMEv44
public static final void initPrimesCache()
PrimesCache.DEFAULT_MAX_NUM_IN_CACHEPrimesCachepublic static final void initPrimesCache(int mximumNumberInCache)
mximumNumberInCache - The maximum integer number that
will be stored in cache.PrimesCachepublic static final void initPrimesCache(PrimesCache primesCache)
primesCache - The primes cache objectPrimesCachepublic static final boolean isInitPrimesCacheSuccessful()
public static void setNoPrimesCache()
primesCache to nullpublic static final int getMaxNumInPrimesCache()
PRIMES_CACHE_NOT_INITIALIZEDpublic static final int getThreadsNumber()
public static final void setDefaultThreadsNumber()
public static final void setThreadsNumber(int threadsNumber)
threadsNumber - Thread number.public static final double getFunctionValue(Expression f, Argument x, double x0)
f - the expressionx - the argumentx0 - the argument valueExpressionpublic static final double[] arrayList2double(List<Double> numbers)
numbers - the numbers listpublic static final double[] getFunctionValues(Expression f, Argument index, double from, double to, double delta)
f - Function expressionindex - Index argumentfrom - 'from' valueto - 'to' valuedelta - 'delta' step definitionpublic static final void setRandomGenerator(Random randomGenerator)
randomGenerator - Random generator.ProbabilityDistributions,
ProbabilityDistributions.randomGeneratorpublic static final void setExactComparison()
BinaryRelationspublic static final void setEpsilonComparison()
BinaryRelationspublic static final void setEpsilon(double epsilon)
epsilon - Epsilon value (grater than 0).setEpsilonComparison(),
BinaryRelationspublic static final void setDefaultEpsilon()
public static final double getEpsilon()
setEpsilonComparison(),
BinaryRelationspublic static final boolean checkIfEpsilonMode()
setEpsilonComparison(),
setExactComparison(),
BinaryRelationspublic static final boolean checkIfExactMode()
setEpsilonComparison(),
setExactComparison(),
BinaryRelationspublic static final void enableUlpRounding()
public static final void disableUlpRounding()
public static final void setUlpRounding(boolean ulpRoundingState)
ulpRoundingState - True to enable, false to disablepublic static final boolean checkIfUlpRounding()
public static final void enableCanonicalRounding()
public static final void disableCanonicalRounding()
public static final void setCanonicalRounding(boolean canonicalRoundingState)
canonicalRoundingState - True to enable, false to disablepublic static final boolean checkIfCanonicalRounding()
public static final void enableAlmostIntRounding()
setEpsilon(double),
getEpsilon(),
Expression.calculate()public static final void disableAlmostIntRounding()
setEpsilon(double),
getEpsilon(),
Expression.calculate()public static final void setAlmostIntRounding(boolean almostIntRoundingState)
almostIntRoundingState - True to enable, false to disablepublic static final boolean checkIfAlmostIntRounding()
setEpsilon(double),
getEpsilon(),
Expression.calculate()public static final void setMaxAllowedRecursionDepth(int maxAllowedRecursionDepth)
maxAllowedRecursionDepth - Maximum number of allowed recursion callspublic static final int getMaxAllowedRecursionDepth()
public static final void setRadiansMode()
public static final void setDegreesMode()
public static final boolean checkIfRadiansMode()
public static final boolean checkIfDegreesMode()
public static final void setToFractionInitSearchSize(long n)
n - initial search size, has to be non-zero positive.NumberTheory.toFraction(double)public static final long getToFractionInitSearchSize()
NumberTheory.toFraction(double)public static final void removeBuiltinTokens(String... tokens)
tokens - List of tokens to remove.public static final void unremoveBuiltinTokens(String... tokens)
tokens - List of tokens to un-mark.public static final void unremoveAllBuiltinTokens()
public static final String[] getBuiltinTokensToRemove()
public static final void modifyBuiltinToken(String currentToken, String newToken)
currentToken - Current token namenewToken - New token namepublic static final void modifyBuiltinToken(String currentToken, String newToken, String newTokenDescription)
currentToken - Current token namenewToken - New token namenewTokenDescription - New token description (if null the previous one will be used)public static final void unmodifyBuiltinTokens(String... currentOrNewTokens)
currentOrNewTokens - List of tokens to be un-marked (current or modified).public static final void unmodifyAllBuiltinTokens()
public static final String[][] getBuiltinTokensToModify()
public static final void setToOverrideBuiltinTokens()
public static final void setNotToOverrideBuiltinTokens()
public static final boolean checkIfsetToOverrideBuiltinTokens()
public static final void setDefaultOptions()
public static final String getTokenTypeDescription(int tokenTypeId)
tokenTypeId - Token type idpublic static final String numberToHexString(int number)
number - Integer numberpublic static final String numberToHexString(long number)
number - Long numberpublic static final String numberToHexString(double number)
number - Double numberpublic static final String hexString2AsciiString(String hexString)
hexString - Hex string (i.e. 48656C6C6F)public static final String numberToAsciiString(int number)
number - Integer number (i.e. 310939249775 = '48656C6C6F')public static final String numberToAsciiString(long number)
number - Long number (i.e. 310939249775 = '48656C6C6F')public static final String numberToAsciiString(double number)
number - Double number (i.e. 310939249775 = '48656C6C6F')public static final double convOthBase2Decimal(String numberLiteral, int numeralSystemBase)
numberLiteral - Number literal in given numeral system with base between
1 and 36. Digits: 0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7,
8:8, 9:9, 10:A, 11:B, 12:C, 13:D, 14:E, 15:F, 16:G, 17:H,
18:I, 19:J, 20:K, 21:L, 22:M, 23:N, 24:O, 25:P, 26:Q, 27:R,
28:S, 29:T, 30:U, 31:V, 32:W, 33:X, 34:Y, 35:ZnumeralSystemBase - Numeral system base, between 1 and 36public static final double convOthBase2Decimal(String numberLiteral)
numberLiteral - Number literal string.
Base format: b1. b2. b. b3. b4. b5. b6. b7. b8. o. b9. b10. b11. b12.
b13. b14. b15. b16. h. b17. b18. b19. b20. b21. b22. b23. b24. b25. b26.
b27. b28. b29. b30. b31. b32. b33. b34. b35. b36.
Digits: 0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, 10:A, 11:B, 12:C,
13:D, 14:E, 15:F, 16:G, 17:H, 18:I, 19:J, 20:K, 21:L, 22:M, 23:N, 24:O, 25:P,
26:Q, 27:R, 28:S, 29:T, 30:U, 31:V, 32:W, 33:X, 34:Y, 35:Zpublic static final double convOthBase2Decimal(int numeralSystemBase,
int... digits)
numeralSystemBase - Numeral system base has to be above 0.digits - List of digitspublic static final double convOthBase2Decimal(double numeralSystemBase,
double... digits)
numeralSystemBase - Numeral system base has to be above 0.digits - List of digitspublic static final String convDecimal2OthBase(double decimalNumber, int numeralSystemBase)
decimalNumber - Decimal numbernumeralSystemBase - Numeral system base between 1 and 36public static final String convDecimal2OthBase(double decimalNumber, int numeralSystemBase, int format)
decimalNumber - Decimal numbernumeralSystemBase - Numeral system base between 1 and 36format - If 1 then always bxx. is used, i.e. b1. or b16.
If 2 then for binary b. is used, for octal o. is used,
for hexadecimal h. is used, otherwise bxx. is used
where xx is the numeral system base specification.public static final double[] toFraction(double value)
value - Value to be convertedpublic static final double[] toMixedFraction(double value)
value - Value to be convertedpublic static final String fractionToString(double[] fraction)
fraction - Array representing fraction (including mix fractions)NumberTheory.toFraction(double),
NumberTheory.toMixedFraction(double)public static final String toFractionString(double value)
value - Given numberNumberTheory.toFraction(double),
NumberTheory.fractionToString(double[])public static final String toMixedFractionString(double value)
value - Given numberNumberTheory.toMixedFraction(double),
NumberTheory.fractionToString(double[])public static final void consolePrintln(Object o)
o - Object to printpublic static final void consolePrintln(String[] stringArray)
stringArray - array of strinfspublic static final void consolePrintln()
public static final void consolePrint(Object o)
o - Object to printpublic static final void resetConsoleOutput()
public static void setDefaultConsolePrefix()
public static void setDefaultConsoleOutputPrefix()
public static void setConsolePrefix(String consolePrefix)
consolePrefix - String containing console prefix definition.public static void setConsoleOutputPrefix(String consoleOutputPrefix)
consoleOutputPrefix - String containing console output prefix definition.public static final String getConsoleOutput()
consolePrint(Object),
consolePrintln(Object),
consolePrintln(),
resetConsoleOutput()public static final String getHelp()
public static final String getHelp(String word)
word - Key word to be searchedpublic static final void consolePrintHelp()
public static final void consolePrintHelp(String word)
word - Key word.public static final List<KeyWord> getKeyWords()
KeyWord,
KeyWord.wordTypeId,
getHelp()public static final List<KeyWord> getKeyWords(String query)
query - Give any string to filter list of key words against this string.
User more precise syntax: str=tokenString, desc=tokenDescription,
syn=TokenSyntax, sin=tokenSince, wid=wordId, tid=wordTypeId
to narrow the result.KeyWord,
KeyWord.wordTypeId,
getHelp(String)public static final boolean regexMatch(String str, String pattern)
str - Stringpattern - Pattern (regexp)public static final void consolePrintTokens(List<Token> tokens)
tokens - Tokens list.Expression.getCopyOfInitialTokens(),
Tokenpublic static final String getLicense()
public static final void wait(int n)
n - Number of millisecondspublic static final void cancelCurrentCalculation()
public static final void resetCancelCurrentCalculationFlag()
cancelCurrentCalculation()public static final boolean isCurrentCalculationCancelled()
cancelCurrentCalculation()
resetCancelCurrentCalculationFlag()Copyright © 2020 MathParser.org. All rights reserved.