Skip to main content

TwoSeedBatch

Type Alias TwoSeedBatch 

Source
pub type TwoSeedBatch<const K: usize> = TwoSeedLane<f64x4, K>;
Expand description

The 4-rows-per-pass batched two-seed scalar (wide::f64x4 lanes).

Aliased Type§

pub struct TwoSeedBatch<const K: usize> {
    pub base: Order2Lane<f64x4, K>,
    pub eps: Order2Lane<f64x4, K>,
    pub del: Order2Lane<f64x4, K>,
    pub eps_del: Order2Lane<f64x4, K>,
}

Fields§

§base: Order2Lane<f64x4, K>

The ε⁰δ⁰ part.

§eps: Order2Lane<f64x4, K>

The ε¹δ⁰ part.

§del: Order2Lane<f64x4, K>

The ε⁰δ¹ part.

§eps_del: Order2Lane<f64x4, K>

The ε¹δ¹ part. After a seed(u, v) evaluation, eps_del.h[a][b] lane i is row i’s Σ_{cd} ℓ_{abcd} u_c v_d.

Implementations§

Source§

impl<const K: usize> TwoSeedBatch<K>

Source

pub fn lane(&self, i: usize) -> TwoSeed<K>

Extract lane i’s parts as a production TwoSeed<K>. Lane i is to_bits-identical to evaluating the same program at TwoSeed<K> on row i (see batch_tests).