Recent Releases of intervalxt

intervalxt - 3.3.4

Fixed:

  • Fixed access to left() and right() of a component from Python.

- C++
Published by saraedum about 2 years ago

intervalxt - 3.3.3

Fixed:

  • Fixed typos in documentation.
  • Fixed building libintervalxt with fmt version 10.

- C++
Published by saraedum over 2 years ago

intervalxt - 3.3.2

Added:

  • Added automatic testing on macOS in our CI setup.
  • Added support for Python 3.10 to the automated tests.

Removed:

  • Removed explicit support for Python 3.6 since it reached its end of life in 12/2021; i.e., we are not testing with Python 3.6 in our CI anymore.
  • 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.
  • Adapted to breaking changes in exact-real 3. (The library should work with both exact-real 2 and 3.)
  • Removed unused includes from source code.

- C++
Published by saraedum about 3 years ago

intervalxt - 3.3.1

Fixed:

  • Use only fully supported packages from conda-forge in CI (and not the experimental builds from the flatsurf channel with incompatible dependencies.)
  • Allow build with fmt library version 6, 7, 8 or 9.
  • Fixed compile error on clang/macOS.

- C++
Published by saraedum over 3 years ago

intervalxt - 3.3.0

Added:

  • Added IntervalExchangeTransformation::boshernitzanNoSaddleConnection() to certify the absence of saddle connections in an IET.

  • Added IntervalExchangeTransformation::boshernitzanEquations() and IntervalExchangeTransformation::boshernitzanSaddleConnectionValues() to expose equations underlying IntervalExchangeTransformation::boshernitzanNoPeriodicTrajectories() and IntervalExchangeTransformation::boshernitzanNoSaddleConnection().

  • Added fallback printing of intervalxt::Label to an std::ostream when Lengths::render is not available.

  • Added fallback printing of a Label in Python when the corresponding Lengths are not available.

Removed:

  • Removed unused length.ipp header.

Fixed:

  • Made all methods of intervalxt::Length and intervalxt::Length accessible from Python.

  • Removed libtool scripts from repository.

  • Removed broken binder tests from CI. (We should instead build a conda package and run tests with that package installed.)

  • Compilation with clang on macOS

- C++
Published by saraedum about 4 years ago

intervalxt - 3.2.0

Added:

  • Added LIBINTERVALXT_API markers to support building with -fvisibility=hidden -fvisibility-inlines-hidden.
  • Added support for version script when linking on Linux, i.e., producing a library that only exports a minimal set of symbols. Enable with ./configure --with-version-script.

Fixed:

  • Allow build with fmt library version 6, 7 or 8.

- C++
Published by saraedum over 4 years ago

intervalxt - 3.1.4

Fixed:

  • Remove debug output.

- C++
Published by saraedum almost 5 years ago

intervalxt - 3.1.3

Fixed:

  • Adapted to changes in latest e-antic RC

- C++
Published by saraedum almost 5 years ago

intervalxt - 3.1.2

Fixed:

  • Cylinders and components without periodic trajectories next to undetermined components are now properly detected and not reported as undetermined as well.

- C++
Published by saraedum about 5 years ago

intervalxt - 3.1.1

Fixed:

  • serialization of IETs with e-antic and exactreal lengths

- C++
Published by saraedum about 5 years ago

intervalxt - 3.1.0

Added:

  • Assertions and parameter checks can be disabled at runtime by setting the environment variables LIBINTERVALXT_NOASSERT and LIBINTERVALXT_NOCHECK.

Fixed:

  • Do not print timing information when running Boshernitzan criterion and actually use the fast default algorithm. (Debug output that should not have been comitted.)

- C++
Published by saraedum about 5 years ago

intervalxt - 3.0.4

Fixed:

  • Require cppyythonizations for pyintervalxt conda package.
  • updated .gitignore files

Performance:

  • speed up the Boshernitzan criterion by using a Mixed Integer Program internally instead of Polyhedra functionality in PPL.

- C++
Published by saraedum about 5 years ago

intervalxt - 3.0.3

Added:

  • run CI and deploy with Python 3.8 and Python 3.9.

Changed:

  • use GitHub Actions for CI

