Trait micromath::F32Ext

source ·
pub trait F32Ext: Sized {
Show 33 methods // Required methods fn abs(self) -> f32; fn acos(self) -> f32; fn asin(self) -> f32; fn atan(self) -> f32; fn atan_norm(self) -> f32; fn atan2(self, other: f32) -> f32; fn atan2_norm(self, other: f32) -> f32; fn ceil(self) -> f32; fn copysign(self, sign: f32) -> f32; fn cos(self) -> f32; fn div_euclid(self, other: f32) -> f32; fn exp(self) -> f32; fn floor(self) -> f32; fn fract(self) -> f32; fn hypot(self, other: f32) -> f32; fn inv(self) -> f32; fn invsqrt(self) -> f32; fn ln(self) -> f32; fn log(self, base: f32) -> f32; fn log2(self) -> f32; fn log10(self) -> f32; fn mul_add(self, a: f32, b: f32) -> f32; fn powf(self, n: f32) -> f32; fn powi(self, n: i32) -> f32; fn recip(self) -> f32; fn rem_euclid(self, other: f32) -> f32; fn round(self) -> f32; fn signum(self) -> f32; fn sin(self) -> f32; fn sin_cos(self) -> (f32, f32); fn sqrt(self) -> f32; fn tan(self) -> f32; fn trunc(self) -> f32;
}
Expand description

f32 extension providing various arithmetic approximations and polyfills for std functionality.

Required Methods§

source

fn abs(self) -> f32

Compute absolute value with a constant-time, data-independent implementation.

source

fn acos(self) -> f32

Approximates acos(x) in radians in the range [0, pi]

source

fn asin(self) -> f32

Approximates asin(x) in radians in the range [-pi/2, pi/2].

source

fn atan(self) -> f32

Approximates atan(x) in radians with a maximum error of 0.002.

source

fn atan_norm(self) -> f32

Approximates atan(x) normalized to the [−1,1] range with a maximum error of 0.1620 degrees.

source

fn atan2(self, other: f32) -> f32

Approximates the four quadrant arctangent atan2(x) in radians, with a maximum error of 0.002.

source

fn atan2_norm(self, other: f32) -> f32

Approximates the four quadrant arctangent. Normalized to the [0,4) range with a maximum error of 0.1620 degrees.

source

fn ceil(self) -> f32

Approximates floating point ceiling.

source

fn copysign(self, sign: f32) -> f32

Copies the sign from one number to another and returns it.

source

fn cos(self) -> f32

Approximates cosine in radians with a maximum error of 0.002.

source

fn div_euclid(self, other: f32) -> f32

Calculates Euclidean division, the matching method for rem_euclid.

source

fn exp(self) -> f32

Approximates e^x.

source

fn floor(self) -> f32

Approximates floating point floor.

source

fn fract(self) -> f32

Retrieve the fractional part of floating point with sign.

source

fn hypot(self, other: f32) -> f32

Approximates the length of the hypotenuse of a right-angle triangle given legs of length x and y.

source

fn inv(self) -> f32

Approximates 1/x with an average deviation of ~8%.

source

fn invsqrt(self) -> f32

Approximates inverse square root with an average deviation of ~5%.

source

fn ln(self) -> f32

Approximates ln(x).

source

fn log(self, base: f32) -> f32

Approximates log with an arbitrary base.

source

fn log2(self) -> f32

Approximates log2.

source

fn log10(self) -> f32

Approximates log10.

source

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

Computes (self * a) + b.

source

fn powf(self, n: f32) -> f32

Approximates self^n.

source

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

Approximates self^n where n is an i32

source

fn recip(self) -> f32

Returns the reciprocal (inverse) of a number, 1/x.

source

fn rem_euclid(self, other: f32) -> f32

Calculates the least nonnegative remainder of self (mod other).

source

fn round(self) -> f32

Round the number part of floating point with sign.

source

fn signum(self) -> f32

Returns a number that represents the sign of self.

source

fn sin(self) -> f32

Approximates sine in radians with a maximum error of 0.002.

source

fn sin_cos(self) -> (f32, f32)

Simultaneously computes the sine and cosine of the number, x. Returns (sin(x), cos(x)).

source

fn sqrt(self) -> f32

Approximates square root with an average deviation of ~5%.

source

fn tan(self) -> f32

Approximates tan(x) in radians with a maximum error of 0.6.

source

fn trunc(self) -> f32

Retrieve whole number part of floating point with sign.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl F32Ext for f32

source§

fn abs(self) -> f32

source§

fn acos(self) -> f32

source§

fn asin(self) -> f32

source§

fn atan(self) -> f32

source§

fn atan_norm(self) -> f32

source§

fn atan2(self, other: f32) -> f32

source§

fn atan2_norm(self, other: f32) -> f32

source§

fn ceil(self) -> f32

source§

fn copysign(self, sign: f32) -> f32

source§

fn cos(self) -> f32

source§

fn div_euclid(self, other: f32) -> f32

source§

fn exp(self) -> f32

source§

fn floor(self) -> f32

source§

fn fract(self) -> f32

source§

fn hypot(self, other: f32) -> f32

source§

fn inv(self) -> f32

source§

fn invsqrt(self) -> f32

source§

fn ln(self) -> f32

source§

fn log(self, base: f32) -> f32

source§

fn log2(self) -> f32

source§

fn log10(self) -> f32

source§

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

source§

fn powf(self, n: f32) -> f32

source§

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

source§

fn recip(self) -> f32

source§

fn rem_euclid(self, other: f32) -> f32

source§

fn round(self) -> f32

source§

fn signum(self) -> f32

source§

fn sin(self) -> f32

source§

fn sin_cos(self) -> (f32, f32)

source§

fn sqrt(self) -> f32

source§

fn tan(self) -> f32

source§

fn trunc(self) -> f32

Implementors§