pub trait SIMDMulAdd {
// Required method
fn mul_add_simd(self, rhs: Self, accumulator: Self) -> Self;
}Expand description
Efficiently perform the operation
ⓘ
self * rhs + accumulatorwith the following semantics dependent on the associated scalar type.
-
floating point: Perform a fused multiply-add, implementing the operation with only a single rounding instance.
-
integer: Perform the multiplication followed by the accumulation. Both binary operations will be performed using wrap-around arithmetic.
Required Methods§
fn mul_add_simd(self, rhs: Self, accumulator: Self) -> Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::f32x4_::f32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::f32x8_::f32x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i8x16_::i8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i8x32_::i8x32
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i16x8_::i16x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i16x16_::i16x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i32x4_::i32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i32x8_::i32x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u8x16_::u8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u8x32_::u8x32
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u32x4_::u32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u32x8_::u32x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u64x2_::u64x2
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u64x4_::u64x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::f32x4_::f32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::f32x8_::f32x8
impl SIMDMulAdd for f32x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i8x16_::i8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i8x32_::i8x32
impl SIMDMulAdd for i8x64
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i16x8_::i16x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i16x16_::i16x16
impl SIMDMulAdd for i16x32
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i32x4_::i32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i32x8_::i32x8
impl SIMDMulAdd for i32x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u8x16_::u8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u8x32_::u8x32
impl SIMDMulAdd for u8x64
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u32x4_::u32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u32x8_::u32x8
impl SIMDMulAdd for u32x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u64x2_::u64x2
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u64x4_::u64x4
impl<T, const N: usize, A> SIMDMulAdd for Emulated<T, N, A>where
T: ReferenceScalarOps,
MulAdd