Skip to content

Releases: isaacphysics/equality-checker

v0.13.2

30 Jul 10:45
Compare
Choose a tag to compare

Changelog:

  • Dependency updates.

v0.13.1

30 Jul 10:44
Compare
Choose a tag to compare

Changelog:

  • Dependency updates.
  • Re-add some basic factorial support, but this functionality should not be used in production.

v0.13.0

13 Jun 08:30
Compare
Choose a tag to compare

Changelog:

  • Fix a precedence issue with boolean equations where "A == B or C" was incorrectly parsed as "(A == B) or C" and not "A == (B or C)".
  • Upgrade to Python 3.10, fixing issues caused by the changes to True and False in Python 3.8's internal representation of these constants.
  • Update dependencies to latest versions.
  • Add further unit tests to the logic checker behaviour to test new functionality and fixed issues.
  • Add 8000+ test-cases generated from real-world use of the checker, as a more robust check of consistent behaviour than the existing unit tests.

v0.12.0

13 Jun 08:25
Compare
Choose a tag to compare

Changelog:

  • Ensure "True" and "False" can be parsed correctly as SymPy values not built-ins.
  • Allow "1" and "0" to represent True and False in logic input.

v0.11.1

13 Jun 08:24
Compare
Choose a tag to compare

Changelog:

  • Prevent unwanted simplification of derivatives after SymPy upgrade.

v0.11.0

04 Jun 15:16
Compare
Choose a tag to compare

Changelog:

  • Reject input containing unprintable characters entirely, rather than processing it and rejecting at the filtering stage.
  • Update SymPy dependency to latest version.
  • Add configuration for GitHub Actions to replace Travis CI for testing.
  • Neaten the contents of the built Docker image by using a .dockerignore file.

v0.10.0

21 Aug 15:55
Compare
Choose a tag to compare

Changelog:

  • Change behaviour of unary negation and the processing of unary minus signs to try and get consistent behaviour. This should allow 1-2*x and -2*x+1 to have the same parse tree, but may cause unintended issues elsewhere and should be treated with caution!
  • Add support for XOR, both as a keyword (A xor B), and as a bitwise operation (A ^ B). Also add Unicode character replacements for common XOR symbols.
  • Allow replacement of Unicode Greek letters with their Python names.
  • Prevent simplification occuring inside square roots, which may change some historic EXACT matches into SYMBOLIC matches now.
  • Update dependencies and add workaround for undesired behaviour when replacing Deriviatives. Rename Gunicorn config file to avoid runtime warning.
  • Add configuration for Travis CI testing.

v0.9.0

25 Jan 09:40
Compare
Choose a tag to compare

Changelog:

  • Following the lead of SymPy and NumPy, move to using Python 3.7.
  • If the input string contains a syntactic error, add a new key syntax_error to the output. This should help avoid repeated comparisons of an invalid value.
  • Add a new endpoint for checking the equivalence of two boolean algebra expressions. Supported syntaxes are (&, |, ~) or (and, or, not). Add new unit tests to check the new functionality.
  • Add support for parse hints to the parser. These can be used to distinguish cases where e should be treated as 2.71... rather than a symbol, for example. Currently supported values are constant_pi, constant_e, imaginary_i, imaginary_j and natural_logarithm (where the latter makes log(...) mean ln(...) rather than log(..., 10)).
  • Move structure to that of a Python package.
  • Use the -slim Python Docker image, reducing the size of the image by 75%.

v0.8.0

17 Oct 11:51
Compare
Choose a tag to compare

Changelog:

  • Change log(x) to be base 10 by default. Other bases can be specified using log(x, b) or the natural logarithm with ln(x).
  • Support for abbreviated inverse trig function names: asin(...) etc.
  • Add a "syntax_error" key to the result dictionary, if the input test string contains invalid syntax.
  • Better replacement of Unicode characters based on their names.
  • Fix an issue where 2l or 2L was interpreted as a numeric long, not as multiplication of a symbol.
  • Rename result keys to be consistently in snake_case.

v0.7.0

26 Jul 16:12
Compare
Choose a tag to compare

Changelog:

  • Use Gunicorn to serve requests in production, rather than relying on the builtin Flask server explicitly not intended for production use.
  • Fix an issue whereby derivatives were simplified despite an attempt at disabling this. There is now a global constant to enable/disable this, which needs refactoring as an argument to check(...).
  • Fix a bug when checking differential equations that contained multiple derivatives of different orders, where the inner lower-order derivatives were replaced too early.
  • Correctly parse relations (=, <, <= etc) rather than replace them using a regular expression.
  • Refactoring of unit tests to separate out functionality.
  • Update to use SymPy version 1.2 and newer versions of other dependencies.