pub struct InstanceOutliner<F: Field> {
pub pred_label: Label,
pub func: Rc<dyn Fn(&mut ConstraintSystem<F>, &[Variable]) -> Result<(), SynthesisError>>,
}Expand description
An instance outliner is a strategy for reducing the number of constraints that public input/instance variables are involved in. It does this as follows:
- Create new public input variables that correspond to the original input variables
- Replace the original input variables with corresponding new witness variables
- Enforce equality between the new input variables and the new witness variables
- In every constraint that involves the original input variables, replace them with the new witness variables.
Fields§
§pred_label: LabelThe label for the predicate that is used to enforce equality between the new input/instance variables and the new witness variables.
func: Rc<dyn Fn(&mut ConstraintSystem<F>, &[Variable]) -> Result<(), SynthesisError>>The strategy for outlining the instance variables It takes as input the constraint system, and a map from the new instance variables to the new witness variables.
Trait Implementations§
Source§impl<F: Clone + Field> Clone for InstanceOutliner<F>
impl<F: Clone + Field> Clone for InstanceOutliner<F>
Source§fn clone(&self) -> InstanceOutliner<F>
fn clone(&self) -> InstanceOutliner<F>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<F> Freeze for InstanceOutliner<F>
impl<F> !RefUnwindSafe for InstanceOutliner<F>
impl<F> !Send for InstanceOutliner<F>
impl<F> !Sync for InstanceOutliner<F>
impl<F> Unpin for InstanceOutliner<F>
impl<F> UnsafeUnpin for InstanceOutliner<F>
impl<F> !UnwindSafe for InstanceOutliner<F>
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