Extensive list of settings

FOR COMMERCIAL USE, PLEASE ENSURE YOU HAVE A COMMERCIAL LICENSE.
ANOTHER WAY TO SUPPORT MY WORK IS BY PURCHASING MY BOOK, CUSTOMER FIRST, VALUE NEXT.
THANK YOU FOR SUPPORTING MY WORK!

The tutorial consists of more than 200 live examples from 50 sections given separately for JAVA, C# and C++. Each of the examples can be copied and run on your own environment. In addition, mXparser provides an extensive collection of over 500 built-in math functions, expressions and symbols. Familiarize yourself with the scope and the syntax. Live testing is the best way to learn. Good luck! 🙂

Tutorial Math Collection API spec Download

Below is the code for JAVA, C# (the code for C# is almost identical) and C++. To copy the code, double-click inside the frame.

mXparser provides extensive configuration options. The vast majority of settings can be understood by analyzing the method name – however, I encourage you to read the API documentation and tutorials.

1. Degrees / Radians Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfDegreesMode();
void mXparser.setDegreesMode();
boolean mXparser.checkIfRadiansMode();
void mXparser.setRadiansMode();
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfDegreesMode();
void mXparser::setDegreesMode();
bool mXparser::checkIfRadiansMode();
void mXparser::setRadiansMode();

2. Attempt To Fix Expression String Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfAttemptToFixExpStrMode();
void mXparser.enableAttemptToFixExpStrMode();
void mXparser.disableAttemptToFixExpStrMode();

/* Local Settings - Reach: Given Expression e */
boolean e.checkIfAttemptToFixExpStrMode();
void e.enableAttemptToFixExpStrMode();
void e.disableAttemptToFixExpStrMode();
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfAttemptToFixExpStrMode();
void mXparser::enableAttemptToFixExpStrMode();
void mXparser::disableAttemptToFixExpStrMode();

/* Local Settings - Reach: Given Expression e */
bool e->checkIfAttemptToFixExpStrMode();
void e->enableAttemptToFixExpStrMode();
void e->disableAttemptToFixExpStrMode();

3. Primes Cache

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.initPrimesCache();
void mXparser.initPrimesCache​(int mximumNumberInCache);
void mXparser.initPrimesCache​(const PrimesCachePtr &primesCache);
boolean mXparser.isInitPrimesCacheSuccessful();
int mXparser.getMaxNumInPrimesCache();
void mXparser.setNoPrimesCache();
C++ code
/* Global Settings - Reach: All Defined Elements */
void mXparser::initPrimesCache();
void mXparser::initPrimesCache​(int mximumNumberInCache);
void mXparser::initPrimesCache​(const PrimesCachePtr &primesCache);
bool mXparser::isInitPrimesCacheSuccessful();
int mXparser::getMaxNumInPrimesCache();
void mXparser::setNoPrimesCache();

4. Epsilon Comparison / Exact Comparison Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfEpsilonMode();
void mXparser.setEpsilonComparison();
double mXparser.getEpsilon();
void mXparser.setEpsilon​(double epsilon);
void mXparser.setDefaultEpsilon();
boolean mXparser.checkIfExactMode();
void mXparser.setExactComparison();
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfEpsilonMode();
void mXparser::setEpsilonComparison();
double mXparser::getEpsilon();
void mXparser::setEpsilon​(double epsilon);
void mXparser::setDefaultEpsilon();
bool mXparser::checkIfExactMode();
void mXparser::setExactComparison();

5. Canonical Rounding Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfCanonicalRounding();
void mXparser.enableCanonicalRounding();
void mXparser.disableCanonicalRounding();
void mXparser.setCanonicalRounding​(bool canonicalRoundingState);
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfCanonicalRounding();
void mXparser::enableCanonicalRounding();
void mXparser::disableCanonicalRounding();
void mXparser::setCanonicalRounding​(bool canonicalRoundingState);

6. ULP (Unit In The Last Place) Rounding Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfUlpRounding();
void mXparser.enableUlpRounding();
void mXparser.disableUlpRounding();
void mXparser.setUlpRounding​(boolean ulpRoundingState);
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfUlpRounding();
void mXparser::enableUlpRounding();
void mXparser::disableUlpRounding();
void mXparser::setUlpRounding​(bool ulpRoundingState);

7. Almost Integers Rounding Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfAlmostIntRounding();
void mXparser.enableAlmostIntRounding();
void mXparser.disableAlmostIntRounding();
void mXparser.setAlmostIntRounding​(boolean almostIntRoundingState);
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfAlmostIntRounding();
void mXparser::enableAlmostIntRounding();
void mXparser::disableAlmostIntRounding();
void mXparser::setAlmostIntRounding​(bool almostIntRoundingState);

