==================
- Fix an out of bounds access in the bicubic interpolation function that
BAYESTAR uses to evaluate the integral over distance. Due to the relationship
between the lookup table bounds and BAYESTAR's distance limits of
integration, the corner case that caused out of bounds access was never
triggered. This bug had no impact on localizations generated by BAYESTAR.
- More performance improvements in BAYESTAR providing a 2x speedup.
For benchmark results, see the new `How fast is BAYESTAR?`_ section in the
manual.
- The function ``bicubic_interp_eval`` had not being effectively
autovectorized by the compiler. Rewrite it in explicitly vector form using
the `GCC vector extension`_ (which is also supported by clang and icc) and
selected vector intrinsics. In x86_64 builds, gcc, clang, and icc will now
emit SSE2, SSE4.1, and FMA instructions for this code.
- Pre-evaluate the SNR=0 limit of the distance integral to move some
conditionals and logarithms out of BAYESTAR's innermost loop.
- Add loop count hints to improve the efficacy of loop unrolling.
- Perform manual loop fission in ``bayestar_sky_map_toa_phoa_snr_pixel``.
- Update ligo.skymap to the latest version of the Astropy affiliated package
template. Migrate package infrastructure from `APE 4`_ to `APE 17`_. The
astropy-helpers submodule has been removed, and the package now includes a
pyproject.toml file (see `PEP 517`_ and `PEP 518`_).
- As a consequence of migrating to `APE 17`_ and switching to
`setuptools_scm`_, the version of ligo.skymap will be reported slightly
differently. The ``ligo.skymap.__githash__`` variable has been removed, and
instead the git hash will be part of the ``ligo.skymap.__version__`` version
string for unreleased, local versions.
- Correspondingly, ``ligo.skymap`` tools that generate FITS files
(``bayestar-localize-lvalert``, ``bayestar-localize-coincs``,
``ligo-skymap-from-samples``) will no longer populate the ``VCSREV`` and
``DATE-BLD`` keys in FITS headers.
.. _`GCC vector extension`: https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
.. _`How fast is BAYESTAR?`: https://lscsoft.docs.ligo.org/ligo.skymap/performance.html
.. _`APE 4`: https://github.com/astropy/astropy-APEs/blob/master/APE4.rst
.. _`APE 17`: https://github.com/astropy/astropy-APEs/blob/master/APE17.rst
.. _`PEP 517`: https://www.python.org/dev/peps/pep-0517/
.. _`PEP 518`: https://www.python.org/dev/peps/pep-0518/
.. _`setuptools_scm`: https://github.com/pypa/setuptools_scm