pub trait InvocationCostInfoProvider {
// Required methods
fn type_size(&self, ty: &ConcreteTypeId) -> usize;
fn token_usages(&self, token_type: CostTokenType) -> usize;
fn ap_change_var_value(&self) -> usize;
fn circuit_info(&self, ty: &ConcreteTypeId) -> &CircuitInfo;
}
Expand description
Trait for providing extra information required for calculating costs for a specific libfunc invocation.
Required Methods§
sourcefn type_size(&self, ty: &ConcreteTypeId) -> usize
fn type_size(&self, ty: &ConcreteTypeId) -> usize
Provides the sizes of types.
sourcefn token_usages(&self, token_type: CostTokenType) -> usize
fn token_usages(&self, token_type: CostTokenType) -> usize
Number of tokens provided by the libfunc invocation (currently only relevant for
withdraw_gas_all
).
sourcefn ap_change_var_value(&self) -> usize
fn ap_change_var_value(&self) -> usize
Provides the ap change variable value of the current statement.
sourcefn circuit_info(&self, ty: &ConcreteTypeId) -> &CircuitInfo
fn circuit_info(&self, ty: &ConcreteTypeId) -> &CircuitInfo
Provides the info for the circuit.