Releases: flatsurf/e-antic
Releases · flatsurf/e-antic
2.1.0
Added:
- Added functions
renf_elem_addmul
andrenf_elem_submul
to computeres += a * b
andres -= a * b
with fewer temporaries. In the C++ interface, these methods are callediaddmul
andisubmul
.
Changed:
- Changed the documentation build to use breathe & sphinx instead of standardese & sphinx.
- Changed the recommended setup for developers to use pixi instead of conda/mamba. See the README for details.
- Changed
configure
to not complain when test-requirements such as byexample, benchmark, realalg, or SageMath are missing. (The tests are included if the dependencies are detected but just disabled otherwise without the need for--without-byexample --without-benchmark --without-sage --without-realalg
.)
Removed:
- Removed binder demo from our README (we do not think that anybody has been using it never really worked great.)
Fixed:
- Fixed 10000 build issues with FLINT 3.2.2.
- Fixed dependency tracking when
configure
is rerun with different compiler flags by tracking config.h in all source files.
2.0.2
Fixed:
- Fixed exception being thrown by PyPy due to wlav/cppyy#209.
2.0.1
2.0.0
There are no API changes in this major release. But there are breaking ABI changes.
Added:
- Added tarball with the built documentation to our GitHub release pages with every future release of e-antic.
- Added support for FLINT 3. (This is a breaking ABI change. A library built against FLINT 3 is not compatible with a library built against FLINT 2. You can still build against FLINT 2 and such a library should be compatible with the previous version 1.3.0.)
Removed:
- Removed the static library from the conda package that we upload with every commit to the master branch to the flatsurf channel. To our knowledge nobody is using these builds. They can sometimes be useful for debugging because they are built with debug symbols (which is why they are very big.) Providing a static library that nobody should use anyway is eating up the limited storage on anaconda.org twice as fast so we disable this.
Fixed:
- Adapted CI setup on GitHub to changes in setup-miniconda.
- Fixed some typos in source code, documentation, and error messages.
- Improved
environment.yml
files for development to not pull in any incompatible dependencies from PyPI silently - Fixed compiler warning about possibly uninitialized variable.
1.3.0
1.2.3
1.2.2
Fixed:
- Fixed conda channels used for binder notebooks.
- Fixed compilation errors on recent compilers by upgrading catch2 dependency used for testing.
- Fixed deserialization of renf_class from old Python pickles. (#242 sometimes crashed when called from Python since cppyy had trouble with the exceptions being thrown.)
- Fixed "installation with conda" page in our documentation (#240)
- Added logo to documentation. (#239)
- Fixed serialization with cereal 1.3.1+.
- Fixed compiler warnings about missing prototypes for test functions.
1.2.1
1.2.0
Performance:
-
Improved conversion from vectors of rational coefficients to
renf_elem_class
by using a faster code path in FLINT. -
Improved conversion from SageMath number fields to pyeantic
RealEmbeddedNumberField
. This adds a dependency of pyeantic on gmpxxyy.
1.1.1
Deprecated:
- Deprecated arithmetic between elements in different number fields in the C++ interface. Before, an operation such as
a + b
was possible even ifa
andb
lived in different number fields if at least one of them was actually a rational number. This led to inconsistent parent fields of the resulting element. We still allow such operations if the parent ofa
orb
is the rational field (renf_class::make()
) otherwise a deprecation warning is printed. To fully opt in to the new behaviour set the environment variableLIBEANTIC_STRICT_BINOP
to any value; this raises an exception instead of printing a warning.
Fixed:
- Fixed a compilation error on some xenial systems.
- Fixed import order in pyeantic's setup.py script.
- Fixed inclusion of .map files in distribution tarball even if building without version script support.
Performance:
- Improved performance of
RealEmbeddedNumberField
in Python interface by caching results. In particular the costly conversion fromrenf_class
.