pub trait VmAdapterAir<AB: AirBuilder>: BaseAir<AB::F> {
type Interface: VmAdapterInterface<AB::Expr>;
// Required methods
fn eval(
&self,
builder: &mut AB,
local: &[AB::Var],
interface: AdapterAirContext<AB::Expr, Self::Interface>,
);
fn get_from_pc(&self, local: &[AB::Var]) -> AB::Var;
}
Required Associated Types§
type Interface: VmAdapterInterface<AB::Expr>
Required Methods§
Sourcefn eval(
&self,
builder: &mut AB,
local: &[AB::Var],
interface: AdapterAirContext<AB::Expr, Self::Interface>,
)
fn eval( &self, builder: &mut AB, local: &[AB::Var], interface: AdapterAirContext<AB::Expr, Self::Interface>, )
Air constraints owned by the adapter.
The interface
is given as abstract expressions so it can be directly used in other AIR constraints.
Adapters should document the max constraint degree as a function of the constraint degrees of reads, writes, instruction
.
Sourcefn get_from_pc(&self, local: &[AB::Var]) -> AB::Var
fn get_from_pc(&self, local: &[AB::Var]) -> AB::Var
Return the from_pc
expression.