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", so this trait is not object safe.

Implementors§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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::v4::i32x8_::i32x8

Source§

impl SIMDSumTree for i32x16

Source§

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

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,