7 releases
new 0.1.6 | Oct 5, 2024 |
---|---|
0.1.5 | Dec 30, 2023 |
#322 in Algorithms
624 downloads per month
Used in starfinder
600KB
10K
SLoC
spec_math
This crate contains approximations for a set of mathematical functions commonly referred to as "special functions". The goal of this crate is to eventually contain a full Rust re-implementation of the CEPHES library with minimal changes in modules such as the cephes64 module. The special functions will also be available as traits for easier use in Rust, potentially with modifications to correct bugs or improve performance from the original CEPHES implementation.
Currently, the gamma functions, error functions, elliptic integrals, sine and cosine integrals, fresnel integrals, normal distribution, and bessel functions are implemented.
lib.rs
:
This crate contains approximations for a set of mathematical functions
commonly referred to as "special functions". The goal of this crate is
to eventually contain a full Rust re-implementation of the CEPHES
library with minimal changes in modules such as the cephes64
module. The special functions will also be available as traits for easier
use in Rust, potentially with modifications to correct bugs or improve performance
from the original CEPHES implementation.
Currently, the error functions, gamma functions, beta functions, fresnel integrals,
sine and cosine integrals, elliptic integrals, and bessel functions are implemented.
Uses cephes64::erf
Uses cephes64::erfc
Uses misc::erfinv
Uses misc::erfcinv
Uses cephes64::fresnl
Uses cephes64::sici
Uses cephes64::shichi
Uses cephes64::expn
Uses cephes64::dawsn
Uses cephes64::spence
Uses misc::norm_pdf
Uses cephes64::ndtr
Uses cephes64::ndtri
Uses misc::t_pdf
Uses cephes64::stdtr
Uses cephes64::stdtri
Uses misc::binom_pmf
Uses cephes64::bdtr
Uses cephes64::bdtrc
Uses cephes64::bdtri
Uses misc::nbinom_pmf
Uses cephes64::nbdtr
Uses cephes64::nbdtrc
Uses cephes64::nbdtri
Uses cephes64::gamma
Uses cephes64::lgam
Uses cephes64::igam
Uses cephes64::igamc
Uses cephes64::igami
Uses cephes64::igamci
Uses cephes64::psi
Uses cephes64::rgamma
Uses cephes64::beta
Uses cephes64::lbeta
Uses cephes64::incbet
Uses cephes64::incbi
Uses misc::beta_pdf
Uses cephes64::btdtr
Uses cephes64::incbi
Uses misc::chi2_pdf
Uses cephes64::chdtr
Uses cephes64::chdtrc
Uses cephes64::chdtri
Uses misc::pois_pmf
Uses cephes64::pdtr
Uses cephes64::pdtrc
Uses cephes64::pdtri
Uses misc::f_pdf
Uses cephes64::fdtr
Uses cephes64::fdtrc
Uses cephes64::fdtri
Uses misc::gamma_pdf
Uses cephes64::gdtr
Uses cephes64::gdtrc
Uses cephes64::gdtri
Uses cephes64::reimann_zeta
Uses cephes64::zetac
Uses cephes64::zeta
Uses cephes64::ellpj
Uses cephes64::ellpe
Uses cephes64::ellpk
evaluated at 1.0 - self
Uses cephes64::ellie
Uses cephes64::ellik
Uses cephes64::airy
Uses cephes64::j0
Uses cephes64::y0
Uses cephes64::i0
Uses cephes64::i0e
Uses cephes64::j1
Uses cephes64::y1
Uses cephes64::i1
Uses cephes64::i1e
Uses cephes64::k0
Uses cephes64::k0e
Uses cephes64::k1
Uses cephes64::k1e
Uses cephes64::yn
Uses cephes64::kn
Uses cephes64::jv
Uses cephes64::yv
Uses misc::besselpoly