Releases: jay3332/expr.py
Releases · jay3332/expr.py
v0.3.0
What's new?
- Unary plus is now supported (E.g.
+5
) - Scientific notation is now supported (E.g.
4E-2
)- To reduce conflics, 'E' must be captialized.
This means that2e9
would evaluate to2 * e * 9
, for example.
- To reduce conflics, 'E' must be captialized.
- The
cls
kwarg is now supported inexpr.evaluate
- Passing in
None
to the limit kwargs will now remove the limit.
Bug fixes
- Catch
OverflowError
in theexpr.Overflow
parsing error. - Fix invalid typings with
Callable
v0.2.0
This update mainly brings bug fixes from v0.1.
What's new?
- You can now pass in custom classes into
Parser.evaluate
- Constants are now precise to around 30 places.
- New constants (
phi
,tau
)
More precise builtin functions
v0.2 changes the way some builtin functions are processed
for boosts on both performance and precision.
sqrt
now usesDecimal.sqrt
log10
now usesDecimal.log10
ln
now usesDecimal.ln
cbrt
now usesinput ** expr.one_third
sin
now usesexpr.sin
cos
now usesexpr.cos
Bug fixes
- Fixed unary minus interfering with implicit multiplication.
- in v0.1:
5-3
=-15
- in v0.2:
5-3
=2
- in v0.1:
Miscellaneous
- Many functions now have positional-only arguments for slight performance boosts
- This drops support for Python 3.7
- Messages retrieved from
ParsingError.friendly
are now much more descriptive.