pub trait MachineRecord:
Default
+ Sized
+ Send
+ Sync
+ Clone {
// Required methods
fn stats(&self) -> HashMap<String, usize>;
fn append(&mut self, other: &mut Self);
fn public_values<F: AbstractField>(&self) -> Vec<F>;
fn eval_public_values<AB: SP1AirBuilder>(builder: &mut AB);
fn interactions_in_public_values() -> Vec<InteractionKind>;
}Expand description
A record that can be proven by a machine.
Required Methods§
Sourcefn public_values<F: AbstractField>(&self) -> Vec<F>
fn public_values<F: AbstractField>(&self) -> Vec<F>
Returns the public values of the record.
Sourcefn eval_public_values<AB: SP1AirBuilder>(builder: &mut AB)
fn eval_public_values<AB: SP1AirBuilder>(builder: &mut AB)
Constrains the public values of the record.
Sourcefn interactions_in_public_values() -> Vec<InteractionKind>
fn interactions_in_public_values() -> Vec<InteractionKind>
The interaction kinds that appear in eval_public_values. Needed so that the shard verifier
knows how much randomness to allocate for the LogUpGkr beta_seed challenge.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl MachineRecord for Vec<(u32, u32, u32)>
This exists only for the zerocheck unit test on MinimalAddChip.
impl MachineRecord for Vec<(u32, u32, u32)>
This exists only for the zerocheck unit test on MinimalAddChip.