pub enum Exponent {
Whole {
m: u32,
negative: bool,
},
Halves {
m: u32,
negative: bool,
},
General,
}Expand description
How Pow raises to an exponent y. Its slice form reads it once for a constant y, and its scalar form for each item. The JIT’s lowering of a constant power reads it too.
Variants§
Whole
x^m, or x^-m where negative, through recipe::power. Positive m goes to MULTIPLIED, or COMPENSATED with fused multiply-add. Negative powers below -1 need fused multiply-add. No result fails.
Halves
√x^m, or 1/√x^m where negative, for m of 1 or 3. Negative three halves needs fused multiply-add for compensated products. √x gives pow’s values at -0 and -∞, and a negative finite x has no real power.
General
Any other y: e^(y ln |x|).
Implementations§
Trait Implementations§
impl Copy for Exponent
impl Eq for Exponent
impl StructuralPartialEq for Exponent
Auto Trait Implementations§
impl Forget for Exponent
impl Freeze for Exponent
impl RefUnwindSafe for Exponent
impl Send for Exponent
impl Sync for Exponent
impl Unpin for Exponent
impl UnsafeUnpin for Exponent
impl UnwindSafe for Exponent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more