Skip to content

0.5.0

Compare
Choose a tag to compare
@dhermes dhermes released this 08 Sep 05:24
· 1198 commits to main since this release

PyPI: https://pypi.org/project/bezier/0.5.0/
Docs: https://bezier.readthedocs.io/en/0.5.0/

Performance Optimizations

  • Change wiggle_interval to return success bool instead of raising an exception. This allows the implicitization approach to use it without having to use exceptions for flow-control. (Fixes #22.)
  • Switching Fortran speedups from f2py to Cython (this is because f2py artificially limits the feature set of Fortran, i.e. user defined types)
  • Moving some more code to Fortran (e.g. bbox_line_intersect() 3dcf640)

New Features

Miscellany

  • Getting bezier published in the Journal of Open Source Science (JOSS). See review. (e6c4536 and 975ac6b)
  • Updating error message for locate() methods and adding a note that locate() / evaluate*() are (essentially) inverses. H/T to @pdknsk #36
  • Using Fortran-contiguous arrays in _check_non_simple(). (b06c78e)
  • Moving most of Curve.subdivide() and Surface.subdivide() logic into helpers. This is part of an effort to make all helpers take low-level data types rather than Curves, Surfaces, etc. (34515bd and 1fc80e5)
  • Split speedup.f90 into submodules curve.f90, surface.f90, etc. (75349b7, dfd6bba, 7096a9d, c326c00)
  • Adding BEZIER_JOURNAL option to setup.py. This stores a record of compiler commands invoked during installation. See Native Libraries for more details. (3d832e7 and c64a97a)