Skip to content

Latest commit

 

History

History
121 lines (92 loc) · 5.21 KB

File metadata and controls

121 lines (92 loc) · 5.21 KB

Ver 0.4.4 (2026-03-17)

  • Update dependencies (#48)
  • Export erfcx from public API
  • Add max iteration guard to gser/gcf to prevent potential infinite loops
  • Add input validation to beta()
  • Clarify misleading comment in faddeeva.rs

Ver 0.4.3 (2025-11-12)

  • Implement the Gamma function by Toshio Fukushima with very low relative error
    • Replace the previous Lanczos + reflection formula based implementation with Fukushima's polynomial approximation algorithm
    • Reduce relative error from ~1e-10 to ~1e-14 (often within a single ULP)
    • Add comprehensive special case handling following the ISO C 99 standard (NaN, ±∞, ±0, negative integers)
    • Add polynomial (Horner's method) and mul_add utility functions with optional FMA support
    • Contributors: JSorngard
    • Related PR: #47

Ver 0.4.2 (2025-10-15)

  • Improve numerical stability in gammp and gammq
    • Add overflow/underflow guards in series and continued fraction methods
    • Implement log-sum-exp trick in quadrature approximation
    • Add edge case handling and result clamping to [0,1]
    • Fix NaN issue when x << a for large a (a >= 100) by using series expansion instead of quadrature
      • For large a with x < 0.2*a, now uses more stable series method
      • Resolves edge case failures in test suite (e.g., gammp(120, 0.1))

Ver 0.4.1 (2025-04-25)

  • Add all branches of the complex Lambert W function
  • Enhance CI / Fix proptest & lint

Ver 0.4.0 (2025-02-24)

Implement Faddeeva function

Fix bugs

Ver 0.3.0 (2024-10-17)

Implement comprehensive Tests & Integrate lambert_w

Ver 0.2.5 (2024-08-03)

  • Implement Dawson's integral (#9) (Thanks to ethanbarry)
    • dawson(x: f64) -> f64: Dawson's integral

Ver 0.2.4 (2024-04-04)

  • Implement Bessel & Modified Bessel functions
    • Integer order
      • Jn(n: usize, x: f64) -> f64: Bessel function of the first kind
      • Yn(n: usize, x: f64) -> f64: Bessel function of the second kind
      • In(n: usize, x: f64) -> f64: Modified Bessel function of the first kind
      • Kn(n: usize, x: f64) -> f64: Modified Bessel function of the second kind
    • Fractional order
      • besseljy(nu: f64, x: f64) -> (f64, f64, f64, f64): Bessel functions (include derivatives)
      • besselik(nu: f64, x: f64) -> (f64, f64, f64, f64): Modified Bessel functions (include derivatives)
      • Jnu_Ynu(nu: f64, x: f64) -> (f64, f64): Bessel functions
      • Inu_Knu(nu: f64, x: f64) -> (f64, f64): Modified Bessel functions

Ver 0.2.3 (2024-02-18)

  • Add docs.rs badge to README.md
  • Add latex support to gammp and gammq in docs

Ver 0.2.1 (2024-02-17)

  • Update README.md
    • Fix typo (gammap -> gammp, gammaq -> gammq)

Ver 0.2.0 (2022-05-02)

  • Fix bugs (#4)

Ver 0.1.5 (2021-01-24)

  • LICENSE Update : BSD-3-Clause -> MIT or Apache-2.0

Ver 0.1.4 (2020-08-06)

  • Make public ln_gamma. (Thanks to rw)