Struct gemm_common::simd::Scalar
source · pub struct Scalar;
Trait Implementations§
source§impl MixedSimd<Complex<f32>, Complex<f32>, Complex<f32>, Complex<f32>> for Scalar
impl MixedSimd<Complex<f32>, Complex<f32>, Complex<f32>, Complex<f32>> for Scalar
const SIMD_WIDTH: usize = 1usize
type LhsN = Complex<f32>
type RhsN = Complex<f32>
type DstN = Complex<f32>
type AccN = Complex<f32>
fn try_new() -> Option<Self>
fn mult(self, lhs: c32, rhs: c32) -> c32
fn mult_add(self, lhs: c32, rhs: c32, acc: c32) -> c32
fn from_lhs(self, lhs: c32) -> c32
fn from_rhs(self, rhs: c32) -> c32
fn from_dst(self, dst: c32) -> c32
fn into_dst(self, acc: c32) -> c32
fn simd_mult_add( self, lhs: Self::AccN, rhs: Self::AccN, acc: Self::AccN ) -> Self::AccN
fn simd_from_lhs(self, lhs: Self::LhsN) -> Self::AccN
fn simd_from_rhs(self, rhs: Self::RhsN) -> Self::AccN
fn simd_splat(self, lhs: c32) -> Self::AccN
fn simd_from_dst(self, dst: Self::DstN) -> Self::AccN
fn simd_into_dst(self, acc: Self::AccN) -> Self::DstN
fn vectorize<F: NullaryFnOnce>(self, f: F) -> F::Output
fn add(self, lhs: c32, rhs: c32) -> c32
fn simd_mul(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
fn simd_add(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
source§impl MixedSimd<Complex<f64>, Complex<f64>, Complex<f64>, Complex<f64>> for Scalar
impl MixedSimd<Complex<f64>, Complex<f64>, Complex<f64>, Complex<f64>> for Scalar
const SIMD_WIDTH: usize = 1usize
type LhsN = Complex<f64>
type RhsN = Complex<f64>
type DstN = Complex<f64>
type AccN = Complex<f64>
fn try_new() -> Option<Self>
fn mult(self, lhs: c64, rhs: c64) -> c64
fn mult_add(self, lhs: c64, rhs: c64, acc: c64) -> c64
fn from_lhs(self, lhs: c64) -> c64
fn from_rhs(self, rhs: c64) -> c64
fn from_dst(self, dst: c64) -> c64
fn into_dst(self, acc: c64) -> c64
fn simd_mult_add( self, lhs: Self::AccN, rhs: Self::AccN, acc: Self::AccN ) -> Self::AccN
fn simd_from_lhs(self, lhs: Self::LhsN) -> Self::AccN
fn simd_from_rhs(self, rhs: Self::RhsN) -> Self::AccN
fn simd_splat(self, lhs: c64) -> Self::AccN
fn simd_from_dst(self, dst: Self::DstN) -> Self::AccN
fn simd_into_dst(self, acc: Self::AccN) -> Self::DstN
fn vectorize<F: NullaryFnOnce>(self, f: F) -> F::Output
fn add(self, lhs: c64, rhs: c64) -> c64
fn simd_mul(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
fn simd_add(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
source§impl MixedSimd<f16, f16, f16, f32> for Scalar
impl MixedSimd<f16, f16, f16, f32> for Scalar
const SIMD_WIDTH: usize = 1usize
type LhsN = f16
type RhsN = f16
type DstN = f16
type AccN = f32
fn try_new() -> Option<Self>
fn add(self, lhs: f32, rhs: f32) -> f32
fn mult(self, lhs: f32, rhs: f32) -> f32
fn mult_add(self, lhs: f32, rhs: f32, acc: f32) -> f32
fn from_lhs(self, lhs: f16) -> f32
fn from_rhs(self, rhs: f16) -> f32
fn from_dst(self, dst: f16) -> f32
fn into_dst(self, acc: f32) -> f16
fn simd_mult_add( self, lhs: Self::AccN, rhs: Self::AccN, acc: Self::AccN ) -> Self::AccN
fn simd_from_lhs(self, lhs: Self::LhsN) -> Self::AccN
fn simd_from_rhs(self, rhs: Self::RhsN) -> Self::AccN
fn simd_splat(self, lhs: f32) -> Self::AccN
fn simd_from_dst(self, dst: Self::DstN) -> Self::AccN
fn simd_into_dst(self, acc: Self::AccN) -> Self::DstN
fn vectorize<F: NullaryFnOnce>(self, f: F) -> F::Output
fn simd_mul(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
fn simd_add(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
source§impl MixedSimd<f32, f32, f32, f32> for Scalar
impl MixedSimd<f32, f32, f32, f32> for Scalar
const SIMD_WIDTH: usize = 1usize
type LhsN = f32
type RhsN = f32
type DstN = f32
type AccN = f32
fn try_new() -> Option<Self>
fn mult(self, lhs: f32, rhs: f32) -> f32
fn mult_add(self, lhs: f32, rhs: f32, acc: f32) -> f32
fn from_lhs(self, lhs: f32) -> f32
fn from_rhs(self, rhs: f32) -> f32
fn from_dst(self, dst: f32) -> f32
fn into_dst(self, acc: f32) -> f32
fn simd_mult_add( self, lhs: Self::AccN, rhs: Self::AccN, acc: Self::AccN ) -> Self::AccN
fn simd_from_lhs(self, lhs: Self::LhsN) -> Self::AccN
fn simd_from_rhs(self, rhs: Self::RhsN) -> Self::AccN
fn simd_splat(self, lhs: f32) -> Self::AccN
fn simd_from_dst(self, dst: Self::DstN) -> Self::AccN
fn simd_into_dst(self, acc: Self::AccN) -> Self::DstN
fn vectorize<F: NullaryFnOnce>(self, f: F) -> F::Output
fn add(self, lhs: f32, rhs: f32) -> f32
fn simd_mul(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
fn simd_add(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
source§impl MixedSimd<f64, f64, f64, f64> for Scalar
impl MixedSimd<f64, f64, f64, f64> for Scalar
const SIMD_WIDTH: usize = 1usize
type LhsN = f64
type RhsN = f64
type DstN = f64
type AccN = f64
fn try_new() -> Option<Self>
fn mult(self, lhs: f64, rhs: f64) -> f64
fn mult_add(self, lhs: f64, rhs: f64, acc: f64) -> f64
fn from_lhs(self, lhs: f64) -> f64
fn from_rhs(self, rhs: f64) -> f64
fn from_dst(self, dst: f64) -> f64
fn into_dst(self, acc: f64) -> f64
fn simd_mult_add( self, lhs: Self::AccN, rhs: Self::AccN, acc: Self::AccN ) -> Self::AccN
fn simd_from_lhs(self, lhs: Self::LhsN) -> Self::AccN
fn simd_from_rhs(self, rhs: Self::RhsN) -> Self::AccN
fn simd_splat(self, lhs: f64) -> Self::AccN
fn simd_from_dst(self, dst: Self::DstN) -> Self::AccN
fn simd_into_dst(self, acc: Self::AccN) -> Self::DstN
fn vectorize<F: NullaryFnOnce>(self, f: F) -> F::Output
fn add(self, lhs: f64, rhs: f64) -> f64
fn simd_mul(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
fn simd_add(self, lhs: Self::AccN, rhs: Self::AccN) -> Self::AccN
impl Copy for Scalar
Auto Trait Implementations§
impl RefUnwindSafe for Scalar
impl Send for Scalar
impl Sync for Scalar
impl Unpin for Scalar
impl UnwindSafe for Scalar
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