pub struct EmbeddedConstraintSystem {
pub cs: ConstraintSystem,
pub chip_calls: Vec<ChipCall>,
}Expand description
A constraint system that represents a single chip in a ConstraintSystemM4.
The crate::constraint_system::ShiftedValueIndex values in the constraints and in the chip
calls name words of the embedded constraint system’s value vector, each index counting within
its own segment. See ConstraintSystem for the exact layout.
§Validity criteria
- every operand of every chip call in
chip_callsreferences a value of this chip
The chip_id of a chip call names a chip of the enclosing system, which this type does not
know; ConstraintSystemM4::validate is what range-checks it.
Fields§
§cs: ConstraintSystemThe constraints one instance of the chip must satisfy.
chip_calls: Vec<ChipCall>The chips this one delegates subrelations to, one entry per call per instance.
Implementations§
Source§impl EmbeddedConstraintSystem
impl EmbeddedConstraintSystem
Sourcepub fn validate(&self) -> Result<(), ConstraintSystemError>
pub fn validate(&self) -> Result<(), ConstraintSystemError>
Checks the constraint system and the chip-call operands over it.
Trait Implementations§
Source§impl Clone for EmbeddedConstraintSystem
impl Clone for EmbeddedConstraintSystem
Source§fn clone(&self) -> EmbeddedConstraintSystem
fn clone(&self) -> EmbeddedConstraintSystem
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 Freeze for EmbeddedConstraintSystem
impl RefUnwindSafe for EmbeddedConstraintSystem
impl Send for EmbeddedConstraintSystem
impl Sync for EmbeddedConstraintSystem
impl Unpin for EmbeddedConstraintSystem
impl UnsafeUnpin for EmbeddedConstraintSystem
impl UnwindSafe for EmbeddedConstraintSystem
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more