8. Implied Multiplication Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfImpliedMultiplicationMode();
void mXparser.enableImpliedMultiplicationMode();
void mXparser.disableImpliedMultiplicationMode();

/* Local Settings - Reach: Given Expression e */
boolean e.checkIfImpliedMultiplicationMode();
void e.enableImpliedMultiplicationMode();
void e.disableImpliedMultiplicationMode();
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfImpliedMultiplicationMode();
void mXparser::enableImpliedMultiplicationMode();
void mXparser::disableImpliedMultiplicationMode();

/* Local Settings - Reach: Given Expression e */
bool e->checkIfImpliedMultiplicationMode();
void e->enableImpliedMultiplicationMode();
void e->disableImpliedMultiplicationMode();

9. Unicode Builtin Key Words Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfUnicodeBuiltinKeyWordsMode();
void mXparser.enableUnicodeBuiltinKeyWordsMode();
void mXparser.disableUnicodeBuiltinKeyWordsMode();

/* Local Settings - Reach: Given Expression e */
boolean e.checkIfUnicodeBuiltinKeyWordsMode();
void e.enableUnicodeBuiltinKeyWordsMode();
void e.disableUnicodeBuiltinKeyWordsMode();
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfUnicodeBuiltinKeyWordsMode();
void mXparser::enableUnicodeBuiltinKeyWordsMode();
void mXparser::disableUnicodeBuiltinKeyWordsMode();

/* Local Settings - Reach: Given Expression e */
bool e->checkIfUnicodeBuiltinKeyWordsMode();
void e->enableUnicodeBuiltinKeyWordsMode();
void e->disableUnicodeBuiltinKeyWordsMode();

10. Verbose / Silent Mode

Java/C# code
/* Local Settings - Reach: Given Expression e */
void e.setVerboseMode();
void e.setSilentMode();
C++ code
/* Local Settings - Reach: Given Expression e */
void e->setVerboseMode();
void e->setSilentMode();

11. Override Builtin Tokens Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
boolean mXparser.checkIfsetToOverrideBuiltinTokens();
void mXparser.setToOverrideBuiltinTokens();
void mXparser.setNotToOverrideBuiltinTokens();
C++ code
/* Global Settings - Reach: All Defined Elements */
bool mXparser::checkIfsetToOverrideBuiltinTokens();
void mXparser::setToOverrideBuiltinTokens();
void mXparser::setNotToOverrideBuiltinTokens();

12. Modify Builtin Tokens Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.modifyBuiltinToken​(String currentToken, String newToken);
void mXparser.modifyBuiltinToken​(String currentToken, String newToken, String newTokenDescription);
String[][] mXparser.getBuiltinTokensToModify();
void mXparser.unmodifyBuiltinTokens​(String... currentOrNewTokens);
void mXparser.unmodifyAllBuiltinTokens();
C++ code
/* Global Settings - Reach: All Defined Elements */
void mXparser::modifyBuiltinToken​(const std::string &currentToken, const std::string &newToken);
void mXparser::modifyBuiltinToken​(const std::string &currentToken, const std::string &newToken, const std::string &newTokenDescription);
ArrayPtr<StringPtr> mXparser::getBuiltinTokensToModify();
template<typename... Strings> void mXparser::unmodifyBuiltinTokens(Strings &&... currentOrNewTokens)
void mXparser::unmodifyAllBuiltinTokens();

13. Remove Builtin Tokens Mode

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.removeBuiltinTokens​(String... tokens);
String[] mXparser.getBuiltinTokensToRemove();
void mXparser.unremoveBuiltinTokens​(String... tokens);
void mXparser.unremoveAllBuiltinTokens();
C++ code
/* Global Settings - Reach: All Defined Elements */
template<typename... Strings> void removeBuiltinTokens(Strings &&... tokens)
ArrayPtr<StringPtr> mXparser::getBuiltinTokensToRemove();
template<typename... Strings> void mXparser::unremoveBuiltinTokens(Strings &&... tokens)
void mXparser::unremoveAllBuiltinTokens();

14. Current Calculation Cancellation

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.cancelCurrentCalculation();
boolean mXparser.isCurrentCalculationCancelled();
void mXparser.resetCancelCurrentCalculationFlag();
C++ code
/* Global Settings - Reach: All Defined Elements */
void mXparser::cancelCurrentCalculation();
bool mXparser::isCurrentCalculationCancelled();
void mXparser::resetCancelCurrentCalculationFlag();

15. Setting Console Prefix

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.setConsolePrefix​(String consolePrefix);
void mXparser.setDefaultConsolePrefix();
C++ code
void mXparser::setConsolePrefix​(const std::string &consolePrefix);
void mXparser::setDefaultConsolePrefix();

16. Reaching Console Output String

