Struct libm::Libm

source ·
pub struct Libm<T>(/* private fields */);
Expand description

Generic helper for libm functions, abstracting over f32 and f64.

§Type Parameter:

  • T: Either f32 or f64

§Examples

use libm::{self, Libm};

const PI_F32: f32 = 3.1415927410e+00;
const PI_F64: f64 = 3.1415926535897931160e+00;

assert!(Libm::<f32>::cos(0.0f32) == libm::cosf(0.0));
assert!(Libm::<f32>::sin(PI_F32) == libm::sinf(PI_F32));

assert!(Libm::<f64>::cos(0.0f64) == libm::cos(0.0));
assert!(Libm::<f64>::sin(PI_F64) == libm::sin(PI_F64));

Implementations§

source§

impl Libm<f32>

source

pub fn acos(x: f32) -> f32

source

pub fn acosh(x: f32) -> f32

source

pub fn asin(x: f32) -> f32

source

pub fn asinh(x: f32) -> f32

source

pub fn atan(x: f32) -> f32

source

pub fn atan2(y: f32, x: f32) -> f32

source

pub fn atanh(x: f32) -> f32

source

pub fn cbrt(x: f32) -> f32

source

pub fn ceil(x: f32) -> f32

source

pub fn copysign(x: f32, y: f32) -> f32

source

pub fn cos(x: f32) -> f32

source

pub fn cosh(x: f32) -> f32

source

pub fn erf(x: f32) -> f32

source

pub fn erfc(x: f32) -> f32

source

pub fn exp(x: f32) -> f32

source

pub fn exp2(x: f32) -> f32

source

pub fn exp10(x: f32) -> f32

source

pub fn expm1(x: f32) -> f32

source

pub fn fabs(x: f32) -> f32

source

pub fn fdim(x: f32, y: f32) -> f32

source

pub fn floor(x: f32) -> f32

source

pub fn fma(x: f32, y: f32, z: f32) -> f32

source

pub fn fmax(x: f32, y: f32) -> f32

source

pub fn fmin(x: f32, y: f32) -> f32

source

pub fn fmod(x: f32, y: f32) -> f32

source

pub fn frexp(x: f32) -> (f32, i32)

source

pub fn hypot(x: f32, y: f32) -> f32

source

pub fn ilogb(x: f32) -> i32

source

pub fn j0(x: f32) -> f32

source

pub fn j1(x: f32) -> f32

source

pub fn jn(n: i32, x: f32) -> f32

source

pub fn ldexp(x: f32, n: i32) -> f32

source

pub fn lgamma_r(x: f32) -> (f32, i32)

source

pub fn lgamma(x: f32) -> f32

source

pub fn log(x: f32) -> f32

source

pub fn log1p(x: f32) -> f32

source

pub fn log2(x: f32) -> f32

source

pub fn log10(x: f32) -> f32

source

pub fn modf(x: f32) -> (f32, f32)

source

pub fn nextafter(x: f32, y: f32) -> f32

source

pub fn pow(x: f32, y: f32) -> f32

source

pub fn remainder(x: f32, y: f32) -> f32

source

pub fn remquo(x: f32, y: f32) -> (f32, i32)

source

pub fn rint(x: f32) -> f32

source

pub fn round(x: f32) -> f32

source

pub fn scalbn(x: f32, n: i32) -> f32

source

pub fn sin(x: f32) -> f32

source

pub fn sincos(x: f32) -> (f32, f32)

source

pub fn sinh(x: f32) -> f32

source

pub fn sqrt(x: f32) -> f32

source

pub fn tan(x: f32) -> f32

source

pub fn tanh(x: f32) -> f32

source

pub fn tgamma(x: f32) -> f32

source

pub fn trunc(x: f32) -> f32

source

pub fn y0(x: f32) -> f32

source

pub fn y1(x: f32) -> f32

source

pub fn yn(n: i32, x: f32) -> f32

source§

impl Libm<f64>

source

pub fn acos(x: f64) -> f64

source

pub fn acosh(x: f64) -> f64

source

pub fn asin(x: f64) -> f64

source

pub fn asinh(x: f64) -> f64

source

pub fn atan(x: f64) -> f64

source

pub fn atan2(y: f64, x: f64) -> f64

source

pub fn atanh(x: f64) -> f64

source

pub fn cbrt(x: f64) -> f64

source

pub fn ceil(x: f64) -> f64

source

pub fn copysign(x: f64, y: f64) -> f64

source

pub fn cos(x: f64) -> f64

source

pub fn cosh(x: f64) -> f64

source

pub fn erf(x: f64) -> f64

source

pub fn erfc(x: f64) -> f64

source

pub fn exp(x: f64) -> f64

source

pub fn exp2(x: f64) -> f64

source

pub fn exp10(x: f64) -> f64

source

pub fn expm1(x: f64) -> f64

source

pub fn fabs(x: f64) -> f64

source

pub fn fdim(x: f64, y: f64) -> f64

source

pub fn floor(x: f64) -> f64

source

pub fn fma(x: f64, y: f64, z: f64) -> f64

source

pub fn fmax(x: f64, y: f64) -> f64

source

pub fn fmin(x: f64, y: f64) -> f64

source

pub fn fmod(x: f64, y: f64) -> f64

source

pub fn frexp(x: f64) -> (f64, i32)

source

pub fn hypot(x: f64, y: f64) -> f64

source

pub fn ilogb(x: f64) -> i32

source

pub fn j0(x: f64) -> f64

source

pub fn j1(x: f64) -> f64

source

pub fn jn(n: i32, x: f64) -> f64

source

pub fn ldexp(x: f64, n: i32) -> f64

source

pub fn lgamma_r(x: f64) -> (f64, i32)

source

pub fn lgamma(x: f64) -> f64

source

pub fn log(x: f64) -> f64

source

pub fn log1p(x: f64) -> f64

source

pub fn log2(x: f64) -> f64

source

pub fn log10(x: f64) -> f64

source

pub fn modf(x: f64) -> (f64, f64)

source

pub fn nextafter(x: f64, y: f64) -> f64

source

pub fn pow(x: f64, y: f64) -> f64

source

pub fn remainder(x: f64, y: f64) -> f64

source

pub fn remquo(x: f64, y: f64) -> (f64, i32)

source

pub fn rint(x: f64) -> f64

source

pub fn round(x: f64) -> f64

source

pub fn scalbn(x: f64, n: i32) -> f64

source

pub fn sin(x: f64) -> f64

source

pub fn sincos(x: f64) -> (f64, f64)

source

pub fn sinh(x: f64) -> f64

source

pub fn sqrt(x: f64) -> f64

source

pub fn tan(x: f64) -> f64

source

pub fn tanh(x: f64) -> f64

source

pub fn tgamma(x: f64) -> f64

source

pub fn trunc(x: f64) -> f64

source

pub fn y0(x: f64) -> f64

source

pub fn y1(x: f64) -> f64

source

pub fn yn(n: i32, x: f64) -> f64

Auto Trait Implementations§

§

impl<T> Freeze for Libm<T>

§

impl<T> RefUnwindSafe for Libm<T>
where T: RefUnwindSafe,

§

impl<T> Send for Libm<T>
where T: Send,

§

impl<T> Sync for Libm<T>
where T: Sync,

§

impl<T> Unpin for Libm<T>
where T: Unpin,

§

impl<T> UnwindSafe for Libm<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 0 bytes