Skip to main content

SIMDSumTree

Trait SIMDSumTree 

Source
pub trait SIMDSumTree: SIMDVector {
    // Required method
    fn sum_tree(self) -> <Self as SIMDVector>::Scalar;
}
Expand description

Perform a pairwise reducing sum of all lanes in the vector and return the result as a scalar.

For example, the summing pattern for a vector of 8 elements is as follows:

let v0 = [x0, x1, x2, x3, x4, x5, x6, x7];
let v1 = [v0[0] + v0[4], v0[1] + v0[5], v0[2] + v0[6], v0[3] + v0[7]];
let v2 = [v1[0] + v1[2], v1[1] + v1[3]];
v2[0] + v2[1]

Required Methods§

Source

fn sum_tree(self) -> <Self as SIMDVector>::Scalar

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl SIMDSumTree for f32x16

Source§

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

Source§

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

Source§

impl SIMDSumTree for i32x16

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl SIMDSumTree for u32x16

Source§

impl<A> SIMDSumTree for Emulated<f32, 1, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<f32, 2, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<f32, 4, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<f32, 8, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<f32, 16, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<i32, 4, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<i32, 8, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<i32, 16, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<u32, 4, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<u32, 8, A>
where A: Sealed,

Source§

impl<A> SIMDSumTree for Emulated<u32, 16, A>
where A: Sealed,