|
@@ -1,4 +1,3 @@
|
|
|
-use std::marker::PhantomData;
|
|
|
|
|
use group::ff::PrimeFieldBits;
|
|
use group::ff::PrimeFieldBits;
|
|
|
use halo2_proofs::{
|
|
use halo2_proofs::{
|
|
|
arithmetic::FieldExt,
|
|
arithmetic::FieldExt,
|
|
@@ -6,6 +5,7 @@ use halo2_proofs::{
|
|
|
plonk::{Advice, Column, ConstraintSystem, Error, Selector, TableColumn},
|
|
plonk::{Advice, Column, ConstraintSystem, Error, Selector, TableColumn},
|
|
|
poly::Rotation,
|
|
poly::Rotation,
|
|
|
};
|
|
};
|
|
|
|
|
+use std::marker::PhantomData;
|
|
|
|
|
|
|
|
#[derive(Clone, Debug)]
|
|
#[derive(Clone, Debug)]
|
|
|
pub struct RangeCheckConfig {
|
|
pub struct RangeCheckConfig {
|
|
@@ -218,14 +218,14 @@ mod tests {
|
|
|
fn synthesize(
|
|
fn synthesize(
|
|
|
&self,
|
|
&self,
|
|
|
config: Self::Config,
|
|
config: Self::Config,
|
|
|
- layouter: impl Layouter<F>,
|
|
|
|
|
|
|
+ mut layouter: impl Layouter<F>,
|
|
|
) -> Result<(), Error> {
|
|
) -> Result<(), Error> {
|
|
|
let chip = RangeCheckChip::<F, WINDOW_SIZE>::construct(config.clone());
|
|
let chip = RangeCheckChip::<F, WINDOW_SIZE>::construct(config.clone());
|
|
|
|
|
|
|
|
// construct `WINDOW_SIZE` lookup table
|
|
// construct `WINDOW_SIZE` lookup table
|
|
|
- RangeCheckChip::<F, WINDOW_SIZE>::load_k_table(&mut layouter, config.k_values_table);
|
|
|
|
|
|
|
+ RangeCheckChip::<F, WINDOW_SIZE>::load_k_table(&mut layouter, config.k_values_table)?;
|
|
|
|
|
|
|
|
- chip.witness_range_check(&mut layouter, self.value, 0, NUM_OF_BITS, NUM_OF_WINDOWS);
|
|
|
|
|
|
|
+ chip.witness_range_check(&mut layouter, self.value, 0, NUM_OF_BITS, NUM_OF_WINDOWS)?;
|
|
|
|
|
|
|
|
Ok(())
|
|
Ok(())
|
|
|
}
|
|
}
|