Struct kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks
source · pub struct ExternalChecks<F: PrimeField> {
pub multi_ranges: Vec<[F; 3]>,
pub limb_ranges: Vec<F>,
pub compact_multi_ranges: Vec<[F; 2]>,
pub bounds: Vec<[F; 3]>,
pub high_bounds: Vec<F>,
}
Expand description
Track external check witness data
Fields§
§multi_ranges: Vec<[F; 3]>
§limb_ranges: Vec<F>
§compact_multi_ranges: Vec<[F; 2]>
§bounds: Vec<[F; 3]>
§high_bounds: Vec<F>
Implementations§
source§impl<F: PrimeField> ExternalChecks<F>
impl<F: PrimeField> ExternalChecks<F>
sourcepub fn add_bound_check(&mut self, limbs: &[F; 3])
pub fn add_bound_check(&mut self, limbs: &[F; 3])
Track a bound check
sourcepub fn add_high_bound_computation(&mut self, limb: &F)
pub fn add_high_bound_computation(&mut self, limb: &F)
Track a high bound computation
sourcepub fn add_limb_check(&mut self, limb: &F)
pub fn add_limb_check(&mut self, limb: &F)
Track a limb-range-check
sourcepub fn add_multi_range_check(&mut self, limbs: &[F; 3])
pub fn add_multi_range_check(&mut self, limbs: &[F; 3])
Track a multi-range-check
sourcepub fn add_compact_multi_range_check(&mut self, limbs: &[F; 2])
pub fn add_compact_multi_range_check(&mut self, limbs: &[F; 2])
Track a compact-multi-range-check
sourcepub fn extend_witness_multi_range_checks(&mut self, witness: &mut [Vec<F>; 15])
pub fn extend_witness_multi_range_checks(&mut self, witness: &mut [Vec<F>; 15])
Extend the witness with external multi range_checks
sourcepub fn extend_witness_compact_multi_range_checks(
&mut self,
witness: &mut [Vec<F>; 15]
)
pub fn extend_witness_compact_multi_range_checks( &mut self, witness: &mut [Vec<F>; 15] )
Extend the witness with external compact multi range_checks
sourcepub fn extend_witness_limb_checks(&mut self, witness: &mut [Vec<F>; 15])
pub fn extend_witness_limb_checks(&mut self, witness: &mut [Vec<F>; 15])
Extend the witness with external compact multi range_checks
sourcepub fn extend_witness_bound_addition(
&mut self,
witness: &mut [Vec<F>; 15],
foreign_field_modulus: &[F; 3]
)
pub fn extend_witness_bound_addition( &mut self, witness: &mut [Vec<F>; 15], foreign_field_modulus: &[F; 3] )
Extend the witness with external bound addition as foreign field addition
sourcepub fn extend_witness_high_bounds_computation(
&mut self,
witness: &mut [Vec<F>; 15],
foreign_field_modulus: &BigUint
)
pub fn extend_witness_high_bounds_computation( &mut self, witness: &mut [Vec<F>; 15], foreign_field_modulus: &BigUint )
Extend the witness with external high bounds additions as double generic gates
Trait Implementations§
source§impl<F: Default + PrimeField> Default for ExternalChecks<F>
impl<F: Default + PrimeField> Default for ExternalChecks<F>
source§fn default() -> ExternalChecks<F>
fn default() -> ExternalChecks<F>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<F> RefUnwindSafe for ExternalChecks<F>where F: RefUnwindSafe,
impl<F> Send for ExternalChecks<F>
impl<F> Sync for ExternalChecks<F>
impl<F> Unpin for ExternalChecks<F>where F: Unpin,
impl<F> UnwindSafe for ExternalChecks<F>where F: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more