Skip to main content

SIMDMulAdd

Trait SIMDMulAdd 

Source
pub trait SIMDMulAdd {
    // Required method
    fn mul_add_simd(self, rhs: Self, accumulator: Self) -> Self;
}
Expand description

Efficiently perform the operation

self * rhs + accumulator

with 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§

Source

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§

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::f32x4_::f32x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::f32x8_::f32x8

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i8x16_::i8x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i8x32_::i8x32

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i16x8_::i16x8

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i16x16_::i16x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i32x4_::i32x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::i32x8_::i32x8

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u8x16_::u8x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u8x32_::u8x32

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u32x4_::u32x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u32x8_::u32x8

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u64x2_::u64x2

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v3::u64x4_::u64x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::f32x4_::f32x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::f32x8_::f32x8

Source§

impl SIMDMulAdd for f32x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i8x16_::i8x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i8x32_::i8x32

Source§

impl SIMDMulAdd for i8x64

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i16x8_::i16x8

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i16x16_::i16x16

Source§

impl SIMDMulAdd for i16x32

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i32x4_::i32x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::i32x8_::i32x8

Source§

impl SIMDMulAdd for i32x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u8x16_::u8x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u8x32_::u8x32

Source§

impl SIMDMulAdd for u8x64

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u32x4_::u32x4

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u32x8_::u32x8

Source§

impl SIMDMulAdd for u32x16

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u64x2_::u64x2

Source§

impl SIMDMulAdd for diskann_wide::arch::x86_64::v4::u64x4_::u64x4

Source§

impl<T, const N: usize, A> SIMDMulAdd for Emulated<T, N, A>
where T: ReferenceScalarOps,

MulAdd