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", so this trait is not object safe.
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.