Skip to content

Latest commit

 

History

History
91 lines (60 loc) · 4.92 KB

NEWS.md

File metadata and controls

91 lines (60 loc) · 4.92 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

For pre-1.0.0 releases we will increment the minor version when we export any new functions or alter exported API. For bug fixes, performance enhancements, or fixes to unexported functions we will increment the patch version. Note: The exported API can be considered very stable and likely will not change without serious consideration.

Unreleased

Version 0.2.8

Added

  • Add support for complex numbers in besseli0, besseli1, besselj0, besselj1 (PR #68)
  • Add separate documentation page with API (PR #69). This currently fails to build see (Issue #70)

Fixed

  • Fixed wrong return when iterating over a range of nu values when length(nu) == 2 (PR #71)

Version 0.2.7

Added

  • Add Float16 and Float32 gamma implementations (PR #65) contributed by @oscardssmith.

Fixed

  • Improve accuracy of Float64 gamma implementation for negative values (PR #65) by @oscardssmith
  • Improve accuracy of besselk power series (PR #66) by @oscardssmith

Version 0.2.6

Added

  • Add methods to preallocate sequences Bessels.besselj!(out, nu, x), Bessels.bessely!(out, nu, x), Bessels.besseli!(out, nu, x), Bessels.besselk!(out, nu, x) (PR #60).

Fixed

  • Clean up gamma implementation (PR #62) contributed by @oscardssmith. Small fixes for x = 0 added in (PR #63
  • Improved inference in sphericalbesselj. (PR #61). Contributed by @Samuel3008.

Version 0.2.5

Fixed

  • Fix bug for very large inputs (x>1e16) in besselj0 and friends routines. A particularly thank you to @jwscook for reporting the bug in (Issue #56) and providing a very detailed analysis.

Version 0.2.4

Added

  • Enable auto-vectorization of asymptotic expansions to improve performance. This reduces computation time around ~20% in some domains (PR #45).

Version 0.2.3

Added

  • Add support for nu isa AbstractRange (i.e., besselj(0:10, 1.0)) to allow for fast computation of Bessel functions at many orders (PR #53).

Version 0.2.2

Added

  • Support for all airy functions and derivatives in entire complex plane (PR #51). These are specialized routines for airy functions instead of relying on connection to besselk. These are a couple digits more accurate and faster than previous versions.

Version 0.2.1

Added

  • Add more optimized methods for Float32 calculations that are faster (PR #43)
  • Add methods for computing modified spherical bessel function of second (PR #46 contributed by @cgeoga and first (PR #47)) kind. These functions are currently not exported. Closes (Issue #25)
  • Asymptotic expansion for x >> nu was added (PR #48) that decreases computation time for large arguments. Contributed by @cgeoga

Fixed

  • Reduce compile time and time to first call of besselj and bessely (PR #42)

Version 0.2.0

Added

  • add an unexport method (Bessels.besseljy(nu, x)) for faster computation of besselj and bessely (#33)
  • add exported methods for Hankel functions besselh(nu, k, x), hankelh1(nu, x), hankelh2(nu, x) (#33)
  • add exported methods for spherical bessel function sphericalbesselj(nu, x), sphericalbesselj(nu, x), (#38)
  • add exported methods for airy functions airyai(x), airyaiprime(x), airybi(x), airybiprime(x), (#39)

Fixed

  • fix cutoff in bessely to not return error for integer orders and small arguments (#33)
  • fix NaN return for small arguments (issue [#35]) in bessely (#40)
  • allow calling with integer argument and add float16 support (#40)

Version 0.1.0

Initial release of Bessels.jl

Added

  • support bessel functions (besselj, bessely, besseli, besselk) for real arguments
  • provide a gamma function (Bessels.gamma) for real arguments