``0.5.0`` ========= |pypi| |docs| 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 ------------ - Making Fortran features available outside of Python (see `Native Libraries `__) - C headers for each Fortran module (via the ``bezier.get_include()`` `function `__) - Cython ``.pxd`` declarations for all Fortran modules - ``libbezier`` static library (via the ``bezier.get_lib()`` `function `__) - Implementing ``bezier_roots()`` polynomial root `solver `__ for polynomials written in Bernstein basis. (`0dd6369 `__) 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 ``Curve``\ s, ``Surface``\ s, 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 `__) .. |pypi| image:: https://img.shields.io/pypi/v/bezier/0.5.0.svg :target: https://pypi.org/project/bezier/0.5.0/ :alt: PyPI link to release 0.5.0 .. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=0.5.0 :target: https://bezier.readthedocs.io/en/0.5.0/ :alt: Documentation for release 0.5.0