Trait sp1_core::air::WordAirBuilder

source ·
pub trait WordAirBuilder: ByteAirBuilder {
    // Provided methods
    fn assert_word_eq(
        &mut self,
        left: Word<impl Into<Self::Expr>>,
        right: Word<impl Into<Self::Expr>>,
    ) { ... }
    fn assert_word_zero(&mut self, word: Word<impl Into<Self::Expr>>) { ... }
    fn index_word_array(
        &mut self,
        array: &[Word<impl Into<Self::Expr> + Clone>],
        index_bitmap: &[impl Into<Self::Expr> + Clone],
    ) -> Word<Self::Expr> { ... }
    fn select_word(
        &mut self,
        condition: impl Into<Self::Expr> + Clone,
        a: Word<impl Into<Self::Expr> + Clone>,
        b: Word<impl Into<Self::Expr> + Clone>,
    ) -> Word<Self::Expr> { ... }
    fn slice_range_check_u8(
        &mut self,
        input: &[impl Into<Self::Expr> + Clone],
        shard: impl Into<Self::Expr> + Clone,
        channel: impl Into<Self::Expr> + Clone,
        mult: impl Into<Self::Expr> + Clone,
    ) { ... }
    fn slice_range_check_u16(
        &mut self,
        input: &[impl Into<Self::Expr> + Copy],
        shard: impl Into<Self::Expr> + Clone,
        channel: impl Into<Self::Expr> + Clone,
        mult: impl Into<Self::Expr> + Clone,
    ) { ... }
}
Expand description

A trait which contains methods related to words in an AIR.

Provided Methods§

source

fn assert_word_eq( &mut self, left: Word<impl Into<Self::Expr>>, right: Word<impl Into<Self::Expr>>, )

Asserts that the two words are equal.

source

fn assert_word_zero(&mut self, word: Word<impl Into<Self::Expr>>)

Asserts that the word is zero.

source

fn index_word_array( &mut self, array: &[Word<impl Into<Self::Expr> + Clone>], index_bitmap: &[impl Into<Self::Expr> + Clone], ) -> Word<Self::Expr>

Index an array of words using an index bitmap.

source

fn select_word( &mut self, condition: impl Into<Self::Expr> + Clone, a: Word<impl Into<Self::Expr> + Clone>, b: Word<impl Into<Self::Expr> + Clone>, ) -> Word<Self::Expr>

Same as if_else above, but arguments are Word instead of individual expressions.

source

fn slice_range_check_u8( &mut self, input: &[impl Into<Self::Expr> + Clone], shard: impl Into<Self::Expr> + Clone, channel: impl Into<Self::Expr> + Clone, mult: impl Into<Self::Expr> + Clone, )

Check that each limb of the given slice is a u8.

source

fn slice_range_check_u16( &mut self, input: &[impl Into<Self::Expr> + Copy], shard: impl Into<Self::Expr> + Clone, channel: impl Into<Self::Expr> + Clone, mult: impl Into<Self::Expr> + Clone, )

Check that each limb of the given slice is a u16.

Object Safety§

This trait is not object safe.

Implementors§