MathParser.org-mXparser
6.0.0
dotnet add package MathParser.org-mXparser --version 6.0.0
NuGet\Install-Package MathParser.org-mXparser -Version 6.0.0
<PackageReference Include="MathParser.org-mXparser" Version="6.0.0" />
paket add MathParser.org-mXparser --version 6.0.0
#r "nuget: MathParser.org-mXparser, 6.0.0"
// Install MathParser.org-mXparser as a Cake Addin #addin nuget:?package=MathParser.org-mXparser&version=6.0.0 // Install MathParser.org-mXparser as a Cake Tool #tool nuget:?package=MathParser.org-mXparser&version=6.0.0
Latest release
v.6.0.0 (2024-05-19): Translations (French, German, Italian, Polish, Portuguese, Spanish) + New operators
Translations:
- mXparser in French,
- mXparser in German,
- mXparser in Italian,
- mXparser in Polish,
- mXparser in Portuguese,
- mXparser in Spanish,
New bitwise operators:
New division operators:
v.5.2.1 (2023-02-08): Orion: Improvement and standardization of descriptions and messages. Definition of your own translations. Exporting help in multiple formats. Clones for thread safe. Performance improvement.
- Improvement and standardization of built-in elements description, click to see usage example
- Improvement and standardization of error messages, click to see usage example
- Definition of your own translations, click to see usage example
- Help content in the CSV format, click to see usage example
- Help content in the HTML format, click to see usage example
- Help content in the Markdown format, click to see usage example
- Help content in the JSON format, click to see usage example
- Clones for thread safe, click to see usage example
- Performance improvement for calculations in the loop, click to see usage example
- Bug fixed #291 Euler polynomial function producing wrong results
- Bug fixed #292 Implied Multiplication bug when blank character separates
- Bug fixed #283 Unnecessary newline at the end in getErrorMessage()
- Bug fixed #284 Unnecessary space in function expression string returned by getErrorMessage()
- Bug fixed #297 Claculation Steps Register fix - commas / parenthesis / missing parts related to user arguments
v.5.1.0 (2022-11-13): Libris: Implied Multiplication, Unicode Math Symbols, Additional Probability Distributions, Calculation Steps Register, Serialization Support
- Implied Multiplication, click to see usage example
- Unicode Math Symbols, click to see usage example
- Calculation Steps Register, click to see usage example
- Serialization Support, click to see usage example
- An Attempt To Fix Expression String
- Student's t-distribution: Probabilisty Density Function, Cumulative Distribution Function, Quantile Function
- Chi-Squared Distribution: Probabilisty Density Function, Cumulative Distribution Function, Quantile Function
- F-Snedecor Distribution: Probabilisty Density Function, Cumulative Distribution Function, Quantile Function
- Minor Bug fixing: 259, 258, 252, 261, 262, 263, 271, 269, 268, 266, 265
- Regression tests refactoring
- License update
Tutorial
The tutorial consists of c.a. 180 live examples from c.a. 40 sections. 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!
Using internal help
- Full help content
- In-line help searching
Simple expressions
- Simple calculation
- Changing expression string
- Using operators
- Power function
- Using numbers in scientific notation
- Percent sign
- Leading zeros
Implied multiplication
- Numbers and parenthesis
- Numbers and constants / arguments
- Numbers and constants / arguments and parenthesis
- Numbers and constants / arguments and parenthesis and functions
- Implied multiplication and possible ambiguity
- Implied multiplication and list of tokens
- Enable / disable implied multiplication
Evaluating relations
- Binary relation “=”
- Binary relation “<“
- Boolean operator “OR”
- Boolean operator “AND”
Using built-in functions
- Unary function
- Binary function
- Function with 3 arguments
- Function with n-arguments
- Function with even number of arguments
User defined constants
- Defining constant – various options
User defined arguments
- Dealing with free arguments
- Defining dependent arguments
- Implementing your own Argument Extension
- Getting list of missing user defined arguments
- Possible conflict between Implied Multiplication and getting list of missing user defined arguments + recommended solutions
User defined functions
- Fast function definition (performance of creation)
- Handy function constructor, but slower proces of function creation (performance of creation slower, but calculation the same)
- Function with more parameters
- Function in function
- Implementing your own Function Extension
- Getting list of missing user defined functions
- Possible conflict between Implied Multiplication and getting list of missing user defined functions + recommended solutions
Expression pre-compilation
- What is pre-compilation?
- When is pre-compilation done?
- When is pre-compilation done again?
- An example of bad practice in computing the value of an expression for a changing argument value
- An example of good practice in computing the value of an expression for a changing argument value
Variadic user defined functions
- Function returning number of parameters provided
- Function returning sum of first and last parameter provided
- Function returning parameter at position defined by the first parameter
- Function returning sum of all parameters squared
- Implementing your own Variadic Function Extension
“if” and “iff” functions
- Mechanics of the if function
- “if” function and arguments
- “if” function in user defined function
- Mechanics of the “iff” function
- iff function is not limited in number of cases
Summation & Product iterated operators
- SIGMA summation operator
- PI product operator
- SIGMA summation operator – Approximating sin(x) by Taylor series
- SIGMA summation operator – Approximating pi value by integrating sqrt(1-x^2)
Derivatives & Integrals
- General derivative
- Left / right derivative
- Derivative from more complex function
- Derivative – alternative syntax
- Integrals – calculating pi by integration sqrt(1-x^2)
Solving equation f(x) = 0
- Solve 2x-4 = 0 for x in [0, 10]
- Solve cos(x) = 0 for x in [0, pi]
- Solve cos(x) = 0 for x in [pi, pi] (root not bracketed)
- Solve x-y = 0 for x in [0, 10] and y = 4
- Solve sin'(x) = 0 for x in [0, pi]
Prime Numbers
- Primality test function
- Primes counting function
- Using built-in primes cache to accelerate calculations
- Estimating number of primes using Offset logarithmic integral function
- Prime factorization
Built-in constants
- Using built-in constants
- Estimating Moon gravitational acceleration
- Getting list of constants
Built-in Units
- Units of length / distance
- Units of time
- Units of information
- Units of volume
- Express 4 feet in inches
- Express in square kilometers the area of a rectangle measuring 100 meters by 2 kilometers
- List of supported units
Built-in Metric prefixes
- Example: 10 Millions / Kilo
- List of supported metric prefixes
PDF, CDF and Quantile functions
- Expected value estimation using Probability Distribution Function
- Probability estimation using Cumulative Distribution Function – the law of 3*SIGMA
- Calculating quantiles using Inverse Cumulative Distribution Function – males height example assuming males height distribution N(170, 15)
Random numbers
- Random number from uniform continuous distribution
- Random number from uniform discrete distribution
- Random number from normal distribution
- Random number from a given list
- Estimating mean of Normal distribution
- Estimating standard deviation of Normal distribution
- Estimating variance of Normal distribution
Built-in Random Variables
- Random integer
- Random integer N: -10^k ⇐ N ⇐ 10^k for k = 1, 2, …,9
- Random natural number
- Random natural number N ⇐ 10^k for k = 1, 2, …,9
- Uniform continuous distribution U(0,1)
- Normal distribution N(0,1)
User defined Random Variables
- Dependent argument as user defined random variable
- User defined function as user defined random variable – random walk example
Bitwise Operators
- Bitwise unary complement
- Bitwise AND
- Bitwise exclusive OR
- Bitwise inclusive OR
- Signed left / right shift
Fractions
- Fraction (proper) as Number Literal
- Improper Fraction as Number Literal
- Fraction (Mixed Number) as Number Literal
- Fraction (Mixed Numer) and Improper Fraction in one Number Literal
- Operations on Fractions
- Represent double as Fraction
Various numeral systems
- Binary number
- Octal number
- Hexadecimal number
- Unary number
- Unary zero
- Base 1 – 36 number literals
- Base N numeral system
Fast (limited) user defined recursion
- Fibonacci numbers using fast recursion
User defined recursion – not limited
- Fibonacci numbers using user defined recursive function
- Number of recursive parameters is not limited – binomial coefficient definition using user defined recursive function
- Mixing function parameters – part causing recursive calls, other part as ‘typical’ parameter. Below example is presenting definition of Chebyshev polynomial using recursive function.
- Indirect recursion – approximating sin(x) and cos(x)
Unicode math
- The square root √
- The square root of the square root √√
- The square root and parenthesis √()
- The roots of various orders ∜ ∛ √
- SIGMA summation operator ∑
- Unicode name of a user defined argument
- Show all Unicode built-in keywords
- Enable / disable Unicode built-in keywords
- List of Unicode symbols that grammar accepts
Working with NaN – Not-a-Number
- NaN in condition
- NaN symbol
- First non-NaN value
Radians Mode / Degrees Mode
- Basic trigonometric function
- Inverse trigonometric function
- Using units of angle being in radians mode
Calculation Steps Register
- Simple Expression
- Dependent User Argument
- User Function
- Expression referencing User Argument and User Function
Inspecting calculation process
- Setting the verbose mode
- Syntax checking
- Lexical syntax checking
- Getting computing time
Playing with expression tokens
- Printing expression tokens
- Using tokens to print expression in a fancy way
- Playing with invalid tokens
Built-in tokens (key words) manipulation
- Removing built-in tokens
- Modifying built-in tokens
- Overriding built-in tokens
Smart rounding settings
- A few words on Floating Point Math
- Why mXparser is based on the double data type?
- Smart rounding options available in mXparser
- Check which rounding settings are currently active
- Example - Only Canonical Rounding option is active
- Example - Only Unit In The Last Place Rounding option is active
- Example - Only Almost Integer Rounding option is active
- Example - None of the rounding options are active
Efficient calculations in the loops
- User expression in the loop + output
- User function in the loop + output
- User argument (dependent) in the loop + output
- User expression in the loop – Performance
- User function in the loop – Performance
- User argument (dependent) in the loop – Performance
Extensive list of settings
- Degrees / Radians Mode
- Attempt To Fix Expression String Mode
- Primes Cache
- Epsilon Comparison / Exact Comparison Mode
- Canonical Rounding Mode
- ULP (Unit In The Last Place) Rounding Mode
- Almost Integers Rounding Mode
- Implied Multiplication Mode
- Unicode Builtin Key Words Mode
- Verbose / Silent Mode
- Override Builtin Tokens Mode
- Modify Builtin Tokens Mode
- Remove Builtin Tokens Mode
- Current Calculation Cancellation
- Setting Console Prefix
- Reaching Console Output String
- Maximum Allowed Recursion Depth
- Double to Fraction Conversion
- Random Generator Selection
- Maximum Threads Number
- Default Settings
Serialization & Deserialization
- SerializationUtils class
- Binary serialization SECURITY WARNING
- Enabling / Disabling binary serialization
- Expression serialization / deserialization from / to byte[]
- Expression serialization / deserialization from / to String
- Expression serialization / deserialization from / to File
- Serialization / Deserialization of complex objects
>>> Click to learn from examples <<<
Math Collection
mXparser provides a rich collection of built-in math functions, math expressions, and math symbols. Familiarize yourself with the scope and the syntax. Math collection internal help is also available directly from the software – see the tutorial and the API documentation for all the details.
- Operators
- Binary Relations
- Boolean Operators
- Bitwise Operators
- Unary Functions
- Binary Functions
- 3-args Functions
- Variadic Functions
- Random Variables
- Iterated Operators
- Calculus Operators
- Mathematical Constants
- Physical Constants
- Astronomical Constants
- Metric prefixes
- Units
- Parser Symbols
- Number formats
API documentation
API documentation
Did you find the software useful?
Android App that is powered by MathParser.org-mXparser
Other websites
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
.NET Standard | netstandard2.1 is compatible. |
.NET Framework | net35 is compatible. net40 was computed. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- No dependencies.
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.6.2
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETFramework 4.8.1
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (8)
Showing the top 5 NuGet packages that depend on MathParser.org-mXparser:
Package | Downloads |
---|---|
FrontLookCoreLibraryAssembly
This package adds an asp.net core class library! |
|
LightConversion.Topas4
Library to control optical parametric amplifiers by Light Conversion. |
|
GenICam
Package Description |
|
Quirco.OpenXmlTemplater
Package Description |
|
Lazurd.Nx.Erp.Engine
Lazurd IT Nx Erp Engine |
GitHub repositories (5)
Showing the top 5 popular GitHub repositories that depend on MathParser.org-mXparser:
Repository | Stars |
---|---|
ArduPilot/MissionPlanner
Mission Planner Ground Control Station for ArduPilot (c# .net)
|
|
MUnique/OpenMU
This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".
|
|
MatterHackers/MatterControl
3D printing software for Windows, Mac and Linux
|
|
VolcanicArts/VRCOSC
Modular OSC program creator, toolkit, and router made for VRChat. Show your heartrate, time, hardware stats, speech to text, control Spotify, and more! Includes drag-and-drop prefabs for your avatar.
|
|
Kaioru/Edelstein
A v.95.1 Mushroom game server emulator written in C# .NET
|
Version | Downloads | Last updated |
---|---|---|
6.0.0 | 35,151 | 5/19/2024 |
5.2.1 | 295,172 | 2/7/2023 |
5.2.0 | 25,595 | 1/28/2023 |
5.1.0 | 112,365 | 11/13/2022 |
5.0.7 | 143,994 | 8/21/2022 |
5.0.6 | 53,204 | 5/31/2022 |
5.0.5 | 5,652 | 5/29/2022 |
5.0.4 | 5,069 | 5/22/2022 |
5.0.3 | 4,284 | 5/21/2022 |
5.0.2 | 53,584 | 4/18/2022 |
5.0.1 | 7,179 | 4/10/2022 |
5.0.0 | 3,952 | 4/10/2022 |
4.4.3 | 55,333 | 5/28/2022 |
4.3.4 | 31,533 | 5/27/2022 |
v.6.0 Picon: 1. Translations: French, German, Italian, Polish, Portuguese, Spanish; 2. NET8.0; 3. New operators (bitwise, division);