pub type SymbolicInteraction<F> = Interaction<SymbolicExpression<F>>;
Aliased Type§
struct SymbolicInteraction<F> {
pub message: Vec<SymbolicExpression<F>>,
pub count: SymbolicExpression<F>,
pub bus_index: u16,
pub count_weight: u32,
}
Fields§
§message: Vec<SymbolicExpression<F>>
§count: SymbolicExpression<F>
§bus_index: u16
The bus index specifying the bus to send the message over. All valid instantiations of
BusIndex
are safe.
count_weight: u32
Determines the contribution of each interaction message to a linear constraint on the trace heights in the verifier.
For each bus index and trace, count_weight
values are summed per interaction on that
bus index and multiplied by the trace height. The total sum over all traces is constrained
by the verifier to not overflow the field characteristic ( p ).
This is used to impose sufficient conditions for bus constraint soundness and setting a proper value depends on the bus and the constraint it imposes.
Trait Implementations
Source§impl<Expr: Clone> Clone for Interaction<Expr>
impl<Expr: Clone> Clone for Interaction<Expr>
Source§fn clone(&self) -> Interaction<Expr>
fn clone(&self) -> Interaction<Expr>
Returns a copy 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 moreSource§impl<Expr: Debug> Debug for Interaction<Expr>
impl<Expr: Debug> Debug for Interaction<Expr>
Source§impl<'de, Expr> Deserialize<'de> for Interaction<Expr>where
Expr: Deserialize<'de>,
impl<'de, Expr> Deserialize<'de> for Interaction<Expr>where
Expr: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more