DJep Version History
Version 2.3.0 release
No major changes were made for the release.
Version 2.3.0 beta 1 - 12 April 2004 (formerly known as 2.3.2 beta)
This version now has a stable API an should be used in preference to earlier
versions.
Main changes since 2.3.0a:
- Added a groupJep package: this allows calculation over arbitrary groups
like the rational numbers.
- Changed the org.nfunk.jep.values.Complex to extend number, modified all
postfix math commands to suit.
- Changed the Scaler, MVector and Matrix types to extend number.
- Added features for a re-enterant parser.
- Major re-nameing of packages and classes. Removed unnecessary classes.
- Documentation updated.
- The ^ operator is now overloaded to be the cross product for 3D vectors
as well as power.
- Parser is now switchable for whether . can appear in an identifier x.y
can either be a single variable (default for JEP,XJep and DJep) or as the
dot product x . y (default for VectorJep and MatrixJep).
- New functions if, str, complex, polar.
- Several other minor changes.
TODO features yet to come
A few new functions to be added, min, max, sgn, differentiation for if.
Vector and matrix functions: det, inverse, transpose ....
Faster evaluation, possibly based of a reverse polish type of evaluation scheme,
eliminating as much object creation as possible.
Various conversion routines to other formats MathML etc.
Version 2.3.0 alpha - 28 Feb 2004 (formerly known as 2.3.1 alpha)
This is the third release of the package, released 28/Feb/04. I'm really
just rushing this out as some people have been asking for documentation which
is included here. Still more documentation to come. Also the code is still
in a fairly mutable state and I still expect to move some things around so
don't expect the the API to be stable. Hopefully it will just be the inner
workings which change the main interface for users is nearly fixed. The most
important changes in this package are
- Renames org.lsmp.djep.matrixJep.MatrixDJep to org.lsmp.djep.matrixJep.MatrixDJep.
- Moved the console applications to their own package
- Added some more examples
- Added some documentation
- Added some JUnit test
- Rationalised some of inner workings and cleaned up some unnecessary stuff,
notably in relation to variables and their evaluation.
Version 2.3.0a - Jan 04
First release as an official part of JEP.
Added support for vectors and matrices.
Major reworking of differentiation, functionality now split into two packages
org.lsmp.djep.xjep - printing, tree manipulation etc, and org.lsmp.djep.djep
- differentiation.
Changed the org.nfunk.jep.SymbolTable class so the elements are now of type
org.nfunk.jep.Variable rather than just its value. ASTVarNodes now refer to
the variable object.
Several changes in exposed API for JEP.
Introduced an org.nfunk.jep.Operator and org.nfunk.jep.OperatorSet types which
represent the basic +,-,*,/,etc operators. Eliminates the excess creation of
one object for each instance of an operator.
Known bugs in version 2.3.0a
Several bugs are known in version 2.3.0a.
First release
The first release of the package was about September last year. It just included
differentiation facilities. The package has had a major rework since then.