Releases: bertiqwerty/exmex
Releases · bertiqwerty/exmex
Panic fix
- Returning an error in case a number or variable is on the left of a unary operator instead of panicking.
- Fixed benchmarking string in Readme.
Moved itertool dependency to dev
- Moved
itertools
dependency to dev-dependencies - Saved a few allocations during parsing
- Fixed benchmarking
Better compile
- breaking public interface - the function pointers of binary operators are now called
apply
instead ofop
. - improved compilation of literals
- removed unnecessary clones during parsing
Fixed doc link
v0.7.1 forgot to safe 😕
Faster parse, Bugfix on multi-unary
- Parsing is now significantly faster, added
lazy_static
as dependency. - Fixed that cases with multiple unary operators of an expression containing a binary operator could go wrong.
- Variables do not need to be inside curly brackets anymore.
Even faster evaulation
- Speed up due to
- flattened expression without any tree or recursive structure
- more efficient evaluation algorithm without unecessary remove-operations
- Removed possibility to create expressions directly without parsing from public interface
Faster evaluation
-
Evaluation is now faster due to
- fixed repeated prioritization
- using
SmallVec
, and - compiling expressions.
-
The introduction of
SmallVec
lead to a change in the public interface. In case one wants to create an expression directly without Exmex' parsing functionality one has to useSmallVec
or the type defintionsexmex::UnaryOpVec
orexmex::BinOpVec
, see https://docs.rs/exmex/0.5.0/exmex/struct.Expression.html.
Apache 2.0 as new license option
- Added Apache license 2.0 as second option
- Fixed some documentation issues
- More tests