pub trait CircuitV2Builder<C: Config> {
Show 15 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 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 commit_public_values_v2(
        &mut self,
        public_values: RecursionPublicValues<Felt<C::F>>,
    );
    fn cycle_tracker_v2_enter(&mut self, name: String);
    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§
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 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 commit_public_values_v2( &mut self, public_values: RecursionPublicValues<Felt<C::F>>, )
fn cycle_tracker_v2_enter(&mut self, name: String)
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>>
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.