#[repr(transparent)]pub struct SimdReal(pub f32x4);Expand description
A wrapper type of wide::f32x4 that implements all the relevant traits from num and simba.
This is needed to overcome the orphan rules.
Tuple Fields§
§0: f32x4Implementations§
Trait Implementations§
Source§impl AddAssign for WideF32x4
impl AddAssign for WideF32x4
Source§fn add_assign(&mut self, rhs: WideF32x4)
fn add_assign(&mut self, rhs: WideF32x4)
Performs the
+= operation. Read moreimpl Copy for WideF32x4
Source§impl DivAssign for WideF32x4
impl DivAssign for WideF32x4
Source§fn div_assign(&mut self, rhs: WideF32x4)
fn div_assign(&mut self, rhs: WideF32x4)
Performs the
/= operation. Read moreimpl Field for WideF32x4
Source§impl FromPrimitive for WideF32x4
impl FromPrimitive for WideF32x4
Source§fn from_i64(n: i64) -> Option<WideF32x4>
fn from_i64(n: i64) -> Option<WideF32x4>
Converts an
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u64(n: u64) -> Option<WideF32x4>
fn from_u64(n: u64) -> Option<WideF32x4>
Converts an
u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_isize(n: isize) -> Option<WideF32x4>
fn from_isize(n: isize) -> Option<WideF32x4>
Converts an
isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i8(n: i8) -> Option<WideF32x4>
fn from_i8(n: i8) -> Option<WideF32x4>
Converts an
i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i16(n: i16) -> Option<WideF32x4>
fn from_i16(n: i16) -> Option<WideF32x4>
Converts an
i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i32(n: i32) -> Option<WideF32x4>
fn from_i32(n: i32) -> Option<WideF32x4>
Converts an
i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_usize(n: usize) -> Option<WideF32x4>
fn from_usize(n: usize) -> Option<WideF32x4>
Converts a
usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u8(n: u8) -> Option<WideF32x4>
fn from_u8(n: u8) -> Option<WideF32x4>
Converts an
u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u16(n: u16) -> Option<WideF32x4>
fn from_u16(n: u16) -> Option<WideF32x4>
Converts an
u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u32(n: u32) -> Option<WideF32x4>
fn from_u32(n: u32) -> Option<WideF32x4>
Converts an
u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_f32(n: f32) -> Option<WideF32x4>
fn from_f32(n: f32) -> Option<WideF32x4>
Converts a
f32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_f64(n: f64) -> Option<WideF32x4>
fn from_f64(n: f64) -> Option<WideF32x4>
Converts a
f64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moreSource§impl MulAssign for WideF32x4
impl MulAssign for WideF32x4
Source§fn mul_assign(&mut self, rhs: WideF32x4)
fn mul_assign(&mut self, rhs: WideF32x4)
Performs the
*= operation. Read moreSource§impl Num for WideF32x4
impl Num for WideF32x4
type FromStrRadixErr = <f32 as Num>::FromStrRadixErr
impl PrimitiveSimdValue for WideF32x4
Source§impl RemAssign for WideF32x4
impl RemAssign for WideF32x4
Source§fn rem_assign(&mut self, rhs: WideF32x4)
fn rem_assign(&mut self, rhs: WideF32x4)
Performs the
%= operation. Read moreSource§impl SimdComplexField for WideF32x4
impl SimdComplexField for WideF32x4
Source§type SimdRealField = WideF32x4
type SimdRealField = WideF32x4
Type of the coefficients of a complex number.
Source§fn simd_horizontal_sum(self) -> <WideF32x4 as SimdValue>::Element
fn simd_horizontal_sum(self) -> <WideF32x4 as SimdValue>::Element
Computes the sum of all the lanes of
self.Source§fn simd_horizontal_product(self) -> <WideF32x4 as SimdValue>::Element
fn simd_horizontal_product(self) -> <WideF32x4 as SimdValue>::Element
Computes the product of all the lanes of
self.Source§fn from_simd_real(
re: <WideF32x4 as SimdComplexField>::SimdRealField,
) -> WideF32x4
fn from_simd_real( re: <WideF32x4 as SimdComplexField>::SimdRealField, ) -> WideF32x4
Builds a pure-real complex number from the given value.
Source§fn simd_real(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_real(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
The real part of this complex number.
Source§fn simd_imaginary(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_imaginary(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
Source§fn simd_norm1(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_norm1(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
Source§fn simd_modulus(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_modulus(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
The modulus of this complex number.
Source§fn simd_modulus_squared(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_modulus_squared(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
Source§fn simd_argument(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_argument(self) -> <WideF32x4 as SimdComplexField>::SimdRealField
The argument of this complex number.
Source§fn simd_to_exp(
self,
) -> (<WideF32x4 as SimdComplexField>::SimdRealField, WideF32x4)
fn simd_to_exp( self, ) -> (<WideF32x4 as SimdComplexField>::SimdRealField, WideF32x4)
The exponential form of this complex number: (modulus, e^{i arg})
fn simd_recip(self) -> WideF32x4
fn simd_conjugate(self) -> WideF32x4
Source§fn simd_scale(
self,
factor: <WideF32x4 as SimdComplexField>::SimdRealField,
) -> WideF32x4
fn simd_scale( self, factor: <WideF32x4 as SimdComplexField>::SimdRealField, ) -> WideF32x4
Multiplies this complex number by
factor.Source§fn simd_unscale(
self,
factor: <WideF32x4 as SimdComplexField>::SimdRealField,
) -> WideF32x4
fn simd_unscale( self, factor: <WideF32x4 as SimdComplexField>::SimdRealField, ) -> WideF32x4
Divides this complex number by
factor.fn simd_floor(self) -> WideF32x4
fn simd_ceil(self) -> WideF32x4
fn simd_round(self) -> WideF32x4
fn simd_trunc(self) -> WideF32x4
fn simd_fract(self) -> WideF32x4
Source§fn simd_abs(self) -> WideF32x4
fn simd_abs(self) -> WideF32x4
The absolute value of this complex number:
self / self.signum(). Read moreSource§fn simd_signum(self) -> WideF32x4
fn simd_signum(self) -> WideF32x4
The exponential part of this complex number:
self / self.modulus()fn simd_mul_add(self, a: WideF32x4, b: WideF32x4) -> WideF32x4
fn simd_powi(self, n: i32) -> WideF32x4
fn simd_powf(self, n: WideF32x4) -> WideF32x4
fn simd_powc(self, n: WideF32x4) -> WideF32x4
fn simd_sqrt(self) -> WideF32x4
fn simd_exp(self) -> WideF32x4
fn simd_exp2(self) -> WideF32x4
fn simd_exp_m1(self) -> WideF32x4
fn simd_ln_1p(self) -> WideF32x4
fn simd_ln(self) -> WideF32x4
fn simd_log(self, base: WideF32x4) -> WideF32x4
fn simd_log2(self) -> WideF32x4
fn simd_log10(self) -> WideF32x4
fn simd_cbrt(self) -> WideF32x4
Source§fn simd_hypot(
self,
other: WideF32x4,
) -> <WideF32x4 as SimdComplexField>::SimdRealField
fn simd_hypot( self, other: WideF32x4, ) -> <WideF32x4 as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin(self) -> WideF32x4
fn simd_cos(self) -> WideF32x4
fn simd_tan(self) -> WideF32x4
fn simd_asin(self) -> WideF32x4
fn simd_acos(self) -> WideF32x4
fn simd_atan(self) -> WideF32x4
fn simd_sin_cos(self) -> (WideF32x4, WideF32x4)
fn simd_sinh(self) -> WideF32x4
fn simd_cosh(self) -> WideF32x4
fn simd_tanh(self) -> WideF32x4
fn simd_asinh(self) -> WideF32x4
fn simd_acosh(self) -> WideF32x4
fn simd_atanh(self) -> WideF32x4
Source§fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
fn simd_sinh_cosh(self) -> (Self, Self)
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
Source§impl SimdPartialOrd for WideF32x4
impl SimdPartialOrd for WideF32x4
Source§fn simd_gt(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
fn simd_gt(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
Lanewise greater than
> comparison.Source§fn simd_lt(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
fn simd_lt(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
Lanewise less than
< comparison.Source§fn simd_ge(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
fn simd_ge(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
Lanewise greater or equal
>= comparison.Source§fn simd_le(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
fn simd_le(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
Lanewise less or equal
<= comparison.Source§fn simd_eq(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
fn simd_eq(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
Lanewise equal
== comparison.Source§fn simd_ne(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
fn simd_ne(self, other: WideF32x4) -> <WideF32x4 as SimdValue>::SimdBool
Lanewise not equal
!= comparison.Source§fn simd_clamp(self, min: WideF32x4, max: WideF32x4) -> WideF32x4
fn simd_clamp(self, min: WideF32x4, max: WideF32x4) -> WideF32x4
Clamps each lane of
self between the corresponding lane of min and max.Source§impl SimdRealField for WideF32x4
impl SimdRealField for WideF32x4
fn simd_atan2(self, other: WideF32x4) -> WideF32x4
Source§fn simd_copysign(self, sign: WideF32x4) -> WideF32x4
fn simd_copysign(self, sign: WideF32x4) -> WideF32x4
fn simd_default_epsilon() -> WideF32x4
fn simd_pi() -> WideF32x4
fn simd_two_pi() -> WideF32x4
fn simd_frac_pi_2() -> WideF32x4
fn simd_frac_pi_3() -> WideF32x4
fn simd_frac_pi_4() -> WideF32x4
fn simd_frac_pi_6() -> WideF32x4
fn simd_frac_pi_8() -> WideF32x4
fn simd_frac_1_pi() -> WideF32x4
fn simd_frac_2_pi() -> WideF32x4
fn simd_frac_2_sqrt_pi() -> WideF32x4
fn simd_e() -> WideF32x4
fn simd_log2_e() -> WideF32x4
fn simd_log10_e() -> WideF32x4
fn simd_ln_2() -> WideF32x4
fn simd_ln_10() -> WideF32x4
Source§impl SimdSigned for WideF32x4
impl SimdSigned for WideF32x4
Source§impl SimdValue for WideF32x4
impl SimdValue for WideF32x4
Source§type SimdBool = WideBoolF32x4
type SimdBool = WideBoolF32x4
Type of the result of comparing two SIMD values like
self.Source§fn splat(val: <WideF32x4 as SimdValue>::Element) -> WideF32x4
fn splat(val: <WideF32x4 as SimdValue>::Element) -> WideF32x4
Initializes an SIMD value with each lanes set to
val.Source§fn extract(&self, i: usize) -> <WideF32x4 as SimdValue>::Element
fn extract(&self, i: usize) -> <WideF32x4 as SimdValue>::Element
Extracts the i-th lane of
self. Read moreSource§unsafe fn extract_unchecked(
&self,
i: usize,
) -> <WideF32x4 as SimdValue>::Element
unsafe fn extract_unchecked( &self, i: usize, ) -> <WideF32x4 as SimdValue>::Element
Extracts the i-th lane of
self without bound-checking. Read moreSource§impl SubAssign for WideF32x4
impl SubAssign for WideF32x4
Source§fn sub_assign(&mut self, rhs: WideF32x4)
fn sub_assign(&mut self, rhs: WideF32x4)
Performs the
-= operation. Read moreSource§impl SubsetOf<WideF32x4> for WideF32x4
impl SubsetOf<WideF32x4> for WideF32x4
Source§fn to_superset(&self) -> WideF32x4
fn to_superset(&self) -> WideF32x4
The inclusion map: converts
self to the equivalent element of its superset.Source§fn from_superset(element: &WideF32x4) -> Option<WideF32x4>
fn from_superset(element: &WideF32x4) -> Option<WideF32x4>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn from_superset_unchecked(element: &WideF32x4) -> WideF32x4
fn from_superset_unchecked(element: &WideF32x4) -> WideF32x4
Use with care! Same as
self.to_superset but without any property checks. Always succeeds.Source§fn is_in_subset(_: &WideF32x4) -> bool
fn is_in_subset(_: &WideF32x4) -> bool
Checks if
element is actually part of the subset Self (and can be converted to it).Auto Trait Implementations§
impl Freeze for WideF32x4
impl RefUnwindSafe for WideF32x4
impl Send for WideF32x4
impl Sync for WideF32x4
impl Unpin for WideF32x4
impl UnsafeUnpin for WideF32x4
impl UnwindSafe for WideF32x4
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, Right> ClosedAdd<Right> for T
impl<T, Right> ClosedAddAssign<Right> for T
impl<T, Right> ClosedDiv<Right> for T
impl<T, Right> ClosedDivAssign<Right> for T
impl<T, Right> ClosedMul<Right> for T
impl<T, Right> ClosedMulAssign<Right> for T
impl<T> ClosedNeg for Twhere
T: Neg<Output = T>,
impl<T, Right> ClosedSub<Right> for T
impl<T, Right> ClosedSubAssign<Right> for T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 moreimpl<T> NumAssign for Twhere
T: Num + NumAssignOps,
impl<T, Rhs> NumAssignOps<Rhs> for T
impl<T, Rhs, Output> NumOps<Rhs, Output> for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.