pub trait BabyBearExt4Inst: BabyBearInst {
Show 18 methods
// Required methods
fn ext_load_constant(
&mut self,
value: BabyBearExt4,
) -> BabyBearExt4Wire<Self::F>;
fn ext_load_reduced_constant(
&mut self,
value: BabyBearExt4,
) -> ReducedBabyBearExt4Wire<Self::F>;
fn ext_add(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_neg(
&mut self,
a: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_sub(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_scalar_mul(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearWire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_scalar_mul_add(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearWire<Self::F>,
c: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_assert_zero(&mut self, a: BabyBearExt4Wire<Self::F>);
fn ext_assert_equal(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearExt4Wire<Self::F>,
);
fn ext_mul(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_div(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_reduce_max_bits(
&mut self,
a: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_zero(&mut self) -> BabyBearExt4Wire<Self::F>;
fn ext_from_base_const(
&mut self,
value: BabyBear,
) -> BabyBearExt4Wire<Self::F>;
fn ext_from_base_var(
&mut self,
value: BabyBearWire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_mul_base_const(
&mut self,
a: BabyBearExt4Wire<Self::F>,
c: BabyBear,
) -> BabyBearExt4Wire<Self::F>;
fn ext_square(
&mut self,
a: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>;
fn ext_pow_power_of_two(
&mut self,
a: BabyBearExt4Wire<Self::F>,
n: usize,
) -> BabyBearExt4Wire<Self::F>;
}Expand description
BabyBear quartic-extension operations mirroring BabyBearExt4Chip.
Required Methods§
fn ext_load_constant( &mut self, value: BabyBearExt4, ) -> BabyBearExt4Wire<Self::F>
fn ext_load_reduced_constant( &mut self, value: BabyBearExt4, ) -> ReducedBabyBearExt4Wire<Self::F>
fn ext_add( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
fn ext_neg(&mut self, a: BabyBearExt4Wire<Self::F>) -> BabyBearExt4Wire<Self::F>
fn ext_sub( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
fn ext_scalar_mul( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearWire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
Sourcefn ext_scalar_mul_add(
&mut self,
a: BabyBearExt4Wire<Self::F>,
b: BabyBearWire<Self::F>,
c: BabyBearExt4Wire<Self::F>,
) -> BabyBearExt4Wire<Self::F>
fn ext_scalar_mul_add( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearWire<Self::F>, c: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
a * b + c where b is a base-field scalar.
fn ext_assert_zero(&mut self, a: BabyBearExt4Wire<Self::F>)
fn ext_assert_equal( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearExt4Wire<Self::F>, )
fn ext_mul( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
fn ext_div( &mut self, a: BabyBearExt4Wire<Self::F>, b: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
fn ext_reduce_max_bits( &mut self, a: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
fn ext_zero(&mut self) -> BabyBearExt4Wire<Self::F>
fn ext_from_base_const(&mut self, value: BabyBear) -> BabyBearExt4Wire<Self::F>
fn ext_from_base_var( &mut self, value: BabyBearWire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
fn ext_mul_base_const( &mut self, a: BabyBearExt4Wire<Self::F>, c: BabyBear, ) -> BabyBearExt4Wire<Self::F>
fn ext_square( &mut self, a: BabyBearExt4Wire<Self::F>, ) -> BabyBearExt4Wire<Self::F>
Sourcefn ext_pow_power_of_two(
&mut self,
a: BabyBearExt4Wire<Self::F>,
n: usize,
) -> BabyBearExt4Wire<Self::F>
fn ext_pow_power_of_two( &mut self, a: BabyBearExt4Wire<Self::F>, n: usize, ) -> BabyBearExt4Wire<Self::F>
a^(2^n)