Trait malachite_base::num::arithmetic::traits::ReciprocalAssign
source · pub trait ReciprocalAssign {
// Required method
fn reciprocal_assign(&mut self);
}
Expand description
Replaces a number with its reciprocal (multiplicative inverse).
Required Methods§
fn reciprocal_assign(&mut self)
Implementations on Foreign Types§
source§impl ReciprocalAssign for f32
impl ReciprocalAssign for f32
source§fn reciprocal_assign(&mut self)
fn reciprocal_assign(&mut self)
Takes the reciprocal of a floating-point number, in place.
$x \gets 1/x+\varepsilon$. Let $p$ be the precision of the input float (typically 24
for f32
s and 53 for f64
s, unless the float is subnormal).
- If $1/x$ is infinite, zero, or
NaN
, $\varepsilon$ may be ignored or assumed to be 0. - If $1/x$ is finite and nonzero, and $m$ is not
Nearest
, then $|\varepsilon| < 2^{\lfloor\log_2 |1/x|\rfloor-p+1}$. - If $1/x$ is finite and nonzero, and $m$ is
Nearest
, then $|\varepsilon| < 2^{\lfloor\log_2 |1/x|\rfloor-p}$.
See the reciprocal
documentation for information on special cases.
§Worst-case complexity
Constant time and additional memory.
§Examples
See here.
source§impl ReciprocalAssign for f64
impl ReciprocalAssign for f64
source§fn reciprocal_assign(&mut self)
fn reciprocal_assign(&mut self)
Takes the reciprocal of a floating-point number, in place.
$x \gets 1/x+\varepsilon$. Let $p$ be the precision of the input float (typically 24
for f32
s and 53 for f64
s, unless the float is subnormal).
- If $1/x$ is infinite, zero, or
NaN
, $\varepsilon$ may be ignored or assumed to be 0. - If $1/x$ is finite and nonzero, and $m$ is not
Nearest
, then $|\varepsilon| < 2^{\lfloor\log_2 |1/x|\rfloor-p+1}$. - If $1/x$ is finite and nonzero, and $m$ is
Nearest
, then $|\varepsilon| < 2^{\lfloor\log_2 |1/x|\rfloor-p}$.
See the reciprocal
documentation for information on special cases.
§Worst-case complexity
Constant time and additional memory.
§Examples
See here.