Trait CircuitV2Builder

Source
pub trait CircuitV2Builder<C: Config> {
Show 20 methods // Required methods fn bits2num_v2_f( &mut self, bits: impl IntoIterator<Item = Felt<<C as Config>::F>>, ) -> Felt<C::F>; fn num2bits_v2_f( &mut self, num: Felt<C::F>, num_bits: usize, ) -> Vec<Felt<C::F>>; fn exp_reverse_bits_v2( &mut self, input: Felt<C::F>, power_bits: Vec<Felt<C::F>>, ) -> Felt<C::F>; fn batch_fri_v2( &mut self, alphas: Vec<Ext<C::F, C::EF>>, p_at_zs: Vec<Ext<C::F, C::EF>>, p_at_xs: Vec<Felt<C::F>>, ) -> Ext<C::F, C::EF>; fn poseidon2_permute_v2( &mut self, state: [Felt<C::F>; 16], ) -> [Felt<C::F>; 16]; fn poseidon2_hash_v2(&mut self, array: &[Felt<C::F>]) -> [Felt<C::F>; 8]; fn poseidon2_compress_v2( &mut self, input: impl IntoIterator<Item = Felt<C::F>>, ) -> [Felt<C::F>; 8]; fn fri_fold_v2( &mut self, input: CircuitV2FriFoldInput<C>, ) -> CircuitV2FriFoldOutput<C>; fn ext2felt_v2(&mut self, ext: Ext<C::F, C::EF>) -> [Felt<C::F>; 4]; fn add_curve_v2( &mut self, point1: SepticCurve<Felt<C::F>>, point2: SepticCurve<Felt<C::F>>, ) -> SepticCurve<Felt<C::F>>; fn assert_digest_zero_v2( &mut self, is_real: Felt<C::F>, digest: SepticDigest<Felt<C::F>>, ); fn sum_digest_v2( &mut self, digests: Vec<SepticDigest<Felt<C::F>>>, ) -> SepticDigest<Felt<C::F>>; fn select_global_cumulative_sum( &mut self, is_first_shard: Felt<C::F>, vk_digest: SepticDigest<Felt<C::F>>, ) -> SepticDigest<Felt<C::F>>; fn commit_public_values_v2( &mut self, public_values: RecursionPublicValues<Felt<C::F>>, ); fn cycle_tracker_v2_enter(&mut self, name: impl Into<Cow<'static, str>>); fn cycle_tracker_v2_exit(&mut self); fn hint_ext_v2(&mut self) -> Ext<C::F, C::EF>; fn hint_felt_v2(&mut self) -> Felt<C::F>; fn hint_exts_v2(&mut self, len: usize) -> Vec<Ext<C::F, C::EF>>; fn hint_felts_v2(&mut self, len: usize) -> Vec<Felt<C::F>>;
}

Required Methods§

Source

fn bits2num_v2_f( &mut self, bits: impl IntoIterator<Item = Felt<<C as Config>::F>>, ) -> Felt<C::F>

Source

fn num2bits_v2_f(&mut self, num: Felt<C::F>, num_bits: usize) -> Vec<Felt<C::F>>

Source

fn exp_reverse_bits_v2( &mut self, input: Felt<C::F>, power_bits: Vec<Felt<C::F>>, ) -> Felt<C::F>

Source

fn batch_fri_v2( &mut self, alphas: Vec<Ext<C::F, C::EF>>, p_at_zs: Vec<Ext<C::F, C::EF>>, p_at_xs: Vec<Felt<C::F>>, ) -> Ext<C::F, C::EF>

Source

fn poseidon2_permute_v2(&mut self, state: [Felt<C::F>; 16]) -> [Felt<C::F>; 16]

Source

fn poseidon2_hash_v2(&mut self, array: &[Felt<C::F>]) -> [Felt<C::F>; 8]

Source

fn poseidon2_compress_v2( &mut self, input: impl IntoIterator<Item = Felt<C::F>>, ) -> [Felt<C::F>; 8]

Source

fn fri_fold_v2( &mut self, input: CircuitV2FriFoldInput<C>, ) -> CircuitV2FriFoldOutput<C>

Source

fn ext2felt_v2(&mut self, ext: Ext<C::F, C::EF>) -> [Felt<C::F>; 4]

Source

fn add_curve_v2( &mut self, point1: SepticCurve<Felt<C::F>>, point2: SepticCurve<Felt<C::F>>, ) -> SepticCurve<Felt<C::F>>

Source

fn assert_digest_zero_v2( &mut self, is_real: Felt<C::F>, digest: SepticDigest<Felt<C::F>>, )

Source

fn sum_digest_v2( &mut self, digests: Vec<SepticDigest<Felt<C::F>>>, ) -> SepticDigest<Felt<C::F>>

Source

fn select_global_cumulative_sum( &mut self, is_first_shard: Felt<C::F>, vk_digest: SepticDigest<Felt<C::F>>, ) -> SepticDigest<Felt<C::F>>

Source

fn commit_public_values_v2( &mut self, public_values: RecursionPublicValues<Felt<C::F>>, )

Source

fn cycle_tracker_v2_enter(&mut self, name: impl Into<Cow<'static, str>>)

Source

fn cycle_tracker_v2_exit(&mut self)

Source

fn hint_ext_v2(&mut self) -> Ext<C::F, C::EF>

Source

fn hint_felt_v2(&mut self) -> Felt<C::F>

Source

fn hint_exts_v2(&mut self, len: usize) -> Vec<Ext<C::F, C::EF>>

Source

fn hint_felts_v2(&mut self, len: usize) -> Vec<Felt<C::F>>

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§