#[repr(transparent)]pub struct SimdCtx<T: ComplexField, S: Simd>(pub T::SimdCtx<S>);Tuple Fields§
§0: T::SimdCtx<S>Implementations§
Source§impl<T: ComplexField, S: Simd> SimdCtx<T, S>
impl<T: ComplexField, S: Simd> SimdCtx<T, S>
pub fn new(ctx: &T::SimdCtx<S>) -> &Self
pub fn zero(&self) -> T::SimdVec<S>
pub fn splat(&self, value: &T) -> T::SimdVec<S>
pub fn splat_real(&self, value: &T::Real) -> RealReg<T::SimdVec<S>>
pub fn add(&self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>) -> T::SimdVec<S>
pub fn sub(&self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>) -> T::SimdVec<S>
pub fn neg(&self, value: T::SimdVec<S>) -> T::SimdVec<S>
pub fn conj(&self, value: T::SimdVec<S>) -> T::SimdVec<S>
pub fn abs1(&self, value: T::SimdVec<S>) -> RealReg<T::SimdVec<S>>
pub fn abs_max(&self, value: T::SimdVec<S>) -> RealReg<T::SimdVec<S>>
pub fn mul_real( &self, lhs: T::SimdVec<S>, rhs: RealReg<T::SimdVec<S>>, ) -> T::SimdVec<S>
pub fn mul_pow2( &self, lhs: T::SimdVec<S>, rhs: RealReg<T::SimdVec<S>>, ) -> T::SimdVec<S>
pub fn mul(&self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>) -> T::SimdVec<S>
pub fn conj_mul(&self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>) -> T::SimdVec<S>
pub fn mul_add( &self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>, acc: T::SimdVec<S>, ) -> T::SimdVec<S>
pub fn conj_mul_add( &self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>, acc: T::SimdVec<S>, ) -> T::SimdVec<S>
pub fn abs2(&self, value: T::SimdVec<S>) -> RealReg<T::SimdVec<S>>
pub fn abs2_add( &self, value: T::SimdVec<S>, acc: RealReg<T::SimdVec<S>>, ) -> RealReg<T::SimdVec<S>>
pub fn reduce_sum(&self, value: T::SimdVec<S>) -> T
pub fn reduce_max(&self, value: RealReg<T::SimdVec<S>>) -> T
pub fn reduce_sum_real(&self, value: RealReg<T::SimdVec<S>>) -> Real<T>
pub fn reduce_max_real(&self, value: RealReg<T::SimdVec<S>>) -> Real<T>
pub fn max( &self, lhs: RealReg<T::SimdVec<S>>, rhs: RealReg<T::SimdVec<S>>, ) -> RealReg<T::SimdVec<S>>
pub fn eq(&self, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>) -> T::SimdMask<S>
pub fn lt( &self, lhs: RealReg<T::SimdVec<S>>, rhs: RealReg<T::SimdVec<S>>, ) -> T::SimdMask<S>
pub fn gt( &self, lhs: RealReg<T::SimdVec<S>>, rhs: RealReg<T::SimdVec<S>>, ) -> T::SimdMask<S>
pub fn le( &self, lhs: RealReg<T::SimdVec<S>>, rhs: RealReg<T::SimdVec<S>>, ) -> T::SimdMask<S>
pub fn ge( &self, lhs: RealReg<T::SimdVec<S>>, rhs: RealReg<T::SimdVec<S>>, ) -> T::SimdMask<S>
pub fn select( &self, mask: T::SimdMask<S>, lhs: T::SimdVec<S>, rhs: T::SimdVec<S>, ) -> T::SimdVec<S>
pub fn iselect( &self, mask: T::SimdMask<S>, lhs: T::SimdIndex<S>, rhs: T::SimdIndex<S>, ) -> T::SimdIndex<S>
pub fn isplat(&self, value: T::Index) -> T::SimdIndex<S>
pub fn iadd( &self, lhs: T::SimdIndex<S>, rhs: T::SimdIndex<S>, ) -> T::SimdIndex<S>
pub fn or_mask( &self, lhs: T::SimdMask<S>, rhs: T::SimdMask<S>, ) -> T::SimdMask<S>
pub fn and_mask( &self, lhs: T::SimdMask<S>, rhs: T::SimdMask<S>, ) -> T::SimdMask<S>
pub fn not_mask(&self, mask: T::SimdMask<S>) -> T::SimdMask<S>
pub fn first_true_mask(&self, value: T::SimdMask<S>) -> usize
pub unsafe fn mask_load( &self, mask: T::SimdMemMask<S>, ptr: *const T::SimdVec<S>, ) -> T::SimdVec<S>
pub unsafe fn mask_store( &self, mask: T::SimdMemMask<S>, ptr: *mut T::SimdVec<S>, value: T::SimdVec<S>, )
pub fn load(&self, ptr: &T::SimdVec<S>) -> T::SimdVec<S>
pub fn store(&self, ptr: &mut T::SimdVec<S>, value: T::SimdVec<S>)
Auto Trait Implementations§
impl<T, S> Freeze for SimdCtx<T, S>
impl<T, S> RefUnwindSafe for SimdCtx<T, S>
impl<T, S> Send for SimdCtx<T, S>
impl<T, S> Sync for SimdCtx<T, S>
impl<T, S> Unpin for SimdCtx<T, S>
impl<T, S> UnwindSafe for SimdCtx<T, S>
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