Java/C# code
/* Global Settings - Reach: All Defined Elements */
String mXparser.getConsoleOutput();
void mXparser.resetConsoleOutput();
void mXparser.setConsoleOutputPrefix​(String consoleOutputPrefix);
void mXparser.setDefaultConsoleOutputPrefix();
C++ code
/* Global Settings - Reach: All Defined Elements */
StringPtr mXparser::getConsoleOutput();
void mXparser::resetConsoleOutput();
void mXparser::setConsoleOutputPrefix​(const std::string &consoleOutputPrefix);
void mXparser::setDefaultConsoleOutputPrefix();

17. Maximum Allowed Recursion Depth

Java/C# code
/* Global Settings - Reach: All Defined Elements */
int mXparser.getMaxAllowedRecursionDepth();
void mXparser.setMaxAllowedRecursionDepth​(int maxAllowedRecursionDepth);
C++ code
/* Global Settings - Reach: All Defined Elements */
int mXparser::getMaxAllowedRecursionDepth();
void mXparser::setMaxAllowedRecursionDepth​(int maxAllowedRecursionDepth);

18. Double to Fraction Conversion

Java/C# code
/* Global Settings - Reach: All Defined Elements */
long mXparser.getToFractionInitSearchSize();
void mXparser.setToFractionInitSearchSize​(long n);
double[] mXparser.toFraction​(double value);
String mXparser.toFractionString​(double value);
double[] mXparser.toMixedFraction​(double value);
String mXparser.toMixedFractionString​(double value);
C++ code
/* Global Settings - Reach: All Defined Elements */
Long mXparser::getToFractionInitSearchSize();
void mXparser::setToFractionInitSearchSize​(Long n);
ArrayPtr<double> mXparser::toFraction​(double value);
String mXparser::toFractionString​(double value);
ArrayPtr<double> mXparser::toMixedFraction​(double value);
StringPtr mXparser::toMixedFractionString​(double value);

19. Random Generator Selection

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.setRandomGenerator​(Random randomGenerator);
C++ code
/* Global Settings - Reach: All Defined Elements */
void mXparser::setRandomGenerator​(const RandomPtr &randomGenerator);

20. Maximum Threads Number

Java/C# code
/* Global Settings - Reach: All Defined Elements */
int mXparser.getThreadsNumber();
void mXparser.setThreadsNumber​(int threadsNumber);
void mXparser.setDefaultThreadsNumber();
C++ code
/* Global Settings - Reach: All Defined Elements */
int mXparser::getThreadsNumber();
void mXparser::setThreadsNumber​(int threadsNumber);
void mXparser::setDefaultThreadsNumber();

21. Default Settings

Java/C# code
/* Global Settings - Reach: All Defined Elements */
void mXparser.setDefaultOptions();
C++ code
/* Global Settings - Reach: All Defined Elements */
void mXparser::setDefaultOptions();
Nuget – Package Manager (C#, F#, Visual Basic, …)

Install-Package MathParser.org-mXparser-Version 6.1.1

Nuget – .NET CLI

dotnet add package MathParser.org-mXparser--version 6.1.1

Nuget – Package Reference

<PackageReference Include="MathParser.org-mXparser"Version="6.1.1"/>

Maven – Dependency (Java, Kotlin, Scala, Groovy, …)

<dependency>
<groupid>
org.mariuszgromada.math</groupid>
<artifactid>
MathParser.org-mXparser</artifactid>
<version>
6.1.1</version>
</dependency>

Maven – Gradle

implementation 'org.mariuszgromada.math:MathParser.org-mXparser:6.1.1'

CMake – Dependency / FetchContent (C++, MSVC, LLVM/Clang, GNU/GCC, MinGW, MSYS2, WSL, Windows, Linux, Unix, MacOS)

include(FetchContent)
FetchContent_Declare(
MathParserOrgMxParser
GIT_REPOSITORY
https://github.com/mariuszgromada/MathParser.org-mXparser.git
GIT_TAG
v.6.1.1
SOURCE_SUBDIR CURRENT/cpp/lib
)
FetchContent_MakeAvailable(
MathParserOrgMxParser)
mxparser_link(YourExecutable)

GitHub

git clone https://github.com/mariuszgromada/MathParser.org-mXparser

OTHER DOWNLOAD OPTIONS

Download latest release – v.6.1.0 Sagitara: .NET bin onlyDownload latest release – v.6.1.0 Sagitara: JAVA bin onlyDownload latest release – v.6.1.0 Sagitara: bin + doc

NEWS FROM MATHPARSER.ORG
SOURCE CODE

Source code .zipSource code .tar.gz
View on GitHubMathSpace.pl

My other creative spaces

DONATION
Did you find the software useful?
Please consider donation 🙂
DONATE