Trait guff_matrix::Simd[][src]

pub trait Simd {
    type E: Display;
    type V;

    const SIMD_BYTES: usize;

    fn zero_vector() -> Self;
fn cross_product(a: Self, b: Self) -> Self;
unsafe fn sum_across_n(
        m0: Self,
        m1: Self,
        n: usize,
        off: usize
    ) -> (Self::E, Self);
fn zero_element() -> Self::E;
fn add_elements(a: Self::E, b: Self::E) -> Self::E;
unsafe fn read_next(
        mod_index: &mut usize,
        array_index: &mut usize,
        array: &[Self::E],
        size: usize,
        ra_size: &mut usize,
        ra: &mut Self
    ) -> Self
    where
        Self: Sized
;
unsafe fn from_ptr(ptr: *const Self::E) -> Self
    where
        Self: Sized
;
fn cross_product_slices(
        dest: &mut [Self::E],
        av: &[Self::E],
        bv: &[Self::E]
    ); }
Expand description

SIMD support, based on simulator module

This trait will be in main module and will have to be implemented for each architecture

Associated Types

Associated Constants

Required methods

load from memory (useful for testing, benchmarking)

Cross product of two slices; useful for testing, benchmarking Uses fixed poly at the moment.

Implementors