1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352
|
<html><!-- #BeginTemplate "/Templates/maintemplate.dwt" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<title>JEP - Java Math Expression Parser</title>
<!-- #EndEditable -->
<link rel="stylesheet" type="text/css" href="main.css" title="style1">
</head>
<body>
<!-- NAVIGATION ---------------------------------------------------- -->
<div id="navcontainer">
<ul>
<li><a href="../javadoc/index.html" target="_blank">JavaDoc <img src="img/new-window-icon.gif" width="15" height="11"></a></li>
</ul>
<h1>JEP</h1>
<ul>
<li><a href="index.html">Basic Usage</a></li>
<li><a href="variables.html">Variables</a></li>
<li><a href="types.html">Data types</a></li>
<li><a href="operators.html">Operators</a></li>
<li><a href="functions.html">Functions</a></li>
<li><a href="advanced.html">Advanced Features</a></li>
<li><a href="grammar.html">Grammar</a></li>
<li><a href="faq.html">FAQ</a></li>
<li><a href="version.html">Version History</a></li>
</ul>
<h1>Extensions</h1>
<ul>
<li><a href="extensions/index.html">Overview</a></li>
<li><a href="extensions/xjep.html">XJep</a></li>
<li><a href="extensions/djep.html">Differentiation</a></li>
<li><a href="extensions/vectorjep.html">Vectors and Matrices</a></li>
<li><a href="extensions/groupjep.html">Groups</a></li>
<li><a href="extensions/version.html">Version History</a></li>
</ul>
</div>
<div id="centercontent">
<!-- CENTER CONTENT -------------------------------------------------- -->
<!-- #BeginEditable "Text" -->
<h1><a name="top"></a>Version History</h1>
<h2 class="version">Version 2.4.1 <span class="date">(released 2007/04/25)</span></h2>
<ul>
<li>added rounding functions round, ceil, and floor</li>
<li>fixed bug [ 1563324 ] getValueAsObject always returns null after an error</li>
<li>fixed bug [ 1670974 ] String to double <= comparison message incorrect</li>
<li>fixed bug [ 1706295 ] Wrong error output when evaluating variables</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.4.0 <span class="date">(released 2006/04/01)</span></h2>
<ul>
<li>Evaluator now switchable to allow null variable values.</li>
<li>SymbolTable can now tell java.util.observers when new variables are created.</li>
<li>Changes in Error handling</li>
<li>New functions binom(n,i) binomial coeffs, conj(z) - complex conjugate</li>
<li>Added anti aliasing to Function Plotter applet</li>
<li>Fixed bug 1177557: log(NaN) returns Complex(NaN,NaN) instead of NaN</li>
<li>Fixed bug 1061200: Null Pointer in Parser when using non Default constructor</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.3.1 <span class="date">(released 2006/01/27)</span></h2>
<ul>
<li>Fixed bug 1046349: bug in sum()</li>
<li>Fixed broken links in documentation</li>
<li>Fixed bug 1051988: JEPTester falsely reports "No errors"</li>
<li>Fixed documentation error 1358815: if - function is documented wrong</li>
<li>Added more tests for sum function</li>
<li>Updated build.xml to work with 1.5 JVMs</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.3.0 <span class="date">(released 2004/10/03)</span></h2>
<ul>
<li>Switched from Java 1.1 compatibility to 1.2 compatibility</li>
<li>Documentation updates</li>
<li>Fixed batch script issues from beta 2</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.3.0 beta 2 <span class="date">(released 2004/09/03)</span></h2>
<ul>
<li>2004/09/11: Renamed angle() function to atan2()</li>
<li>2004/04/12: New functions if, str, complex, polar.</li>
<li>2004/04/12: The ^ operator is now overloaded to be the cross product for
3D vectors as well as power.</li>
<li>2004/04/12: Various changes by Richard Morris (see DJEP Version History)</li>
<li>2003/08/15: Added new evaluation method that more than doubles evaluation
performance</li>
<li>2003/08/15: Renamed addComplexVariable() and addVariableAsObject() to
addVariable(). Now all three methods for adding different types of variables
are named the same.</li>
<li>2003/08/10: Improved error handling and reporting in EvaluatorVisitor.</li>
</ul>
<p>Known Issues:</p>
<ul>
<li>Windows batch scripts for starting the examples are broken. This is due
to switching from the MS JVM to the Sun appletviewer. Planned to be fixed
for the 2.3.0 release.</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.24 <span class="date">(released 2002/12/31)</span></h2>
<ul>
<li>2002/12/25: Fixed "not replacing escape sequences in strings"
bug</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.23 <span class="date">(released 2002/08/03)</span></h2>
<ul>
<li>2002/07/01: Started adding Number support to JEP class and functions</li>
<li>2002/07/08: Fixed string concatenation bug</li>
<li>2002/07/10: Added NumberFactory class and DoubleNumberFactory (with option
for custom NumberFactory in JEP constructor)</li>
<li>2002/08/02: Added website documents to distribution</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem --><h2 class="version">Version 2.22 <span class="date">(released 2002/07/04)</span></h2>
<ul>
<li>2002/06/06: Removed symbol table information from ASTVarNode (making AST
nodes into pure data structure elements)</li>
<li>2002/06/20: Fixed sum() issue (functions with variable number of parameters)</li>
<li>2002/06/24: Rearranged function class structure by letting PostfixMathCommand
implement PostfixMathCommandI (no changes to functionality)</li>
<li>2002/06/25: Added multiple thread testing classes</li>
<li>2002/06/26: Made EvaluatorVisitor non-singleton (was doing more harm than
good)</li>
<li>2002/06/28: Added Unicode character support for variable names</li>
</ul>
<p>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version
2.21 <span class="date">(released 2002/06/04)</span></h2>
<ul>
<li>2002/06/03: Fixed 1.1 compatibility issue in JEP.java (was using add()
and clear() which are not included in the 1.1.8 VM).</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version
2.20 <span class="date">(released 2002/05/31)</span></h2>
<p></p>
<ul>
<li>2002/01/20: Combined multiplication and division to the same precedence
level</li>
<li>2002/03/10: Added implicit multiplication, allowing expressions like "3x
== 3*x"</li>
<li>2002/03/14: Improved evaluation performance through creating only one
stack for evaluation</li>
<li>2002/03/19: Changes to operator precedence (more like C and Java)</li>
<li>2002/03/19: Now using JavaCC 2.1</li>
<li>2002/03/24: Added a console application to the org.nfunk.jepexamples package</li>
<li>2002/03/28: Implemented evaluation using the Visitor design pattern</li>
<li>2002/04/13: Added setAllowUndeclared() and setImplicitMul() for control
of undeclared variables, and implicit multiplication options</li>
<li>2002/04/15: Added getSymbolTable() for obtaining list of variables in
the symbol table (e.g. after parsing an expression with allowUndeclared=true)</li>
<li>2002/04/17: Prepared directory structure for building with <a href="http://jakarta.apache.org/ant/">ant</a></li>
<li>2002/04/19: Full transition of build environment to <a href="http://jakarta.apache.org/ant/">ant</a></li>
<li>2002/04/20: Finally was persuaded to add the sqrt() function to the set
of built-ins</li>
<li>2002/04/27: Cleaned up error reporting using an error list in the JEP
class</li>
<li>2002/05/27: New documentation</li>
<li>2002/05/30: Modifications to the sample applets</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version
2.12 <span class="date">(released 2002/02/01)</span></h2>
<ul>
<li>2001/08/31: Made a change to the Complex power function Complex.pow(to
avoid problems with applets run in Internet Explorer (Math.exp(-Infinity)
was not producing 0.0)</li>
<li>2001/09/10: Started working on array type</li>
<li>2001/09/20: Allowed variable number of arguments in functions</li>
<li>2001/09/20: Fixed undetected syntax error bug involving a comma before
a list of function parameters</li>
<li>2001/10/17: Changed order of precedence for power and unary signs. Now
power is of higher order than unary plus or minus</li>
<li>2001/11/10: Tweaked complex power functions</li>
<li>2001/11/10: Added error reporting for exceptions that occur while evaluating</li>
<li>2001/11/17: Edited the parser class to work without static function and
symbol tables</li>
<li>2001/12/21: Completed the JEPTester class for verifying correct evaluation</li>
<li>2002/01/06: Replaced some Vector operations that relied on AbstractList
with Java 1.1 compliant code</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.11</h2>
<ul>
<li>2001/08/26: Substituted the Netlib complex number class with a custom
class</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.10</h2>
<ul>
<li>2001/07/07: Finished adding complex numbers, and incorporated complex
numbers in nearly all built in functions</li>
<li>2001/07/08: Added string handling with concatenation with the + operator
and comparison with ==</li>
<li>2001/07/16: Renamed the package to org.nfunk.jep</li>
<li>2001/08/24: Bugfix - subtraction of complex numbers was not working properly</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.05</h2>
<ul>
<li>2001/03/21: Fixed PostfixMathCommand class to allow inheritance to classes
in other packages</li>
<li>2001/04/10: Added some error reporting functions to main interface class
(Error name and position)</li>
<li>2001/06/01: Finished adding hyperbolic trigonometric functions and packaging.</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.04</h2>
<ul>
<li>2001/03/01: Fixed EOF problem (included EOF in grammar)</li>
<li>2001/03/16: Removed a few redundant exception classes</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.03</h2>
<ul>
<li>2001/02/17: Corrected order of precedence for logical operators</li>
<li>2001/02/17: Added '&&', '||', and '!' operators to extend the
logical functionality of the parser</li>
<li>2001/02/07: Disabled the default command line output. For debugging purposes,
you may want to try to use setTraverse(true)</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 2.0</h2>
<ul>
<li>2000/10/16: Started rebuilding the whole parser with JavaCC (<a href="http://www.webgain.com/products/java_cc/">http://www.webgain.com/products/java_cc/</a>)</li>
<li>2000/10/27: Completed restructuring main background parser functions in
JavaCC</li>
<li>2000/11/17: Created a simple interface class for intuitive interaction
</li>
<li>2000/12/10: Added a few logical operators</li>
<li>2001/01/06: Released the freshly rebuilt parser</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 1.1</h2>
<ul>
<li>2000/11/30: Changed order of precedence so division occurs before multiplication
</li>
<li>2000/10/01: Added exponential notation (i.e. 1.23e-3)</li>
<li>2000/10/16: Tweaked code here and there</li>
<li>2000/10/21: Finished new sample applet</li>
<li>2000/10/21: Repackaged and reorganized all source code and classes</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 1.0</h2>
<ul>
<li>2000/07/03: Added more documentation</li>
<li>2000/07/10: Removed all operator nodes such as MulNode or PlusNode, and
replaced them by using FunNode nodes with PostfixMathCommands</li>
<li>2000/08/07: Considering using JavaCC to recreate the Parser</li>
<li>2000/09/01: Fixed multiple subtraction problem. Now 1-2-3 = (1-2)-3 instead
of 1-(2-3)</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 0.3</h2>
<ul>
<li>2000/06/01: Created Web page and posted it</li>
<li>2000/06/02: Edited Web page, added one variable field just for integers</li>
<li>2000/06/06: Started adding internal code documentation</li>
<li>2000/06/09: Figured out how to create objects at run-time with the reflection
package. Probably useful for future use of user defined functions</li>
<li>2000/06/10: Finished adding capability of parsing standard functions as
well as user defined functions (thanks to Ross Bagely)</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<h2 class="version">Version 0.2</h2>
<ul>
<li>2000/06/18: Added SharedConstants class for the parser package</li>
<li>2000/06/18: Added InvalidExpressionException class which is thrown inside
Parser</li>
<li>2000/06/19: Tweaked the error report of Parser</li>
<li>2000/06/27: Simplified process of adding user defined functions by adding
a parent class PostfixMathCommand, that contains a function for checking
the stack passed to the command</li>
<li>2000/06/27: Extended the FunNode class to be able to handle functions
with multiple arguments, needs to be implemented in the parser yet</li>
<li>2000/07/01: Completed expanding parser to handle functions with multiple
arguments. Implemented angle function to return the angle whose tangent
is equal to the ratio of the arguments x/y (using the Math.atan2 method).
</li>
</ul>
<!-- #BeginLibraryItem "/Library/top bar.lbi" -->
<div class="topbar"><a href="#top"><img src="img/top.gif" width="38" height="15" name="top"></a></div>
<!-- #EndLibraryItem -->
<!-- #EndEditable -->
<!-- FOOTER ---------------------------------------------------------- -->
<div id="footer">
<a href="http://sourceforge.net/tracker/?func=add&group_id=24711&atid=382402">Report bugs / documentation errors</a><br/>
<br/>
© 2006 <a href="http://www.singularsys.com" target="_blank">Singular Systems</a>
</div>
</div> <!-- centercontent -->
</body>
<!-- #EndTemplate --></html>
|