Package org.mariuszgromada.math.mxparser
Class mXparser
java.lang.Object
org.mariuszgromada.math.mxparser.mXparser
mXparser class provides usefull methods when parsing, calculating or
parameters transforming.
- Version:
- 4.4.2
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Framework used to compile mXparserstatic final String
License info.static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final int
static PrimesCache
Prime numbers cachestatic final String
mXparser versionstatic final String
static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final double[]
arrayList2double
(List<Double> numbers) Converts List of double to double[]static final void
Method give a signal to other methods to cancel current calculation.static final boolean
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 final boolean
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 final boolean
Checks whether mXparser operates in degrees mode for trigonometric functions.static final boolean
Checks if epsilon comparison mode is active;static final boolean
Checks if exact comparison mode is active;static final boolean
Checks whether mXparser operates in radians mode for trigonometric functions.static final boolean
Checks whether mXparser is set to override built-in tokens.static final boolean
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 final void
Prints object.toString to the Consolestatic final void
Prints all help content.static final void
consolePrintHelp
(String word) Prints filtered help content.static final void
Prints new line to the Console, no new linestatic final void
Prints object.toString to the Console + new linestatic final void
consolePrintln
(String[] stringArray) Prints array of stringsstatic final void
consolePrintTokens
(List<Token> tokens) Prints tokens to the console.static final String
convDecimal2OthBase
(double decimalNumber, int numeralSystemBase) Decimal number to other numeral system conversion with base between 1 and 36.static final String
convDecimal2OthBase
(double decimalNumber, int numeralSystemBase, int format) Decimal number to other numeral system conversion with base between 1 and 36.static final double
convOthBase2Decimal
(double numeralSystemBase, double... digits) Other base to decimal conversion.static final double
convOthBase2Decimal
(int numeralSystemBase, int... digits) Other base to decimal conversion.static final double
convOthBase2Decimal
(String numberLiteral) Other base (base between 1 and 36) number literal conversion to decimal number.static final double
convOthBase2Decimal
(String numberLiteral, int numeralSystemBase) Other base (base between 1 and 36) number literal conversion to decimal number.static final void
Disables almost integer rounding option causing rounding final calculation result to precise integer if and only if result is very close to integer.static final void
Disables canonical rounding.static final void
Disables ULP rounding.static final void
Enables almost integer rounding option causing rounding final calculation result to precise integer if and only if result is very close to integer.static final void
Enables canonical rounding.static final void
Enables ULP rounding.static final String
fractionToString
(double[] fraction) Converts array representing fraction to fraction string representation.static final String[][]
Return details on tokens marked to be modified.static final String[]
Returns current list of tokens marked to be removed.static final String
Returns console output string, console output string is being built by consolePrintln(), consolePrint().static final double
Returns current epsilon value.static final double
getFunctionValue
(Expression f, Argument x, double x0) Calculates function f(x0) (given as expression) assigning Argument x = x0;static final 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 = deltastatic final String
getHelp()
General mXparser expression helpstatic final String
General mXparser expression help - in-line key word searchingReturns list of key words known to the parsergetKeyWords
(String query) Returns list of key words known to the parserstatic final String
Gets license infostatic final int
Internal limit to avoid infinite loops while calculating expression defined in the way shown by below examples.static final int
Returns maximum integer number in primes cachestatic final int
Gets maximum threads numberstatic final long
Gets initial search size used by the toFraction methodstatic final String
getTokenTypeDescription
(int tokenTypeId) Returns token type description.static final 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 final void
Initialization of prime numbers cache.static final void
initPrimesCache
(int mximumNumberInCache) Initialization of prime numbers cache.static final void
initPrimesCache
(PrimesCache primesCache) Initialization of prime numbers cache.static final boolean
Check whether a flag to cancel current calculation process is set.static final boolean
Returns true in case when primes cache initialization was successful, otherwise returns false.static final 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 final 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 final 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 final 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 numberstatic final 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 numberstatic final String
numberToHexString
(double number) Converts (long)double number to hex string (plain text)static final String
numberToHexString
(int number) Converts integer number to hex string (plain text)static final String
numberToHexString
(long number) Converts long number to hex string (plain text)static final boolean
regexMatch
(String str, String pattern) Function used to introduce some compatibility between JAVA and C# while regexp matching.static final void
removeBuiltinTokens
(String... tokens) Removes built-in tokens form the list of tokens recognized by the parsers.static final void
Resets a flag giving signal to the engine to cancel current calculation.static final void
Resets console output string, console output string is being built by consolePrintln(), consolePrint().static final 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 final 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
Sets default console output string prefix.static void
Sets default console prefix.static final void
Sets default epsilon value.static final void
Sets default mXparser optionsstatic final void
Sets default threads numberstatic final void
Set mXparser to operate in degrees mode for trigonometric functionsstatic final void
setEpsilon
(double epsilon) Sets epsilon value.static final void
Sets comparison mode to EPSILON.static final void
Sets comparison mode to EXACT.static final void
setMaxAllowedRecursionDepth
(int maxAllowedRecursionDepth) Internal limit to avoid infinite loops while calculating expression defined in the way shown by below examples.static void
SetsprimesCache
to nullstatic final void
Sets mXparser not to override built-in tokens by user defined tokens.static final void
Set mXparser to operate in radians mode for trigonometric functionsstatic final void
setRandomGenerator
(Random randomGenerator) Modifies random generator used by the ProbabilityDistributions class.static final void
setThreadsNumber
(int threadsNumber) Sets threads numberstatic final void
setToFractionInitSearchSize
(long n) Sets initial search size for the toFraction methodstatic final void
Sets mXparser to override built-in tokens by user defined tokens.static final void
setUlpRounding
(boolean ulpRoundingState) Enables / disables ULP rounding.static final double[]
toFraction
(double value) Converts double value to its fraction representation.static final String
toFractionString
(double value) Converts number to its fraction string representation.static final double[]
toMixedFraction
(double value) Converts double value to its mixed fraction representation.static final String
toMixedFractionString
(double value) Converts number to its mixed fraction string representation.static final void
Un-marks all tokens previously marked to be modified.static final void
unmodifyBuiltinTokens
(String... currentOrNewTokens) Un-marks tokens previously marked to be modified.static final void
Un-marks all tokens previously marked to be removed.static final void
unremoveBuiltinTokens
(String... tokens) Un-marks tokens previously marked to be removed.static final void
wait
(int n) Waits given number of milliseconds
-
Field Details
-
VERSION
mXparser version- See Also:
-
VERSION_CODE_NAME
- See Also:
-
VERSION_NAME
- See Also:
-
BUIT_FOR
Framework used to compile mXparser- See Also:
-
primesCache
Prime numbers cache -
PRIMES_CACHE_NOT_INITIALIZED
public static final int PRIMES_CACHE_NOT_INITIALIZED- See Also:
-
LICENSE
License info.- See Also:
-
NAMEv10
- See Also:
-
NAMEv20
- See Also:
-
NAMEv23
- See Also:
-
NAMEv24
- See Also:
-
NAMEv30
- See Also:
-
NAMEv40
- See Also:
-
NAMEv41
- See Also:
-
NAMEv42
- See Also:
-
NAMEv43
- See Also:
-
NAMEv44
- See Also:
-
-
Constructor Details
-
mXparser
public mXparser()
-
-
Method Details
-
initPrimesCache
public static final void initPrimesCache()Initialization of prime numbers cache. Cache size according toPrimesCache.DEFAULT_MAX_NUM_IN_CACHE
- See Also:
-
initPrimesCache
public static final void initPrimesCache(int mximumNumberInCache) Initialization of prime numbers cache.- Parameters:
mximumNumberInCache
- The maximum integer number that will be stored in cache.- See Also:
-
initPrimesCache
Initialization of prime numbers cache.- Parameters:
primesCache
- The primes cache object- See Also:
-
isInitPrimesCacheSuccessful
public static final boolean isInitPrimesCacheSuccessful()Returns true in case when primes cache initialization was successful, otherwise returns false.- Returns:
- Returns true in case when primes cache initialization was successful, otherwise returns false.
-
setNoPrimesCache
public static void setNoPrimesCache()SetsprimesCache
to null -
getMaxNumInPrimesCache
public static final int getMaxNumInPrimesCache()Returns maximum integer number in primes cache- Returns:
- If primes cache was initialized then maximum number in
primes cache, otherwise
PRIMES_CACHE_NOT_INITIALIZED
-
getThreadsNumber
public static final int getThreadsNumber()Gets maximum threads number- Returns:
- Threads number.
-
setDefaultThreadsNumber
public static final void setDefaultThreadsNumber()Sets default threads number -
setThreadsNumber
public static final void setThreadsNumber(int threadsNumber) Sets threads number- Parameters:
threadsNumber
- Thread number.
-
getFunctionValue
Calculates function f(x0) (given as expression) assigning Argument x = x0;- Parameters:
f
- the expressionx
- the argumentx0
- the argument value- Returns:
- f.calculate()
- See Also:
-
arrayList2double
Converts List of double to double[]- Parameters:
numbers
- the numbers list- Returns:
- numbers array
-
getFunctionValues
public static final 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- Parameters:
f
- Function expressionindex
- Index argumentfrom
- 'from' valueto
- 'to' valuedelta
- 'delta' step definition- Returns:
- Array of function values
-
setRandomGenerator
Modifies random generator used by the ProbabilityDistributions class.- Parameters:
randomGenerator
- Random generator.- See Also:
-
setExactComparison
public static final void setExactComparison()Sets comparison mode to EXACT.- See Also:
-
setEpsilonComparison
public static final void setEpsilonComparison()Sets comparison mode to EPSILON.- See Also:
-
setEpsilon
public static final void setEpsilon(double epsilon) Sets epsilon value.- Parameters:
epsilon
- Epsilon value (grater than 0).- See Also:
-
setDefaultEpsilon
public static final void setDefaultEpsilon()Sets default epsilon value. -
getEpsilon
public static final double getEpsilon()Returns current epsilon value.- Returns:
- Returns current epsilon value.
- See Also:
-
checkIfEpsilonMode
public static final boolean checkIfEpsilonMode()Checks if epsilon comparison mode is active;- Returns:
- True if epsilon mode is active, otherwise returns false.
- See Also:
-
checkIfExactMode
public static final boolean checkIfExactMode()Checks if exact comparison mode is active;- Returns:
- True if exact mode is active, otherwise returns false.
- See Also:
-
enableUlpRounding
public static final void enableUlpRounding()Enables ULP rounding. 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. By default this option is enabled resulting in automatic rounding only in some cases. Using this mode 0.1 + 0.1 + 0.1 = 0.3 -
disableUlpRounding
public static final void disableUlpRounding()Disables ULP rounding. 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. By default this option is enabled resulting in automatic rounding only in some cases. Disabling this mode 0.1 + 0.1 + 0.1 will be slightly different than 0.3. -
setUlpRounding
public static final void setUlpRounding(boolean ulpRoundingState) Enables / disables ULP rounding. 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. By default this option is enabled resulting in automatic rounding only in some cases. Disabling this mode 0.1 + 0.1 + 0.1 will be slightly different than 0.3.- Parameters:
ulpRoundingState
- True to enable, false to disable
-
checkIfUlpRounding
public static final 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. By default this option is enabled resulting in automatic rounding only in some cases. Using this mode 0.1 + 0.1 + 0.1 = 0.3- Returns:
- True if ULP rounding is enabled, otherwise false.
-
enableCanonicalRounding
public static final void enableCanonicalRounding()Enables canonical rounding. 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. By default this option is enabled resulting in automatic rounding only in some cases. Using this mode 2.5 - 2.2 = 0.3 -
disableCanonicalRounding
public static final void disableCanonicalRounding()Disables canonical rounding. 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. By default this option is enabled resulting in automatic rounding only in some cases. Using this mode 2.5 - 2.2 = 0.3 -
setCanonicalRounding
public static final void setCanonicalRounding(boolean canonicalRoundingState) Enables / disables canonical rounding. 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. By default this option is enabled resulting in automatic rounding only in some cases. Disabling this mode 0.1 + 0.1 + 0.1 will be slightly different than 0.3.- Parameters:
canonicalRoundingState
- True to enable, false to disable
-
checkIfCanonicalRounding
public static final 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. By default this option is enabled resulting in automatic rounding only in some cases. Using this mode 2.5 - 2.2 = 0.3- Returns:
- True if Canonical rounding is enabled, otherwise false.
-
enableAlmostIntRounding
public static final 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. Very close condition depends on epsilon. -
disableAlmostIntRounding
public static final 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. Very close condition depends on epsilon. -
setAlmostIntRounding
public static final 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. Very close condition depends on epsilon.- Parameters:
almostIntRoundingState
- True to enable, false to disable
-
checkIfAlmostIntRounding
public static final 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. Very close condition depends on epsilon.- Returns:
- true if option enabled, false otherwise
- See Also:
-
setMaxAllowedRecursionDepth
public static final void setMaxAllowedRecursionDepth(int maxAllowedRecursionDepth) Internal limit to avoid infinite loops while calculating expression defined in the way shown by below examples. Argument x = new Argument("x = 2*y"); Argument y = new Argument("y = 2*x"); x.addDefinitions(y); y.addDefinitions(x); Function f = new Function("f(x) = 2*g(x)"); Function g = new Function("g(x) = 2*f(x)"); f.addDefinitions(g); g.addDefinitions(f); Currently does not affect properly defined recursive mode.- Parameters:
maxAllowedRecursionDepth
- Maximum number of allowed recursion calls
-
getMaxAllowedRecursionDepth
public static final int getMaxAllowedRecursionDepth()Internal limit to avoid infinite loops while calculating expression defined in the way shown by below examples. Argument x = new Argument("x = 2*y"); Argument y = new Argument("y = 2*x"); x.addDefinitions(y); y.addDefinitions(x); Function f = new Function("f(x) = 2*g(x)"); Function g = new Function("g(x) = 2*f(x)"); f.addDefinitions(g); g.addDefinitions(f); Currently does not affect properly defined recursive mode.- Returns:
- Max allowed recursion calls
-
setRadiansMode
public static final void setRadiansMode()Set mXparser to operate in radians mode for trigonometric functions -
setDegreesMode
public static final void setDegreesMode()Set mXparser to operate in degrees mode for trigonometric functions -
checkIfRadiansMode
public static final boolean checkIfRadiansMode()Checks whether mXparser operates in radians mode for trigonometric functions.- Returns:
- true - if radians mode, false - otherwise
-
checkIfDegreesMode
public static final boolean checkIfDegreesMode()Checks whether mXparser operates in degrees mode for trigonometric functions.- Returns:
- true - if degrees mode, false - otherwise
-
setToFractionInitSearchSize
public static final void setToFractionInitSearchSize(long n) Sets initial search size for the toFraction method- Parameters:
n
- initial search size, has to be non-zero positive.- See Also:
-
getToFractionInitSearchSize
public static final long getToFractionInitSearchSize()Gets initial search size used by the toFraction method- Returns:
- initial search size used by the toFraction method
- See Also:
-
removeBuiltinTokens
Removes built-in tokens form the list of tokens recognized by the parsers. Procedure affects only tokens classified to built-in functions, built-in constants, built-in units, built-in random variables.- Parameters:
tokens
- List of tokens to remove.
-
unremoveBuiltinTokens
Un-marks tokens previously marked to be removed.- Parameters:
tokens
- List of tokens to un-mark.
-
unremoveAllBuiltinTokens
public static final void unremoveAllBuiltinTokens()Un-marks all tokens previously marked to be removed. -
getBuiltinTokensToRemove
Returns current list of tokens marked to be removed.- Returns:
- Current list of tokens marked to be removed
-
modifyBuiltinToken
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)). Procedure affects only tokens classified to built-in functions, built-in constants, built-in units, built-in random variables.- Parameters:
currentToken
- Current token namenewToken
- New token name
-
modifyBuiltinToken
public static final 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)). Procedure affects only tokens classified to built-in functions, built-in constants, built-in units, built-in random variables.- Parameters:
currentToken
- Current token namenewToken
- New token namenewTokenDescription
- New token description (if null the previous one will be used)
-
unmodifyBuiltinTokens
Un-marks tokens previously marked to be modified.- Parameters:
currentOrNewTokens
- List of tokens to be un-marked (current or modified).
-
unmodifyAllBuiltinTokens
public static final void unmodifyAllBuiltinTokens()Un-marks all tokens previously marked to be modified. -
getBuiltinTokensToModify
Return details on tokens marked to be modified.- Returns:
- String[i][0] - current token, String[i][1] - new token, String[i][2] - new token description.
-
setToOverrideBuiltinTokens
public static final void setToOverrideBuiltinTokens()Sets mXparser to override built-in tokens by user defined tokens. -
setNotToOverrideBuiltinTokens
public static final void setNotToOverrideBuiltinTokens()Sets mXparser not to override built-in tokens by user defined tokens. -
checkIfsetToOverrideBuiltinTokens
public static final boolean checkIfsetToOverrideBuiltinTokens()Checks whether mXparser is set to override built-in tokens.- Returns:
- True if mXparser is set to override built-in tokens by user defined tokens, otherwise false.
-
setDefaultOptions
public static final void setDefaultOptions()Sets default mXparser options -
getTokenTypeDescription
Returns token type description.- Parameters:
tokenTypeId
- Token type id- Returns:
- String representing token type description.
-
numberToHexString
Converts integer number to hex string (plain text)- Parameters:
number
- Integer number- Returns:
- Hex string (i.e. FF23)
-
numberToHexString
Converts long number to hex string (plain text)- Parameters:
number
- Long number- Returns:
- Hex string (i.e. FF23)
-
numberToHexString
Converts (long)double number to hex string (plain text)- Parameters:
number
- Double number- Returns:
- Hex string (i.e. FF23)
-
hexString2AsciiString
Converts hex string into ASCII string, where each letter is represented by two hex digits (byte) from the hex string.- Parameters:
hexString
- Hex string (i.e. 48656C6C6F)- Returns:
- ASCII string (i.e. '48656C6C6F' = 'Hello')
-
numberToAsciiString
Converts number into ASCII string, where each letter is represented by two hex digits (byte) from the hex representation of the original number- Parameters:
number
- Integer number (i.e. 310939249775 = '48656C6C6F')- Returns:
- ASCII string (i.e. '48656C6C6F' = 'Hello')
-
numberToAsciiString
Converts number into ASCII string, where each letter is represented by two hex digits (byte) from the hex representation of the original number- Parameters:
number
- Long number (i.e. 310939249775 = '48656C6C6F')- Returns:
- ASCII string (i.e. '48656C6C6F' = 'Hello')
-
numberToAsciiString
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.- Parameters:
number
- Double number (i.e. 310939249775 = '48656C6C6F')- Returns:
- ASCII string (i.e. '48656C6C6F' = 'Hello')
-
convOthBase2Decimal
Other base (base between 1 and 36) number literal conversion to decimal number.- Parameters:
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 36- Returns:
- Decimal number after conversion. If conversion was not possible the Double.NaN is returned.
-
convOthBase2Decimal
Other base (base between 1 and 36) number literal conversion to decimal number. Base specification included in number literal. Examples: 2 for b2.1001 or b.1001, 1 for b1.111, 23 for b23.123afg 16 for b16.123acdf or h.123acdf.- Parameters:
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:Z- Returns:
- Decimal number after conversion. If conversion was not possible the Double.NaN is returned.
-
convOthBase2Decimal
public static final double convOthBase2Decimal(int numeralSystemBase, int... digits) Other base to decimal conversion.- Parameters:
numeralSystemBase
- Numeral system base has to be above 0.digits
- List of digits- Returns:
- Number after conversion. If conversion is not possible then Double.NaN is returned.
-
convOthBase2Decimal
public static final double convOthBase2Decimal(double numeralSystemBase, double... digits) Other base to decimal conversion.- Parameters:
numeralSystemBase
- Numeral system base has to be above 0.digits
- List of digits- Returns:
- Number after conversion. If conversion is not possible then Double.NaN is returned.
-
convDecimal2OthBase
Decimal number to other numeral system conversion with base between 1 and 36.- Parameters:
decimalNumber
- Decimal numbernumeralSystemBase
- Numeral system base between 1 and 36- Returns:
- Number literal representing decimal number in given numeral numeral system. 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:Z. If conversion was not possible the "NaN" string is returned.
-
convDecimal2OthBase
public static final String convDecimal2OthBase(double decimalNumber, int numeralSystemBase, int format) Decimal number to other numeral system conversion with base between 1 and 36.- Parameters:
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.- Returns:
- Number literal representing decimal number in given numeral numeral system. 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:Z If conversion was not possible the "NaN" string is returned.
-
toFraction
public static final double[] toFraction(double value) Converts double value to its fraction representation.- Parameters:
value
- Value to be converted- Returns:
- Array representing fraction. Sign at index 0, numerator at index 1, denominator at index 2. If conversion is not possible then Double.NaN is assigned to all the fields.
-
toMixedFraction
public static final double[] toMixedFraction(double value) Converts double value to its mixed fraction representation.- Parameters:
value
- Value to be converted- Returns:
- Array representing fraction. Sign at index 0, whole number at index 1, numerator at index 2, denominator at index 3. If conversion is not possible then Double.NaN is assigned to both numerator and denominator.
-
fractionToString
Converts array representing fraction to fraction string representation.- Parameters:
fraction
- Array representing fraction (including mix fractions)- Returns:
- String representation of fraction.
- See Also:
-
toFractionString
Converts number to its fraction string representation.- Parameters:
value
- Given number- Returns:
- String representation of fraction.
- See Also:
-
toMixedFractionString
Converts number to its mixed fraction string representation.- Parameters:
value
- Given number- Returns:
- String representation of fraction.
- See Also:
-
consolePrintln
Prints object.toString to the Console + new line- Parameters:
o
- Object to print
-
consolePrintln
Prints array of strings- Parameters:
stringArray
- array of strinfs
-
consolePrintln
public static final void consolePrintln()Prints new line to the Console, no new line -
consolePrint
Prints object.toString to the Console- Parameters:
o
- Object to print
-
resetConsoleOutput
public static final void resetConsoleOutput()Resets console output string, console output string is being built by consolePrintln(), consolePrint(). -
setDefaultConsolePrefix
public static void setDefaultConsolePrefix()Sets default console prefix. -
setDefaultConsoleOutputPrefix
public static void setDefaultConsoleOutputPrefix()Sets default console output string prefix. -
setConsolePrefix
Sets console prefix.- Parameters:
consolePrefix
- String containing console prefix definition.
-
setConsoleOutputPrefix
Sets console output string prefix.- Parameters:
consoleOutputPrefix
- String containing console output prefix definition.
-
getConsoleOutput
Returns console output string, console output string is being built by consolePrintln(), consolePrint().- Returns:
- Console output string
- See Also:
-
getHelp
General mXparser expression help- Returns:
- String with all general help content
-
getHelp
General mXparser expression help - in-line key word searching- Parameters:
word
- Key word to be searched- Returns:
- String with all help content lines containing given keyword
-
consolePrintHelp
public static final void consolePrintHelp()Prints all help content. -
consolePrintHelp
Prints filtered help content.- Parameters:
word
- Key word.
-
getKeyWords
Returns list of key words known to the parser- Returns:
- List of keywords known to the parser.
- See Also:
-
getKeyWords
Returns list of key words known to the parser- Parameters:
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.- Returns:
- List of keywords known to the parser filter against query string.
- See Also:
-
regexMatch
Function used to introduce some compatibility between JAVA and C# while regexp matching.- Parameters:
str
- Stringpattern
- Pattern (regexp)- Returns:
- True if pattern matches entirely, False otherwise
-
consolePrintTokens
Prints tokens to the console.- Parameters:
tokens
- Tokens list.- See Also:
-
getLicense
Gets license info- Returns:
- license info as string
-
wait
public static final void wait(int n) Waits given number of milliseconds- Parameters:
n
- Number of milliseconds
-
cancelCurrentCalculation
public static final void cancelCurrentCalculation()Method give a signal to other methods to cancel current calculation. This is a flag, remember to reset this flag after process is cancelled and you are going to start new calculation process. -
resetCancelCurrentCalculationFlag
public static final void resetCancelCurrentCalculationFlag()Resets a flag giving signal to the engine to cancel current calculation.cancelCurrentCalculation()
-
isCurrentCalculationCancelled
public static final boolean isCurrentCalculationCancelled()Check whether a flag to cancel current calculation process is set.cancelCurrentCalculation()
resetCancelCurrentCalculationFlag()
- Returns:
- true in case cancel calculation flag is active, otherwise false
-