[−][src]Struct ultraviolet::f32x4
Methods
impl f32x4
[src]
Wide Methods
pub fn andnot(self, rhs: f32x4) -> f32x4
[src]
pub fn is_nan(self) -> f32x4
[src]
pub fn is_ordinary(self) -> f32x4
[src]
pub fn merge(self, a: f32x4, b: f32x4) -> f32x4
[src]
Use self
(a boolish value) to merge a
and b
.
For each lane index, if the self
lane is "true" then the a
value will
be used in the output, otherwise the b
value will be used in the output.
If sse4.1
is enabled, then "true" only checks the sign bit. With less
features enabled the entire bit pattern of the lane will matter. This is
not normally a problem, because the comparison methods naturally return
all 1s or all 0s anyway.
pub fn move_mask(self) -> i32
[src]
use wide::f32x4; let a = f32x4::new(1.0, 2.0, 3.0, 4.0); let b = f32x4::from(2.5); assert_eq!(a.cmp_lt(b).move_mask(), 0b0011);
pub fn cmp_eq(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_ge(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_gt(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_le(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_lt(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_nan(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_ne(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_nge(self, rhs: f32x4) -> f32x4
[src]
If you call this method it sets off Third Impact
pub fn cmp_ngt(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_nle(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_nlt(self, rhs: f32x4) -> f32x4
[src]
pub fn cmp_not_nan(self, rhs: f32x4) -> f32x4
[src]
use is_ordinary
pub fn ceil(self) -> f32x4
[src]
pub fn floor(self) -> f32x4
[src]
pub fn abs(self) -> f32x4
[src]
pub fn cos(self) -> f32x4
[src]
pub fn round(self) -> f32x4
[src]
pub fn sin(self) -> f32x4
[src]
Sine function.
"We called it 'Sin'."
pub fn mul_add(self, b: f32x4, c: f32x4) -> f32x4
[src]
Performs a "fused multiply-add", (self * b) + c
This is only different from a normal mul and then add if the fma
target_feature is enabled during the build. This is not on by default,
you must enable it yourself. To be clear, this is not a cargo feature,
this is a CPU feature. Read the
guide
for info on how to enable CPU features if you haven't done that before.
pub fn negated_mul_add(self, b: f32x4, c: f32x4) -> f32x4
[src]
Negated "mul_add", c - (self * b)
.
Fused if fma
feature is enabled, see (mul_add)f32x4::mul_add.
pub fn recip(self) -> f32x4
[src]
pub fn max(self, b: f32x4) -> f32x4
[src]
pub fn min(self, b: f32x4) -> f32x4
[src]
pub fn round_i32(self) -> i32x4
[src]
pub fn is_finite(self) -> f32x4
[src]
If it's some finite value.
- True for normal, denormal, and zero.
- False for +/- INF, NaN
- boolish
pub fn cast_i32x4(self) -> i32x4
[src]
pub fn copysign(self, b: f32x4) -> f32x4
[src]
pub fn clamp(self, min: f32x4, max: f32x4) -> f32x4
[src]
pub fn signum(self) -> f32x4
[src]
pub fn tan(self) -> f32x4
[src]
pub fn sin_cos(self) -> (f32x4, f32x4)
[src]
Sine and Cosine as a single operation.
pub fn to_degrees(self) -> f32x4
[src]
pub fn to_radians(self) -> f32x4
[src]
pub fn fract(self) -> f32x4
[src]
pub fn sqrt(self) -> f32x4
[src]
impl f32x4
[src]
pub const EPSILON: f32x4
[src]
Machine epsilon value for f32
.
pub const INFINITY: f32x4
[src]
Positive Infinity (∞).
pub const MAX: f32x4
[src]
Largest finite f32
value.
pub const MIN: f32x4
[src]
Smallest finite f32
value.
pub const MIN_POSITIVE: f32x4
[src]
Smallest positive normal f32
value.
pub const NAN: f32x4
[src]
Not a Number (NaN).
Reminder: This is one possible NaN value, but there are many NaN bit
patterns within the f32
space.
pub const NEG_INFINITY: f32x4
[src]
Negative infinity (-∞).
pub const E: f32x4
[src]
Euler's number (e)
pub const FRAC_1_PI: f32x4
[src]
1/π
pub const FRAC_2_PI: f32x4
[src]
2/π
pub const FRAC_2_SQRT_PI: f32x4
[src]
2/sqrt(π)
pub const FRAC_1_SQRT_2: f32x4
[src]
1/sqrt(2)
pub const FRAC_PI_2: f32x4
[src]
π/2
pub const FRAC_PI_3: f32x4
[src]
π/3
pub const FRAC_PI_4: f32x4
[src]
π/4
pub const FRAC_PI_6: f32x4
[src]
π/6
pub const FRAC_PI_8: f32x4
[src]
π/8
pub const LN_2: f32x4
[src]
ln(2)
pub const LN_10: f32x4
[src]
ln(10)
pub const LOG2_E: f32x4
[src]
log2(e)
pub const LOG10_E: f32x4
[src]
log10(e)
pub const PI: f32x4
[src]
Archimedes' constant (π)
pub const SQRT_2: f32x4
[src]
sqrt(2)
pub const ALL_BITS_ACTIVE: f32x4
[src]
All bits active.
pub const ALL_EXCEPT_SIGN: f32x4
[src]
All bits active.
pub const ZERO: f32x4
[src]
0.0
pub const NEGATIVE_ZERO: f32x4
[src]
-0.0
pub const HALF: f32x4
[src]
0.5
pub const ONE: f32x4
[src]
1.0
pub const NEGATIVE_ONE: f32x4
[src]
1.0
pub const TWO_PI: f32x4
[src]
2.0 * π, the number of radians in a circle.
impl f32x4
[src]
impl f32x4
[src]
pub fn exp2(self) -> f32x4
[src]
pub fn exp(self) -> f32x4
[src]
pub fn log10(self) -> f32x4
[src]
pub fn log2(self) -> f32x4
[src]
pub fn trunc(self) -> f32x4
[src]
pub fn ln(self) -> f32x4
[src]
pub fn powf(self, b: f32x4) -> f32x4
[src]
pub fn powi(self, b: [i32; 4]) -> f32x4
[src]
pub fn classify(self) -> [FpCategory; 4]
[src]
pub fn acos(self) -> f32x4
[src]
pub fn acosh(self) -> f32x4
[src]
pub fn asin(self) -> f32x4
[src]
pub fn asinh(self) -> f32x4
[src]
pub fn atan(self) -> f32x4
[src]
pub fn atanh(self) -> f32x4
[src]
pub fn cbrt(self) -> f32x4
[src]
pub fn cosh(self) -> f32x4
[src]
pub fn exp_m1(self) -> f32x4
[src]
pub fn ln_1p(self) -> f32x4
[src]
pub fn log(self, b: f32x4) -> f32x4
[src]
pub fn sinh(self) -> f32x4
[src]
pub fn tanh(self) -> f32x4
[src]
pub fn atan2(self, b: f32x4) -> f32x4
[src]
pub fn hypot(self, b: f32x4) -> f32x4
[src]
Trait Implementations
impl<'_> BitOrAssign<&'_ f32x4> for f32x4
[src]
fn bitor_assign(&mut self, rhs: &f32x4)
[src]
impl BitOrAssign<f32x4> for f32x4
[src]
fn bitor_assign(&mut self, rhs: f32x4)
[src]
impl Display for f32x4
[src]
impl AsRef<[f32; 4]> for f32x4
[src]
impl LowerExp for f32x4
[src]
impl SubAssign<f32x4> for f32x4
[src]
fn sub_assign(&mut self, rhs: f32x4)
[src]
impl<'_> SubAssign<&'_ f32x4> for f32x4
[src]
fn sub_assign(&mut self, rhs: &f32x4)
[src]
impl BitOr<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the |
operator.
fn bitor(self, rhs: f32x4) -> f32x4
[src]
impl<'_> BitOr<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the |
operator.
fn bitor(self, rhs: &f32x4) -> f32x4
[src]
impl<'_> BitXor<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: &f32x4) -> f32x4
[src]
impl BitXor<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: f32x4) -> f32x4
[src]
impl Not for f32x4
[src]
type Output = f32x4
The resulting type after applying the !
operator.
fn not(self) -> f32x4
[src]
Bitwise negation
impl Sum<f32x4> for f32x4
[src]
impl<'a> Sum<&'a f32x4> for f32x4
[src]
impl Rem<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the %
operator.
fn rem(self, rhs: f32x4) -> f32x4
[src]
impl<'_> Rem<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the %
operator.
fn rem(self, rhs: &f32x4) -> f32x4
[src]
impl<'_> BitAndAssign<&'_ f32x4> for f32x4
[src]
fn bitand_assign(&mut self, rhs: &f32x4)
[src]
impl BitAndAssign<f32x4> for f32x4
[src]
fn bitand_assign(&mut self, rhs: f32x4)
[src]
impl From<f32> for f32x4
[src]
impl From<[u8; 4]> for f32x4
[src]
impl From<[i16; 4]> for f32x4
[src]
impl From<[u16; 4]> for f32x4
[src]
impl From<[i8; 4]> for f32x4
[src]
impl From<[f32; 4]> for f32x4
[src]
impl From<(f32, f32, f32, f32)> for f32x4
[src]
impl<'_> RemAssign<&'_ f32x4> for f32x4
[src]
fn rem_assign(&mut self, rhs: &f32x4)
[src]
impl RemAssign<f32x4> for f32x4
[src]
fn rem_assign(&mut self, rhs: f32x4)
[src]
impl AsMut<[f32; 4]> for f32x4
[src]
impl Add<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the +
operator.
fn add(self, rhs: f32x4) -> f32x4
[src]
impl<'_> Add<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the +
operator.
fn add(self, rhs: &f32x4) -> f32x4
[src]
impl Pod for f32x4
[src]
impl IndexMut<usize> for f32x4
[src]
impl Clone for f32x4
[src]
impl Sub<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the -
operator.
fn sub(self, rhs: f32x4) -> f32x4
[src]
impl<'_> Sub<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the -
operator.
fn sub(self, rhs: &f32x4) -> f32x4
[src]
impl Mul<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> f32x4
[src]
impl<'_> Mul<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the *
operator.
fn mul(self, rhs: &f32x4) -> f32x4
[src]
impl LowerHex for f32x4
[src]
impl Default for f32x4
[src]
impl<'_> AddAssign<&'_ f32x4> for f32x4
[src]
fn add_assign(&mut self, rhs: &f32x4)
[src]
impl AddAssign<f32x4> for f32x4
[src]
fn add_assign(&mut self, rhs: f32x4)
[src]
impl Octal for f32x4
[src]
impl Neg for f32x4
[src]
impl<'_> Neg for &'_ f32x4
[src]
impl DivAssign<f32x4> for f32x4
[src]
fn div_assign(&mut self, rhs: f32x4)
[src]
impl<'_> DivAssign<&'_ f32x4> for f32x4
[src]
fn div_assign(&mut self, rhs: &f32x4)
[src]
impl UpperHex for f32x4
[src]
impl UpperExp for f32x4
[src]
impl<'_> MulAssign<&'_ f32x4> for f32x4
[src]
fn mul_assign(&mut self, rhs: &f32x4)
[src]
impl MulAssign<f32x4> for f32x4
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl Index<usize> for f32x4
[src]
impl BitAnd<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the &
operator.
fn bitand(self, rhs: f32x4) -> f32x4
[src]
impl<'_> BitAnd<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the &
operator.
fn bitand(self, rhs: &f32x4) -> f32x4
[src]
impl<'_> Div<&'_ f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the /
operator.
fn div(self, rhs: &f32x4) -> f32x4
[src]
impl Div<f32x4> for f32x4
[src]
type Output = f32x4
The resulting type after applying the /
operator.
fn div(self, rhs: f32x4) -> f32x4
[src]
impl Debug for f32x4
[src]
impl Copy for f32x4
[src]
impl<'a> Product<&'a f32x4> for f32x4
[src]
impl Product<f32x4> for f32x4
[src]
impl Binary for f32x4
[src]
impl<'_> BitXorAssign<&'_ f32x4> for f32x4
[src]
fn bitxor_assign(&mut self, rhs: &f32x4)
[src]
impl BitXorAssign<f32x4> for f32x4
[src]
fn bitxor_assign(&mut self, rhs: f32x4)
[src]
impl Zeroable for f32x4
[src]
fn zeroed() -> Self
impl Lerp<f32x4> for Wec2
[src]
impl Lerp<f32x4> for Wec3
[src]
impl Lerp<f32x4> for Wec4
[src]
impl Lerp<f32x4> for WBivec2
[src]
impl Lerp<f32x4> for WBivec3
[src]
impl Lerp<f32x4> for WRotor2
[src]
impl Lerp<f32x4> for WRotor3
[src]
impl Div<f32x4> for WBivec2
[src]
type Output = WBivec2
The resulting type after applying the /
operator.
fn div(self, rhs: f32x4) -> WBivec2
[src]
impl Div<f32x4> for WBivec3
[src]
type Output = WBivec3
The resulting type after applying the /
operator.
fn div(self, rhs: f32x4) -> WBivec3
[src]
impl Div<f32x4> for Wec2
[src]
type Output = Wec2
The resulting type after applying the /
operator.
fn div(self, rhs: f32x4) -> Wec2
[src]
impl Div<f32x4> for Wec3
[src]
type Output = Wec3
The resulting type after applying the /
operator.
fn div(self, rhs: f32x4) -> Wec3
[src]
impl Div<f32x4> for Wec4
[src]
type Output = Wec4
The resulting type after applying the /
operator.
fn div(self, rhs: f32x4) -> Wec4
[src]
impl Mul<WBivec2> for f32x4
[src]
type Output = WBivec2
The resulting type after applying the *
operator.
fn mul(self, rhs: WBivec2) -> WBivec2
[src]
impl Mul<f32x4> for WBivec2
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Self
[src]
impl Mul<WBivec3> for f32x4
[src]
type Output = WBivec3
The resulting type after applying the *
operator.
fn mul(self, rhs: WBivec3) -> WBivec3
[src]
impl Mul<f32x4> for WBivec3
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Self
[src]
impl Mul<f32x4> for WRotor2
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Self
[src]
impl Mul<WRotor2> for f32x4
[src]
type Output = WRotor2
The resulting type after applying the *
operator.
fn mul(self, rotor: WRotor2) -> WRotor2
[src]
impl Mul<f32x4> for WRotor3
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Self
[src]
impl Mul<WRotor3> for f32x4
[src]
type Output = WRotor3
The resulting type after applying the *
operator.
fn mul(self, rotor: WRotor3) -> WRotor3
[src]
impl Mul<Wec2> for f32x4
[src]
type Output = Wec2
The resulting type after applying the *
operator.
fn mul(self, rhs: Wec2) -> Wec2
[src]
impl Mul<f32x4> for Wec2
[src]
type Output = Wec2
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Wec2
[src]
impl Mul<Wec3> for f32x4
[src]
type Output = Wec3
The resulting type after applying the *
operator.
fn mul(self, rhs: Wec3) -> Wec3
[src]
impl Mul<f32x4> for Wec3
[src]
type Output = Wec3
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Wec3
[src]
impl Mul<Wec4> for f32x4
[src]
type Output = Wec4
The resulting type after applying the *
operator.
fn mul(self, rhs: Wec4) -> Wec4
[src]
impl Mul<f32x4> for Wec4
[src]
type Output = Wec4
The resulting type after applying the *
operator.
fn mul(self, rhs: f32x4) -> Wec4
[src]
impl MulAssign<f32x4> for WBivec2
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl MulAssign<f32x4> for WBivec3
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl MulAssign<f32x4> for WRotor2
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl MulAssign<f32x4> for WRotor3
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl MulAssign<f32x4> for Wec2
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl MulAssign<f32x4> for Wec3
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl MulAssign<f32x4> for Wec4
[src]
fn mul_assign(&mut self, rhs: f32x4)
[src]
impl DivAssign<f32x4> for WBivec2
[src]
fn div_assign(&mut self, rhs: f32x4)
[src]
impl DivAssign<f32x4> for WBivec3
[src]
fn div_assign(&mut self, rhs: f32x4)
[src]
impl DivAssign<f32x4> for Wec2
[src]
fn div_assign(&mut self, rhs: f32x4)
[src]
impl DivAssign<f32x4> for Wec3
[src]
fn div_assign(&mut self, rhs: f32x4)
[src]
impl DivAssign<f32x4> for Wec4
[src]
fn div_assign(&mut self, rhs: f32x4)
[src]
Auto Trait Implementations
impl Send for f32x4
impl Sync for f32x4
impl Unpin for f32x4
impl UnwindSafe for f32x4
impl RefUnwindSafe for f32x4
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,