[−][src]Trait micromath::F32Ext
f32
extension providing various arithmetic approximations and polyfills
for std
functionality.
Required methods
fn abs(self) -> f32
Compute absolute value with a constant-time, data-independent implementation.
fn asin(self) -> f32
Approximate asin(x)
in radians in the range [-pi/2, pi/2]
.
fn acos(self) -> f32
Approximate acos(x)
in radians in the range [0, pi]
fn atan(self) -> f32
Approximate atan(x)
in radians with a maximum error of 0.002
.
fn atan_norm(self) -> f32
Approximate atan(x)
normalized to the [−1,1]
range with a maximum
error of 0.1620
degrees.
fn atan2(self, other: f32) -> f32
Approximate the four quadrant arctangent atan2(x)
in radians, with
a maximum error of 0.002
.
fn atan2_norm(self, other: f32) -> f32
Approximate the four quadrant arctangent.
Normalized to the [0,4)
range with a maximum error of 0.1620
degrees.
fn ceil(self) -> f32
Approximate floating point ceiling.
fn cos(self) -> f32
Approximate cosine in radians with a maximum error of 0.002
.
fn floor(self) -> f32
Approximate floating point floor.
fn hypot(self, other: f32) -> f32
Approximate the length of the hypotenuse of a right-angle triangle given
legs of length x
and y
.
fn inv(self) -> f32
Approximate 1/x
with an average deviation of ~8%.
fn invsqrt(self) -> f32
Approximate inverse square root with an average deviation of ~5%.
fn sin(self) -> f32
Approximate sine in radians with a maximum error of 0.002
.
fn sqrt(self) -> f32
Approximate square root with an average deviation of ~5%.
fn tan(self) -> f32
Approximate tan(x)
in radians with a maximum error of 0.6
.
fn trunc(self) -> f32
Retrieve whole number part of floating point with sign.
fn round(self) -> f32
Round the number part of floating point with sign.
fn fract(self) -> f32
Retrieve the fractional part of floating point with sign.
fn copysign(self, sign: f32) -> f32
Copies the sign from one number to another and returns it.
fn ln(self) -> f32
Approximate ln(x)
.
fn exp(self) -> f32
Approximate e^x
.
fn log(self, base: f32) -> f32
Approximate log
with an arbitrary base.
fn log2(self) -> f32
Approximate log2
.
fn log10(self) -> f32
Approximate log10
.
fn powf(self, n: f32) -> f32
Approximate self^n
.