Trait FloatSpecial

Source
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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so 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§