Skip to content

Releases: flatsurf/flatsurf

3.14.1

20 Jan 07:58
Compare
Choose a tag to compare

Fixed:

  • Fixed ordering of saddle connections when iterating byLength().
  • Fixed tests on macOS. All tests are now automatically run for macOS 11 on GitHub's CI.

3.14.0

10 Jan 02:58
Compare
Choose a tag to compare

Added:

  • Added FlowComponent::safInvariant() to expose the SAF invariant of the underlying Interval Exchange Transformation.

Fixed:

  • Fixed printing of the trivial deformation to actually print as a deformation and not as the underlying surface.
  • Fixed access to intervalxt objects through pyflatsurf, e.g., FlowComoponent::dynamicalComponent.

3.13.5

31 Dec 03:04
Compare
Choose a tag to compare

Added:

  • Added compatibility with FLINT 3.

3.13.4

30 Dec 05:58
Compare
Choose a tag to compare

Fixed:

  • Fixed checks for fmt library version 10.

3.13.3

14 Apr 11:32
Compare
Choose a tag to compare

Fixed:

  • Fixed FlatTriangulation::isomorphism(…, DELAUNAY_CELLS) which got Delaunay cells wrong in the image of the isomorphism.

3.13.2

16 Jan 23:11
Compare
Choose a tag to compare

Fixed:

  • Fixed missing implementation of hashing for EquivalenceClass.
  • Fixed equivalence tests in pyflatsurf test suite.

3.13.1

16 Jan 21:03
Compare
Choose a tag to compare

Fixed:

  • Fixed compilation on macOS.

3.13.0

16 Jan 18:39
Compare
Choose a tag to compare

Added:

  • Added Equivalence and EquivalenceClass to quickly compare whether two surfaces are equal with respect to a certain notion of equality, e.g., modulo a relabeling of edges, modulo a linear transformation, …

  • Added FlatTriangulation::relabel() to create a copy of the surface with permutated half edge labels.

Deprecated:

  • Deprecated FlatTriangulation::isomorphism(). For most purposes, Equivalence::isomorphisms() and EquivalenceClass are much faster and easier to use. The isomorphism can still be useful when considering non-triangulated surfaces. This functionality will be added to equivalences at a later point.
  • Deprecated Vertex::source(HalfEdge, FlatTriangulationCombinatorial&) and Vertex::target(HalfEdge, FlatTriangulationCombinatorial&). The parameter order everywhere else in flatsurf is such that the surface is passed first so prefer to use Vertex::suorce(FlatTriangulationCombinatorial&, HalfEdge) and Vertex::target(FlatTriangulationCombinatorial&, HalfEdge) instead.

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 using the limited storage on anaconda.org twice as fast so we disable this.

Fixed:

  • Fixed compilation on some versions of clang.
  • Fixed serialization with cereal 1.3.1+ in the same way we did for e-antic in flatsurf/e-antic#242.
  • Fixed some compiler warnings with recent versions of GCC/Clang.

3.12.0

13 Sep 19:21
Compare
Choose a tag to compare

Added:

  • Added scalar multiplication of exact vectors with elements of underlying ring.
  • Added Vector::applyMatrix(a, b, c, d) and FlatTriangulation::applyMatrix(a, b, c, d).
  • Added predicates FlatTriangulation::inHalfPlane() and FlatTriangulation::inPlane().
  • Added various flavours of FlatTriangulation::sector() to generalize saddle
    connections factory functions that have been deprecated.
  • Added Point for points on a flat triangulation.
  • Added mapping of Point under a Deformation.
  • Added FlatTriangulation::angle for Point.
  • Added FlatTriangulationCombinatorics::face(HalfEdge) to get the other half edges of a face without having to manually call previousInFace/nextInFace.

Deprecated:

  • Deprecated factory functions SaddleConnection::inHalfPlane(),
    SaddleConnection::inPlane(), SaddleConnection::alongVertical(),
    SaddleConnection::clockwise(), SaddleConnection::counterclockwise(). The
    functionality is now essentially in FlatTriangulation::sector().

Fixed:

  • Fixed incorrect channels for binder setup.
  • Fixed formatting of the flatsurf zenodo page in case somebody wants to cite flatsurf directly.

Performance:

  • Improved performance of tests.

3.11.3

29 Aug 15:57
Compare
Choose a tag to compare

Fixed:

  • Added support for fmt library version 9.