Version History
Jep 3 Releases | Jep 2 Releases | Jep 1 Releases
Version 2.4.1 (released 2007/04/25)
- Added rounding functions round, ceil, and floor
- Fixed bug [ 1563324 ] getValueAsObject always returns null after an error
- Fixed bug [ 1670974 ] String to double <= comparison message incorrect
- Fixed bug [ 1706295 ] Wrong error output when evaluating variables
Version 2.4.0 (released 2006/04/01)
- Evaluator now switchable to allow null variable values.
- SymbolTable can now tell java.util.observers when new variables are created.
- Changes in Error handling
- New functions binom(n,i) binomial coeffs, conj(z) - complex conjugate
- Added anti aliasing to Function Plotter applet
- Fixed bug 1177557: log(NaN) returns Complex(NaN,NaN) instead of NaN
- Fixed bug 1061200: Null Pointer in Parser when using non Default constructor
Version 2.3.1 (released 2006/01/27)
- Fixed bug 1046349: bug in sum()
- Fixed broken links in documentation
- Fixed bug 1051988: JEPTester falsely reports "No errors"
- Fixed documentation error 1358815: if - function is documented wrong
- Added more tests for sum function
- Updated build.xml to work with 1.5 JVMs
Version 2.3.0 (released 2004/10/03)
- Switched from Java 1.1 compatibility to 1.2 compatibility
- Documentation updates
- Fixed batch script issues from beta 2
Version 2.3.0 beta 2 (released 2004/09/03)
- 2004/09/11: Renamed angle() function to atan2()
- 2004/04/12: New functions if, str, complex, polar.
- 2004/04/12: The ^ operator is now overloaded to be the cross product for
3D vectors as well as power.
- 2004/04/12: Various changes by Richard Morris (see DJEP Version History)
- 2003/08/15: Added new evaluation method that more than doubles evaluation
performance
- 2003/08/15: Renamed addComplexVariable() and addVariableAsObject() to
addVariable(). Now all three methods for adding different types of variables
are named the same.
- 2003/08/10: Improved error handling and reporting in EvaluatorVisitor.
Known Issues:
- 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.
Version 2.24 (released 2002/12/31)
- 2002/12/25: Fixed "not replacing escape sequences in strings"
bug
Version 2.23 (released 2002/08/03)
- 2002/07/01: Started adding Number support to JEP class and functions
- 2002/07/08: Fixed string concatenation bug
- 2002/07/10: Added NumberFactory class and DoubleNumberFactory (with option
for custom NumberFactory in JEP constructor)
- 2002/08/02: Added website documents to distribution
Version 2.22 (released 2002/07/04)
- 2002/06/06: Removed symbol table information from ASTVarNode (making AST
nodes into pure data structure elements)
- 2002/06/20: Fixed sum() issue (functions with variable number of parameters)
- 2002/06/24: Rearranged function class structure by letting PostfixMathCommand
implement PostfixMathCommandI (no changes to functionality)
- 2002/06/25: Added multiple thread testing classes
- 2002/06/26: Made EvaluatorVisitor non-singleton (was doing more harm than
good)
- 2002/06/28: Added Unicode character support for variable names
Version 2.21 (released 2002/06/04)
- 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).
Version 2.20 (released 2002/05/31)
- 2002/01/20: Combined multiplication and division to the same precedence
level
- 2002/03/10: Added implicit multiplication, allowing expressions like "3x
== 3*x"
- 2002/03/14: Improved evaluation performance through creating only one
stack for evaluation
- 2002/03/19: Changes to operator precedence (more like C and Java)
- 2002/03/19: Now using JavaCC 2.1
- 2002/03/24: Added a console application to the org.nfunk.jepexamples package
- 2002/03/28: Implemented evaluation using the Visitor design pattern
- 2002/04/13: Added setAllowUndeclared() and setImplicitMul() for control
of undeclared variables, and implicit multiplication options
- 2002/04/15: Added getSymbolTable() for obtaining list of variables in
the symbol table (e.g. after parsing an expression with allowUndeclared=true)
- 2002/04/17: Prepared directory structure for building with ant
- 2002/04/19: Full transition of build environment to ant
- 2002/04/20: Finally was persuaded to add the sqrt() function to the set
of built-ins
- 2002/04/27: Cleaned up error reporting using an error list in the JEP
class
- 2002/05/27: New documentation
- 2002/05/30: Modifications to the sample applets
Version 2.12 (released 2002/02/01)
- 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)
- 2001/09/10: Started working on array type
- 2001/09/20: Allowed variable number of arguments in functions
- 2001/09/20: Fixed undetected syntax error bug involving a comma before
a list of function parameters
- 2001/10/17: Changed order of precedence for power and unary signs. Now
power is of higher order than unary plus or minus
- 2001/11/10: Tweaked complex power functions
- 2001/11/10: Added error reporting for exceptions that occur while evaluating
- 2001/11/17: Edited the parser class to work without static function and
symbol tables
- 2001/12/21: Completed the JEPTester class for verifying correct evaluation
- 2002/01/06: Replaced some Vector operations that relied on AbstractList
with Java 1.1 compliant code
Version 2.11
- 2001/08/26: Substituted the Netlib complex number class with a custom
class
Version 2.10
- 2001/07/07: Finished adding complex numbers, and incorporated complex
numbers in nearly all built in functions
- 2001/07/08: Added string handling with concatenation with the + operator
and comparison with ==
- 2001/07/16: Renamed the package to org.nfunk.jep
- 2001/08/24: Bugfix - subtraction of complex numbers was not working properly
Version 2.05
- 2001/03/21: Fixed PostfixMathCommand class to allow inheritance to classes
in other packages
- 2001/04/10: Added some error reporting functions to main interface class
(Error name and position)
- 2001/06/01: Finished adding hyperbolic trigonometric functions and packaging.
Version 2.04
- 2001/03/01: Fixed EOF problem (included EOF in grammar)
- 2001/03/16: Removed a few redundant exception classes
Version 2.03
- 2001/02/17: Corrected order of precedence for logical operators
- 2001/02/17: Added '&&', '||', and '!' operators to extend the
logical functionality of the parser
- 2001/02/07: Disabled the default command line output. For debugging purposes,
you may want to try to use setTraverse(true)
Version 2.0
- 2000/10/16: Started rebuilding the whole parser with JavaCC (http://www.webgain.com/products/java_cc/)
- 2000/10/27: Completed restructuring main background parser functions in
JavaCC
- 2000/11/17: Created a simple interface class for intuitive interaction
- 2000/12/10: Added a few logical operators
- 2001/01/06: Released the freshly rebuilt parser