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".
Implementors§
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::f32x4_::f32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::f32x4_::f32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::f32x8_::f32x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::f32x8_::f32x8
impl SIMDMulAdd for f32x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i8x16_::i8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i8x16_::i8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i8x32_::i8x32
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i8x32_::i8x32
impl SIMDMulAdd for i8x64
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i16x8_::i16x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i16x8_::i16x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i16x16_::i16x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i16x16_::i16x16
impl SIMDMulAdd for i16x32
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i32x4_::i32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i32x4_::i32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i32x8_::i32x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i32x8_::i32x8
impl SIMDMulAdd for i32x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u8x16_::u8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u8x16_::u8x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u8x32_::u8x32
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u8x32_::u8x32
impl SIMDMulAdd for u8x64
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u32x4_::u32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u32x4_::u32x4
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u32x8_::u32x8
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u32x8_::u32x8
impl SIMDMulAdd for u32x16
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u64x2_::u64x2
impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u64x2_::u64x2
impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u64x4_::u64x4
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