Fixed:

  • Test with assertions enabled and also publish to anaconda with assertions enabled.
  • Do not run GitHub Actions on forks but only on Pull Requests. If you really want this, you could push to your fork's master branch.
  • simplified build instructions with conda/mamba in README
  • Rever script now bumps the version number of the conda package correctly.

- C++
Published by saraedum over 5 years ago

intervalxt - 3.0.2

Performance:

  • use specialized renf_elem_fdiv for floor divisions with e-antic elements

- C++
Published by saraedum over 5 years ago

intervalxt - 3.0.1

Fixed:

  • commit links in ASV reports
  • Report coverage changes on Pull Requests
  • Do not build conda package against broken fmt-7.1.0

- C++
Published by saraedum over 5 years ago

intervalxt - 3.0.0

Changed:

  • A DynamicalDecomposition can now be copied (sharing a reference to the same underlying data.)

  • Simplified noexcept qualifications on all methods in the public API.

Removed:

  • Public HalfEdge constructor. Half edges should always be created by extracting them from a component's contour.

Fixed:

  • Fixed two memory leaks in decomposition due to circular sequences of shared pointers. And refactored the internal data structures quite heavily.

- C++
Published by saraedum over 5 years ago

intervalxt - 2.1.1

Fixed:

  • Component::iet() returned a unique_ptr; there's no need for that since IntervalExchangeTransformation can be moved (and easily copied if needed.) So we now return an IntervalExchangeTransformation instead. (technically, a breaking API & ABI change but nobody is using this functionality that we released a few minutes ago yet.)

- C++
Published by saraedum over 5 years ago

intervalxt - 2.1.0

Added:

  • Component::iet() to be able to debug problems in Lengths implementations by working on a stripped down copy of the Interval Exchange Transformation underlying a component

- C++
Published by saraedum over 5 years ago

intervalxt - 2.0.2

Fixed:

  • hang in Component::decompositionStep, should fix https://github.com/flatsurf/flatsurf/issues/136

- C++
Published by saraedum over 5 years ago

intervalxt - 2.0.1

Fixed:

  • sample::Coefficients for exact real types; also added (trivial) tests for coefficients

  • libintervalxt is not linked against e-antic and exact-real anymore. Instead, the tests are only run when these libraries are present.

- C++
Published by saraedum over 5 years ago

intervalxt - 2.0.0

Added:

  • IntervalExchangeTransformation::equivalent() method to decide whether two interval exchange transformations are equivalent modulo the precise labeling.
  • The Lengths of an IntervalExchangeTransformation are not available as iet.lengths in Python. This is probably limited to interval exchange transformations originally created through the Python interface.

Changed:

  • Split ::intervalxt::sample::Arithmetic into ::intervalxt::sample::FloorDivision and ::intervalxt::sample::Coefficients. The latter now accepts a vector of elements and produces a vector of Q-vectors that correspond to the given elements after being brought into the same vector space. This is a breaking API change.

  • The method Lengths::coefficients() now expects a vector of labels and produces a vector of Q-vectors corresponding to realizations of the corresponding lengths in a common Q vector space.

  • The method IntervalExchangeTransformation::safInvariant() now returns a vector<mpq_class> instead of a valarray<mpq_class>. The valarray had always been a source of issues since it does not play nicely with vectors that we use everywhere else in the flatsurf stack.

  • In the Python interface, IET has been renamed to IntervalExchangeTransformation and makeLengths to Lengths.

  • sample::Lengths over integer types now require gmpxxll to be available.

Fixed:

  • Most labels now print nicely in the Python interface.
  • negative lengths are now detected in the Python interface and reported as an error, #85

- C++
Published by saraedum over 5 years ago

intervalxt - 1.0.3

Added:

  • safety checks for rever deploy script

Changed:

  • upgraded clang-format to clang version 10

- C++
Published by saraedum over 5 years ago

intervalxt - 1.0.2

Changed:

  • release with rever

- C++
Published by saraedum over 5 years ago

intervalxt - 1.0.1

  • fixed version number in configure.ac files

- C++
Published by saraedum over 5 years ago

intervalxt - 1.0.0

- C++
Published by saraedum over 5 years ago

intervalxt - Second Alpha Release

mostly to be able to remove the 1000 offset from build numbers.

- C++
Published by saraedum almost 6 years ago

intervalxt - First Alpha Release

- C++
Published by saraedum almost 7 years ago