pub struct ConstraintMatrices<F: Field> {
pub num_instance_variables: usize,
pub num_witness_variables: usize,
pub num_constraints: usize,
pub a_num_non_zero: usize,
pub b_num_non_zero: usize,
pub c_num_non_zero: usize,
pub a: Matrix<F>,
pub b: Matrix<F>,
pub c: Matrix<F>,
}
Expand description
The A, B and C matrices of a Rank-One ConstraintSystem
.
Also contains metadata on the structure of the constraint system
and the matrices.
Fields§
§num_instance_variables: usize
The number of variables that are “public instances” to the constraint system.
num_witness_variables: usize
The number of variables that are “private witnesses” to the constraint system.
num_constraints: usize
The number of constraints in the constraint system.
a_num_non_zero: usize
The number of non_zero entries in the A matrix.
b_num_non_zero: usize
The number of non_zero entries in the B matrix.
c_num_non_zero: usize
The number of non_zero entries in the C matrix.
a: Matrix<F>
The A constraint matrix. This is empty when
self.mode == SynthesisMode::Prove { construct_matrices = false }
.
b: Matrix<F>
The B constraint matrix. This is empty when
self.mode == SynthesisMode::Prove { construct_matrices = false }
.
c: Matrix<F>
The C constraint matrix. This is empty when
self.mode == SynthesisMode::Prove { construct_matrices = false }
.
Trait Implementations§
Source§impl<F: Clone + Field> Clone for ConstraintMatrices<F>
impl<F: Clone + Field> Clone for ConstraintMatrices<F>
Source§fn clone(&self) -> ConstraintMatrices<F>
fn clone(&self) -> ConstraintMatrices<F>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreimpl<F: Eq + Field> Eq for ConstraintMatrices<F>
impl<F: Field> StructuralPartialEq for ConstraintMatrices<F>
Auto Trait Implementations§
impl<F> Freeze for ConstraintMatrices<F>
impl<F> RefUnwindSafe for ConstraintMatrices<F>where
F: RefUnwindSafe,
impl<F> Send for ConstraintMatrices<F>
impl<F> Sync for ConstraintMatrices<F>
impl<F> Unpin for ConstraintMatrices<F>where
F: Unpin,
impl<F> UnwindSafe for ConstraintMatrices<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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)