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§

Implementations on Foreign Types§

source§

impl ReciprocalAssign for f32

source§

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 f32s and 53 for f64s, 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

source§

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 f32s and 53 for f64s, 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.

Implementors§