Releases: isaacphysics/equality-checker
Releases · isaacphysics/equality-checker
v0.6.0
Changelog:
- Ignore symbols prefixed with an underscore when processing provided custom symbols. This allows metasymbols to be included without having to remove them before passing to the checker.
v0.5.0
Changelog:
- Allow numeric input to include decimal points without a number before them: e.g.
.5
as well as0.5
. - Prevent attempts to parse empty strings.
v0.4.0
Changelog:
- Improved support for custom symbols; functions and operators can be passed without breaking anything, and those which are not valid Python variables will be (silently) ignored. This allows functions and operators relevant to an expression/equation to be included without breaking anything.
- Update dependencies, notably
sympy
from1.0
to1.1.1
. - Fix an issue with complex infinity in numeric checking code.
v0.3.0
Changelog:
- Much more effectively sanitise untrusted input, especially Unicode input and Python keywords.
- Allow
diff(...)
syntax for derivatives. - Allow Mathematica style function names:
Sin(...)
,Cos(...)
etc. - Allow function exponentiation:
cos**2(x)
forcos(x)**2
for instance.
v0.2.0
Changelog:
- Split out the parsing into another file and use a slightly modified version of the SymPy parsing code to prevent evaluation of function arguments. This allows the parser to distinguish
cos(x)
andcos(-x)
for instance. - Remove support for factorials until better integration with numeric testing can be added.
- Add clearer README and LICENSE files.
- Deprecate Vagrant requirement, move directly to Docker.
v0.1.0
First production ready release, ran on live server from October 2016 to June 2017.
Supported Functions and Operations
Standard Operations
- Addition (
+
) - Multiplication (
*
, implicitlyxy
, implicitlyx y
) - Exponentiation (
**
,^
) - Unary Negation (
-
)
Where division and subtraction are expressible in terms of the above
Numbers
- Integers (
0
,1
,-1
, ...) - Decimals (
0.123
, ...) - Rational Numbers (
1/2
, ...)
Trigonometic Functions
- Standard trig functions (
sin()
,cos()
,tan()
) - Inverse trig functions (
arcsin()
,arccos()
,arctan()
) - Reciprocal trig functions (
cosec()
,sec()
,cot()
) - Inverse reciprocal trig functions (
arccosec()
,arcsec()
,arccot()
) - Hyperbolic trig functions (
sinh()
,cosh()
,tanh()
) - Inverse hyperbolic trig functions (
arcsinh()
,arccosh()
,arctanh()
) - Reciprocal hyperbolic trig functions (
cosech()
,sech()
,coth()
)
No inverse reciprocal hyperbolic trig functions
Logarithms and Exponentials
- Exponential function (
exp()
) - Natural logarithm (
ln()
,log()
) - Logs to other bases (
log(x, base)
)
Other Basic Functions
- Square root (
sqrt()
) - Modulus (
abs()
)
Calculus
- Derivatives (
Derivative(y, x)
,Derivative(y, x, 2)
,Derivative(y, x, x)
, ...)
Equations and Inequalities
- Equations (
x == y
) - Inequalities (
x < y
)