pub trait FloatSpecial: Copy + Add<Output = Self> + Sub<Output = Self> {
Show 26 methods // Required methods fn beta(self, b: Self) -> Self; fn betainc(self, a: Self, b: Self) -> Self; fn betainc_inv(self, a: Self, b: Self) -> Self; fn factorial(self) -> Self; fn gamma(self) -> Self; fn rgamma(self) -> Self; fn loggamma(self) -> Self; fn gammainc(self, a: Self) -> Self; fn gammac(self, a: Self) -> Self; fn gammac_inv(self, a: Self) -> Self; fn digamma(self) -> Self; fn erf(self) -> Self; fn erfc(self) -> Self; fn hyp1f1(self, a: Self, b: Self) -> Self; fn hyp1f2(self, a: Self, b: Self, c: Self) -> Self; fn hyp2f1(self, a: Self, b: Self, c: Self) -> Self; fn hyp3f0(self, a: Self, b: Self, c: Self) -> Self; fn norm(self) -> Self; fn norm_inv(self) -> Self; fn besselj(self, v: Self) -> Self; fn bessely(self, v: Self) -> Self; fn besseli(self, v: Self) -> Self; fn besselk(self, v: i32) -> Self; fn riemann_zeta(self) -> Self; fn hurwitz_zeta(self, q: Self) -> Self; // Provided method fn logbeta(self, b: Self) -> Self { ... }
}
Expand description

Special functions on primitive floating point numbers.

This provides safe access to a subset of the Cephes functions implemented for double and single precision.

Required Methods§

source

fn beta(self, b: Self) -> Self

Beta function.

source

fn betainc(self, a: Self, b: Self) -> Self

Regularized incomplete beta function.

source

fn betainc_inv(self, a: Self, b: Self) -> Self

Inverse of incomplete beta integral.

source

fn factorial(self) -> Self

Factorial.

source

fn gamma(self) -> Self

Gamma function.

source

fn rgamma(self) -> Self

Reciprocal gamma function.

source

fn loggamma(self) -> Self

Logarithm of gamma function.

source

fn gammainc(self, a: Self) -> Self

Regularized incomplete gamma integral.

source

fn gammac(self, a: Self) -> Self

Complemented incomplete gamma integral.

source

fn gammac_inv(self, a: Self) -> Self

Inverse of complemented incomplete gamma integral.

source

fn digamma(self) -> Self

Digamma function.

source

fn erf(self) -> Self

Error function.

source

fn erfc(self) -> Self

Complementary error function.

source

fn hyp1f1(self, a: Self, b: Self) -> Self

Confluent hypergeometric function 1F1.

source

fn hyp1f2(self, a: Self, b: Self, c: Self) -> Self

Hypergeometric function 1F2.

source

fn hyp2f1(self, a: Self, b: Self, c: Self) -> Self

Gauss hypergeometric function 2F1.

source

fn hyp3f0(self, a: Self, b: Self, c: Self) -> Self

Hypergeometric function 3F0.

source

fn norm(self) -> Self

Normal distribution function.

source

fn norm_inv(self) -> Self

Inverse of Normal distribution function.

source

fn besselj(self, v: Self) -> Self

Bessel function of real order of the first kind.

source

fn bessely(self, v: Self) -> Self

Bessel function of real order of the second kind.

source

fn besseli(self, v: Self) -> Self

Modified bessel function of real order of the first kind.

source

fn besselk(self, v: i32) -> Self

Modified bessel function of integer order of the second kind.

source

fn riemann_zeta(self) -> Self

Riemann zeta function.

source

fn hurwitz_zeta(self, q: Self) -> Self

Hurwitz zeta function.

Provided Methods§

source

fn logbeta(self, b: Self) -> Self

Logarithm of beta function.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl FloatSpecial for f32

source§

fn beta(self, b: f32) -> f32

source§

fn betainc(self, a: f32, b: f32) -> f32

source§

fn betainc_inv(self, a: f32, b: f32) -> f32

source§

fn factorial(self) -> f32

source§

fn gamma(self) -> f32

source§

fn rgamma(self) -> f32

source§

fn loggamma(self) -> f32

source§

fn gammainc(self, a: f32) -> f32

source§

fn gammac(self, a: f32) -> f32

source§

fn gammac_inv(self, a: f32) -> f32

source§

fn digamma(self) -> f32

source§

fn erf(self) -> f32

source§

fn erfc(self) -> f32

source§

fn hyp1f1(self, a: f32, b: f32) -> f32

source§

fn hyp1f2(self, a: f32, b: f32, c: f32) -> f32

source§

fn hyp2f1(self, a: f32, b: f32, c: f32) -> f32

source§

fn hyp3f0(self, a: f32, b: f32, c: f32) -> f32

source§

fn norm(self) -> f32

source§

fn norm_inv(self) -> f32

source§

fn besselj(self, v: f32) -> f32

source§

fn bessely(self, v: f32) -> f32

source§

fn besseli(self, v: f32) -> f32

source§

fn besselk(self, n: i32) -> f32

source§

fn riemann_zeta(self) -> f32

source§

fn hurwitz_zeta(self, q: f32) -> f32

source§

impl FloatSpecial for f64

source§

fn beta(self, b: f64) -> f64

source§

fn betainc(self, a: f64, b: f64) -> f64

source§

fn betainc_inv(self, a: f64, b: f64) -> f64

source§

fn factorial(self) -> f64

source§

fn gamma(self) -> f64

source§

fn rgamma(self) -> f64

source§

fn loggamma(self) -> f64

source§

fn gammainc(self, a: f64) -> f64

source§

fn gammac(self, a: f64) -> f64

source§

fn gammac_inv(self, a: f64) -> f64

source§

fn digamma(self) -> f64

source§

fn erf(self) -> f64

source§

fn erfc(self) -> f64

source§

fn hyp1f1(self, a: f64, b: f64) -> f64

source§

fn hyp1f2(self, a: f64, b: f64, c: f64) -> f64

source§

fn hyp2f1(self, a: f64, b: f64, c: f64) -> f64

source§

fn hyp3f0(self, a: f64, b: f64, c: f64) -> f64

source§

fn norm(self) -> f64

source§

fn norm_inv(self) -> f64

source§

fn besselj(self, v: f64) -> f64

source§

fn bessely(self, v: f64) -> f64

source§

fn besseli(self, v: f64) -> f64

source§

fn besselk(self, n: i32) -> f64

source§

fn riemann_zeta(self) -> f64

source§

fn hurwitz_zeta(self, q: f64) -> f64

Implementors§