Skip to content

Commit 8d3120b

Browse files
2.1.0 - release
1 parent 38b08fc commit 8d3120b

File tree

344 files changed

+105961
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

344 files changed

+105961
-0
lines changed

STABLE/2.1.0/README.txt

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
mXparser - Math Parser Java C# .NET (CLS) Library beta
2+
A flexible mathematical expressions parser for JAVA and C# .NET (CLS)
3+
4+
v.2.1.0 (2016-01-02):
5+
* New static methods in class mxparser
6+
- mXparser.numberToHexString(number) + overloads: int, long, double
7+
- mXparser.hexString2AsciiString(String hexString)
8+
- mXparser.numberToAsciiString(number) + overloads: int, long, double
9+
- additional regression tests for the above methods
10+
11+
* Hello World examples of how to use mXparser binary library (manual includes:
12+
projects, code, screenshots) for:
13+
- JAVA (project done in Eclipse Mars 1)
14+
- C# (project done in Visual Studio 2015)
15+
- Visual Basic (project done in Visual Studio 2015)
16+
- C++/CLI (project done in Visual Studio 2015)
17+
- F# (project done in Visual Studio 2015)
18+
19+
v.2.0.0 (2015-12-31): Major update of the library providing more intuitive and
20+
much simpler to use API, no changes to the MathCollection.
21+
22+
* Methods removed: setRecursiveMode(), disableRecursiveMode()
23+
- No need to manually mark recursive mode, mXparser is recognizing this
24+
mode automatically.
25+
- New handy and super easy (natural to use) constructors:
26+
27+
* Constructors for user defined arguments (Argument / RecursiveArgument
28+
classes), user defined constant (Constant class), user defined functions
29+
(Function class).
30+
31+
Sample code:
32+
33+
Constant c = new Constant("c=5");
34+
Constant c = new Constant("c=5+2");
35+
Argument x = new Argument("x=5");
36+
Constant c = new Constant("c=5+x", x);
37+
Argument y = new Argument("y=2*x", x);
38+
RecursiveArgument f = new RecursiveArgument("f(n)=n*f(n-1)");
39+
Function f = new Function("f(x,y)=sin(x)+y");
40+
Function f = new Function("f(n)=if( n>0, n*f(n-1), 1)");
41+
42+
43+
* New methods: addDefinitions(PrimitiveElement... elements),
44+
removeDefinitions(PrimitiveElement... elements)
45+
46+
* New class PrimitiveElement introduced only to simplify constructors of
47+
arguments, constants, functions and expressions.
48+
49+
* Classes Argument, RecursiveArgument, Constant, Functions inherits now
50+
from PrimitiveElement class, it means you can call one method for
51+
adding / removing definitions by passing comma separated list of elements
52+
that can be different type (supported types: Argument, RecursiveArgument,
53+
Constant, Function).
54+
55+
* Method addArguments(), addConstants(), addFunctions(),removeArguments(),
56+
removeConstants(), removeFunctions() are still public, but this will
57+
change in the future.
58+
59+
Sample code:
60+
61+
Constant c = new Constant("c=5");
62+
Argument x = new Argument("x=10/2");
63+
Expression e = new Expression("c+x");
64+
e.addDefinitions(x,c);
65+
66+
* Modified constructors for classes Argument, RecursiveArgument, Constant,
67+
Function
68+
69+
* Constructors relying on directly given argument / constant / function
70+
name are now checking given name according to the predefined regular
71+
expression (the name must start with letters, and then
72+
digits / underscores/ letters are allowed).
73+
74+
* Constructors removed – all constructors relying on ArrayList/List
75+
of arguments, constants, functions or on varidic type Argument, Constant,
76+
Function were substituted based on comma separated prams list of
77+
PrimitiveElement type, where Argument, Constant, Functions
78+
extend / inherit PrimitiveElement).
79+
80+
* C# library is now Common Language Specification Compliant, it means
81+
mXparser is available right now to many other .NET languages
82+
(providing exactly the same API), including:
83+
84+
- C#
85+
- Visual Basic .NET
86+
- C++/CLI
87+
- F#
88+
89+
* Other changes
90+
91+
- New extended list of regression tests (to cover new methods,
92+
constructors, etc...)
93+
- Implemented Performance Tests
94+
- Source code converted from cp150 to UTF-8
95+
- Source code reorganization (some part of package level code of the
96+
Expression class was moved to the mXparser class)
97+
- Some bugs fixed (for sure there are others)
98+
99+
v.1.0.3 (2015-12-15):
100+
* Fixed bug during indirect recursion (infinite loops while syntax checking)
101+
Some minor modification of code making it more portable across platforms
102+
103+
v.1.0.2 (2015-12-06):
104+
* Fixed bug in user defined function related to RecursiveArguments
105+
106+
v.1.0.1 (2010-04-17):
107+
* Fixed BAG BIG Problem with evaluation without parenthesis
108+
ID: 2985722http://sourceforge.net/tracker/index.php?func=detail&aid=2985722&group_id=300839&atid=1268726
109+
110+
v.1.0.0 (2010-02-01):
111+
* Initial release
112+
113+
You may use this software under the condition of Simplified BSD License:
114+
115+
Copyright 2010-2015 MARIUSZ GROMADA. All rights reserved.
116+
117+
Redistribution and use in source and binary forms, with or without modification, are
118+
permitted provided that the following conditions are met:
119+
120+
1. Redistributions of source code must retain the above copyright notice, this list of
121+
conditions and the following disclaimer.
122+
123+
2. Redistributions in binary form must reproduce the above copyright notice, this list
124+
of conditions and the following disclaimer in the documentation and/or other materials
125+
provided with the distribution.
126+
127+
THIS SOFTWARE IS PROVIDED BY MARIUSZ GROMADA ``AS IS'' AND ANY EXPRESS OR IMPLIED
128+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
129+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MARIUSZ GROMADA OR
130+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
131+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
132+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
133+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
134+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
135+
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
136+
137+
The views and conclusions contained in the software and documentation are those of the
138+
authors and should not be interpreted as representing official policies, either expressed
139+
or implied, of MARIUSZ GROMADA.
140+
141+
If you have any questions/bugs feel free to contact:
142+
143+
Mariusz Gromada
144+
145+
http://mathspace.pl/
146+
http://mathparser.org/
147+
http://github.com/mariuszgromada/MathParser.org-mXparser
148+
http://mariuszgromada.github.io/MathParser.org-mXparser/
149+
http://mxparser.sourceforge.net/
150+
151+
mXparser tutorial:
152+
doc/tutorial.html
153+
154+
mXparser API:
155+
doc/index.html
156+
157+
If you would like to run some regression testing just hit commands listed below:
158+
159+
JAVA:
160+
jav -cp mxparser.jar org.mariuszgromada.math.mxparser.Tutorial
161+
java -Xss515m -cp mxparser.jar org.mariuszgromada.math.mxparser.regressiontesting.RegTestExpressionV2
162+
java -cp mxparser.jar org.mariuszgromada.math.mxparser.regressiontesting.RegTestExpressionAPI
163+
java -cp mxparser.jar org.mariuszgromada.math.mxparser.regressiontesting.RegTestSyntax
164+
java -cp mxparser.jar org.mariuszgromada.math.mxparser.regressiontesting.PerformanceTests
165+
166+
C#:
167+
[Reflection.Assembly]::LoadFile("full\exact\path\to\mxparser.dll")
168+
[org.mariuszgromada.math.mxparser.Tutorial]::Start()
169+
[org.mariuszgromada.math.mxparser.regressiontesting.RegTestExpressionV2]::Main()
170+
[org.mariuszgromada.math.mxparser.regressiontesting.RegTestExpressionAPI]::Start()
171+
[org.mariuszgromada.math.mxparser.regressiontesting.RegTestSyntax]::Start()
172+
[org.mariuszgromada.math.mxparser.regressiontesting.PerformanceTests]::Start()
127 KB
Binary file not shown.

0 commit comments

Comments
 (0)