public final class mXparser
extends java.lang.Object
RecursiveArgument
,
Expression
,
Function
,
Constant
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
LICENSE
License info.
|
static java.lang.String |
NAMEv10 |
static java.lang.String |
NAMEv20 |
static java.lang.String |
NAMEv23 |
static java.lang.String |
NAMEv24 |
static java.lang.String |
NAMEv30 |
static java.lang.String |
NAMEv40 |
static java.lang.String |
NAMEv41 |
static int |
PRIMES_CACHE_NOT_INITIALIZED |
static PrimesCache |
primesCache
Prime numbers cache
|
Constructor and Description |
---|
mXparser() |
Modifier and Type | Method and Description |
---|---|
static double[] |
arrayList2double(java.util.List<java.lang.Double> numbers)
Converts List of double to double[]
|
static boolean |
checkIfEpsilonMode()
Checks if epsilon comparison mode is active;
|
static boolean |
checkIfExactMode()
Checks if exact comparison mode is active;
|
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(java.lang.Object o)
Prints object.toString to the Console
|
static void |
consolePrintHelp()
Prints all help content.
|
static void |
consolePrintHelp(java.lang.String word)
Prints filtered help content.
|
static void |
consolePrintln()
Prints new line to the Console, no new line
|
static void |
consolePrintln(java.lang.Object o)
Prints object.toString to the Console + new line
|
static void |
consolePrintln(java.lang.String[] stringArray)
Prints array of strings
|
static void |
consolePrintTokens(java.util.List<Token> tokens)
Prints tokens to the console.
|
static java.lang.String |
convDecimal2OthBase(double decimalNumber,
int numeralSystemBase)
Decimal number to other numeral system conversion with base
between 1 and 36.
|
static java.lang.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(java.lang.String numberLiteral)
Other base (base between 1 and 36) number literal conversion to decimal number.
|
static double |
convOthBase2Decimal(java.lang.String numberLiteral,
int numeralSystemBase)
Other base (base between 1 and 36) number literal conversion to decimal number.
|
static void |
disableUlpRounding()
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 |
enableUlpRounding()
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 java.lang.String[][] |
getBuiltinTokensToModify()
Return details on tokens marked to be modified.
|
static java.lang.String[] |
getBuiltinTokensToRemove()
Returns current list of tokens marked to be removed.
|
static java.lang.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 java.lang.String |
getHelp()
General mXparser expression help
|
static java.lang.String |
getHelp(java.lang.String word)
General mXparser expression help - in-line key word searching
|
static java.util.List<KeyWord> |
getKeyWords()
Returns list of key words known to the parser
|
static java.util.List<KeyWord> |
getKeyWords(java.lang.String query)
Returns list of key words known to the parser
|
static java.lang.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 java.lang.String |
getTokenTypeDescription(int tokenTypeId)
Returns token type description.
|
static java.lang.String |
hexString2AsciiString(java.lang.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 void |
modifyBuiltinToken(java.lang.String currentToken,
java.lang.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(java.lang.String currentToken,
java.lang.String newToken,
java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String |
numberToHexString(double number)
Converts (long)double number to hex string (plain text)
|
static java.lang.String |
numberToHexString(int number)
Converts integer number to hex string (plain text)
|
static java.lang.String |
numberToHexString(long number)
Converts long number to hex string (plain text)
|
static boolean |
regexMatch(java.lang.String str,
java.lang.String pattern)
Function used to introduce some compatibility
between JAVA and C# while regexp matching.
|
static void |
removeBuiltinTokens(java.lang.String... tokens)
Removes built-in tokens form the list of tokens recognized by the parsers.
|
static void |
resetConsoleOutput()
Resets console output string, console output
string is being built by consolePrintln(), consolePrint().
|
static void |
setConsoleOutputPrefix(java.lang.String consoleOutputPrefix)
Sets console output string prefix.
|
static void |
setConsolePrefix(java.lang.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 |
setDefaultThreadsNumber()
Sets default threads number
|
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 |
setRandomGenerator(java.util.Random randomGenerator)
Modifies random generator used by the ProbabilityDistributions class.
|
static void |
setThreadsNumber(int threadsNumber)
Sets threads number
|
static void |
setToOverrideBuiltinTokens()
Sets mXparser to override built-in tokens
by user defined tokens.
|
static void |
unmodifyAllBuiltinTokens()
Un-marks all tokens previously marked to be modified.
|
static void |
unmodifyBuiltinTokens(java.lang.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(java.lang.String... tokens)
Un-marks tokens previously marked to be removed.
|
static void |
wait(int n)
Waits given number of milliseconds
|
public static PrimesCache primesCache
public static final int PRIMES_CACHE_NOT_INITIALIZED
public static final java.lang.String LICENSE
public static final java.lang.String NAMEv10
public static final java.lang.String NAMEv20
public static final java.lang.String NAMEv23
public static final java.lang.String NAMEv24
public static final java.lang.String NAMEv30
public static final java.lang.String NAMEv40
public static final java.lang.String NAMEv41
public static final void initPrimesCache()
PrimesCache.DEFAULT_MAX_NUM_IN_CACHE
PrimesCache
public static final void initPrimesCache(int mximumNumberInCache)
mximumNumberInCache
- The maximum integer number that
will be stored in cache.PrimesCache
public static final void initPrimesCache(PrimesCache primesCache)
primesCache
- The primes cache objectPrimesCache
public static void setNoPrimesCache()
primesCache
to nullpublic static final int getMaxNumInPrimesCache()
PRIMES_CACHE_NOT_INITIALIZED
public 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 valueExpression
public static final double[] arrayList2double(java.util.List<java.lang.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(java.util.Random randomGenerator)
randomGenerator
- Random generator.ProbabilityDistributions
,
ProbabilityDistributions.randomGenerator
public static final void setExactComparison()
BinaryRelations
public static final void setEpsilonComparison()
BinaryRelations
public static final void setEpsilon(double epsilon)
epsilon
- Epsilon value (grater than 0).setEpsilonComparison()
,
BinaryRelations
public static final void setDefaultEpsilon()
public static final double getEpsilon()
setEpsilonComparison()
,
BinaryRelations
public static final boolean checkIfEpsilonMode()
setEpsilonComparison()
,
setExactComparison()
,
BinaryRelations
public static final boolean checkIfExactMode()
setEpsilonComparison()
,
setExactComparison()
,
BinaryRelations
public static final void enableUlpRounding()
public static final void disableUlpRounding()
public static final boolean checkIfUlpRounding()
public static final void setMaxAllowedRecursionDepth(int maxAllowedRecursionDepth)
maxAllowedRecursionDepth
- Maximum number of allowed recursion callspublic static final int getMaxAllowedRecursionDepth()
public static final void removeBuiltinTokens(java.lang.String... tokens)
tokens
- List of tokens to remove.public static final void unremoveBuiltinTokens(java.lang.String... tokens)
tokens
- List of tokens to un-mark.public static final void unremoveAllBuiltinTokens()
public static final java.lang.String[] getBuiltinTokensToRemove()
public static final void modifyBuiltinToken(java.lang.String currentToken, java.lang.String newToken)
currentToken
- Current token namenewToken
- New token namepublic static final void modifyBuiltinToken(java.lang.String currentToken, java.lang.String newToken, java.lang.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(java.lang.String... currentOrNewTokens)
currentOrNewTokens
- List of tokens to be un-marked (current or modified).public static final void unmodifyAllBuiltinTokens()
public static final java.lang.String[][] getBuiltinTokensToModify()
public static final void setToOverrideBuiltinTokens()
public static final void setNotToOverrideBuiltinTokens()
public static final boolean checkIfsetToOverrideBuiltinTokens()
public static final java.lang.String getTokenTypeDescription(int tokenTypeId)
tokenTypeId
- Token type idpublic static final java.lang.String numberToHexString(int number)
number
- Integer numberpublic static final java.lang.String numberToHexString(long number)
number
- Long numberpublic static final java.lang.String numberToHexString(double number)
number
- Double numberpublic static final java.lang.String hexString2AsciiString(java.lang.String hexString)
hexString
- Hex string (i.e. 48656C6C6F)public static final java.lang.String numberToAsciiString(int number)
number
- Integer number (i.e. 310939249775 = '48656C6C6F')public static final java.lang.String numberToAsciiString(long number)
number
- Long number (i.e. 310939249775 = '48656C6C6F')public static final java.lang.String numberToAsciiString(double number)
number
- Double number (i.e. 310939249775 = '48656C6C6F')public static final double convOthBase2Decimal(java.lang.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(java.lang.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 java.lang.String convDecimal2OthBase(double decimalNumber, int numeralSystemBase)
decimalNumber
- Decimal numbernumeralSystemBase
- Numeral system base between 1 and 36public static final java.lang.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 void consolePrintln(java.lang.Object o)
o
- Object to printpublic static final void consolePrintln(java.lang.String[] stringArray)
stringArray
- array of strinfspublic static final void consolePrintln()
public static final void consolePrint(java.lang.Object o)
o
- Object to printpublic static final void resetConsoleOutput()
public static void setDefaultConsolePrefix()
public static void setDefaultConsoleOutputPrefix()
public static void setConsolePrefix(java.lang.String consolePrefix)
consolePrefix
- String containing console prefix definition.public static void setConsoleOutputPrefix(java.lang.String consoleOutputPrefix)
consoleOutputPrefix
- String containing console output prefix definition.public static final java.lang.String getConsoleOutput()
consolePrint(Object)
,
consolePrintln(Object)
,
consolePrintln()
,
resetConsoleOutput()
public static final java.lang.String getHelp()
public static final java.lang.String getHelp(java.lang.String word)
word
- Key word to be searchedpublic static final void consolePrintHelp()
public static final void consolePrintHelp(java.lang.String word)
word
- Key word.public static final java.util.List<KeyWord> getKeyWords()
KeyWord
,
KeyWord.wordTypeId
,
getHelp()
public static final java.util.List<KeyWord> getKeyWords(java.lang.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(java.lang.String str, java.lang.String pattern)
str
- Stringpattern
- Pattern (regexp)public static final void consolePrintTokens(java.util.List<Token> tokens)
tokens
- Tokens list.Expression.getCopyOfInitialTokens()
,
Token
public static final java.lang.String getLicense()
public static final void wait(int n)
n
- Number of milliseconds