SYMBOL INDEX (2247 symbols across 159 files) FILE: autoprecompiles/benches/optimizer_benchmark.rs type TestApc (line 15) | type TestApc = Apc, (), ... constant DEFAULT_DEGREE_BOUND (line 17) | const DEFAULT_DEGREE_BOUND: DegreeBound = DegreeBound { function optimize_keccak_benchmark (line 23) | fn optimize_keccak_benchmark(c: &mut Criterion) { FILE: autoprecompiles/scripts/plot_effectiveness.py function load_apc_data (line 9) | def load_apc_data(json_path, effectiveness_type='cost'): function format_cell_count (line 39) | def format_cell_count(count): function plot_effectiveness (line 50) | def plot_effectiveness(json_path, filename=None, effectiveness_type='cos... FILE: autoprecompiles/scripts/rank_apc_candidates.py function main (line 16) | def main(): FILE: autoprecompiles/src/adapter.rs type ApcWithStats (line 23) | pub struct ApcWithStats { function new (line 29) | pub fn new(apc: Arc>, stats: S, evaluation_result: Evalu... function into_parts (line 38) | pub fn into_parts(self) -> (Arc>, S, EvaluationResult) { function apc (line 42) | pub fn apc(&self) -> &Apc { function stats (line 46) | pub fn stats(&self) -> &S { function evaluation_result (line 50) | pub fn evaluation_result(&self) -> EvaluationResult { type PgoAdapter (line 55) | pub trait PgoAdapter { method filter_blocks_and_create_apcs_with_pgo (line 58) | fn filter_blocks_and_create_apcs_with_pgo( method create_apcs_with_pgo (line 81) | fn create_apcs_with_pgo( method execution_profile (line 90) | fn execution_profile(&self) -> Option<&ExecutionProfile> { method pc_execution_count (line 94) | fn pc_execution_count(&self, pc: u64) -> Option { type Adapter (line 100) | pub trait Adapter: Sized method into_field (line 130) | fn into_field(e: Self::PowdrField) -> Self::Field; method from_field (line 132) | fn from_field(e: Self::Field) -> Self::PowdrField; method apc_stats (line 135) | fn apc_stats( method is_branching (line 140) | fn is_branching(instr: &Self::Instruction) -> bool; method is_allowed (line 142) | fn is_allowed(instr: &Self::Instruction) -> bool; type AdapterApcWithStats (line 145) | pub type AdapterApcWithStats = ApcWithStats< type ApcStats (line 152) | pub type ApcStats = ::ApcStats; type AdapterApc (line 153) | pub type AdapterApc = Apc< type AdapterApcOverPowdrField (line 159) | pub type AdapterApcOverPowdrField = Apc< type AdapterVmConfig (line 165) | pub type AdapterVmConfig<'a, A> = VmConfig< type AdapterExecutionState (line 171) | pub type AdapterExecutionState = ::ExecutionState; type AdapterOptimisticConstraints (line 172) | pub type AdapterOptimisticConstraints = OptimisticConstraints< type AdapterOptimisticConstraint (line 176) | pub type AdapterOptimisticConstraint = OptimisticConstraint< type AdapterBasicBlock (line 180) | pub type AdapterBasicBlock = BasicBlock<::Instruction>; type AdapterSuperBlock (line 181) | pub type AdapterSuperBlock = SuperBlock<::Instruction>; type AdapterExecutionBlocks (line 182) | pub type AdapterExecutionBlocks = ExecutionBlocks<::Ins... FILE: autoprecompiles/src/blocks/detection.rs function collect_basic_blocks (line 9) | pub fn collect_basic_blocks( FILE: autoprecompiles/src/blocks/mod.rs type BasicBlock (line 21) | pub struct BasicBlock { function pcs (line 29) | pub fn pcs(&self) -> impl Iterator + '_ { function instructions (line 34) | pub fn instructions(&self) -> impl Iterator + '_ { type SuperBlock (line 45) | pub struct SuperBlock { function from (line 50) | fn from(basic_block: BasicBlock) -> Self { function from (line 58) | fn from(blocks: Vec>) -> Self { function is_basic_block (line 65) | pub fn is_basic_block(&self) -> bool { function try_as_basic_block (line 69) | pub fn try_as_basic_block(&self) -> Option<&BasicBlock> { function start_pcs (line 80) | pub fn start_pcs(&self) -> Vec { function instruction_indexed_start_pcs (line 86) | pub fn instruction_indexed_start_pcs(&self) -> Vec<(usize, u64)> { function blocks (line 99) | pub fn blocks(&self) -> impl Iterator> { function map_instructions (line 104) | pub fn map_instructions(self, f: F) -> SuperBlock function pcs (line 123) | pub fn pcs(&self) -> impl Iterator + '_ { function instructions (line 128) | pub fn instructions(&self) -> impl Iterator { function par_instructions (line 133) | pub fn par_instructions(&self) -> impl IndexedParallelIterator) -> std::fmt::Result { method fmt (line 162) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Program (line 171) | pub trait Program { method base_pc (line 173) | fn base_pc(&self) -> u64; method instruction_index_to_pc (line 176) | fn instruction_index_to_pc(&self, idx: usize) -> u64 { method instructions (line 181) | fn instructions(&self) -> Box + '_>; method length (line 184) | fn length(&self) -> u32; type PcStep (line 187) | pub trait PcStep { method pc_step (line 188) | fn pc_step() -> u32; method pc_step (line 436) | fn pc_step() -> u32 { type Instruction (line 191) | pub trait Instruction: Clone + Display + PcStep { method pc_lookup_row (line 193) | fn pc_lookup_row(&self, pc: u64) -> Vec; type ExecutionBasicBlockRun (line 199) | pub struct ExecutionBasicBlockRun(pub Vec); type BlockAndStats (line 202) | pub struct BlockAndStats { type ExecutionBlocks (line 209) | pub struct ExecutionBlocks { function new_without_pgo (line 218) | pub fn new_without_pgo(blocks: Vec>) -> Self { function find_non_overlapping (line 231) | pub fn find_non_overlapping(haystack: &[T], needle: &[T]) -> Vec<... function detect_execution_bb_runs (line 248) | fn detect_execution_bb_runs( function count_superblocks_in_run (line 294) | fn count_superblocks_in_run( function count_superblocks_in_execution (line 312) | fn count_superblocks_in_execution( function detect_superblocks (line 339) | pub fn detect_superblocks( type TestInstruction (line 433) | struct TestInstruction; function test_find_non_overlapping (line 442) | fn test_find_non_overlapping() { function test_superblocks_in_run (line 450) | fn test_superblocks_in_run() { function test_detect_superblocks_counts_and_execution_runs (line 470) | fn test_detect_superblocks_counts_and_execution_runs() { FILE: autoprecompiles/src/bus_map.rs type BusType (line 5) | pub enum BusType { function fmt (line 19) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type BusMap (line 31) | pub struct BusMap { function from_id_type_pairs (line 37) | pub fn from_id_type_pairs(pairs: impl IntoIterator BusType { function all_types_by_id (line 58) | pub fn all_types_by_id(&self) -> &BTreeMap> { function get_bus_id (line 63) | pub fn get_bus_id(&self, bus_type: &BusType) -> Option { FILE: autoprecompiles/src/constraint_optimizer.rs type Error (line 33) | pub enum Error { method from (line 38) | fn from(err: powdr_constraint_solver::solver::Error) -> Self { function optimize_constraints (line 50) | pub fn optimize_constraints< function substitute_bus_interaction_fields (line 157) | fn substitute_bus_interaction_fields( function remove_free_variables (line 286) | fn remove_free_variables { method is_stateful (line 475) | fn is_stateful(&self, bus_id: T) -> bool; function remove_redundant_constraints (line 479) | fn remove_redundant_constraints(&self, block: &SuperBlock) -> BlockEmpi... method apply_pc_threshold (line 143) | pub fn apply_pc_threshold(self) -> Self { type BlockEmpiricalConstraints (line 38) | pub struct BlockEmpiricalConstraints { method filtered (line 171) | pub fn filtered(self, predicate: impl Fn(&BlockCell) -> bool) -> Self { type DebugInfo (line 50) | pub struct DebugInfo { method combine_with (line 219) | pub fn combine_with(&mut self, other: DebugInfo) { method take (line 227) | pub fn take(&mut self) -> Self { function merge_maps (line 236) | fn merge_maps(map1: &mut BTreeMap, map2: BT... type BlockCell (line 250) | pub struct BlockCell { method new (line 258) | pub fn new(instruction_idx: usize, column_idx: usize) -> Self { type ConstraintGenerator (line 267) | pub struct ConstraintGenerator<'a, A: Adapter> { function new (line 280) | pub fn new( function get_algebraic_reference (line 292) | fn get_algebraic_reference(&self, block_cell: &BlockCell) -> AlgebraicRe... function generate_constraints (line 305) | pub fn generate_constraints(&self) -> Vec Vec> { function equivalence_constraints (line 343) | fn equivalence_constraints(&self) -> Vec { function from (line 371) | fn from(expr: EqualityExpression) -> Self { type EqualityConstraint (line 380) | pub struct EqualityConstraint { function from (line 386) | fn from(constraint: EqualityConstraint) -> Self { FILE: autoprecompiles/src/equivalence_classes.rs type EquivalenceClass (line 10) | pub type EquivalenceClass = BTreeSet; type Partition (line 19) | pub struct Partition { method serialize (line 28) | fn serialize(&self, serializer: S) -> Result>(deserializer: D) -> Result>(iter: I) -> Self { function to_classes (line 73) | pub fn to_classes(&self) -> Vec> { function intersect_many (line 85) | pub fn intersect_many(partitions: impl IntoIterator) -> Self { function intersected_with (line 97) | pub fn intersected_with(self, other: Self) -> Self { function combine (line 117) | pub fn combine(mut self, other: Self) -> Self { function map_elements (line 131) | pub fn map_elements T2>(self, f: F) -... constant CHUNK_SIZE (line 147) | const CHUNK_SIZE: usize = 64; function parallel_intersect (line 154) | pub fn parallel_intersect(partitions: impl IndexedParallelIterator bool { function to_canonical (line 185) | fn to_canonical(&self) -> BTreeSet> { function partition (line 197) | fn partition(sets: Vec>) -> Partition { function test_intersect_partitions (line 202) | fn test_intersect_partitions() { function test_default_partition_yields_no_classes (line 233) | fn test_default_partition_yields_no_classes() { function test_map_elements (line 241) | fn test_map_elements() { function test_map_elements_panics_on_collision (line 253) | fn test_map_elements_panics_on_collision() { function test_combine (line 259) | fn test_combine() { function test_combine_panics_on_collision (line 269) | fn test_combine_panics_on_collision() { FILE: autoprecompiles/src/evaluation.rs type AirStats (line 12) | pub struct AirStats { method new (line 24) | pub fn new(machine: &SymbolicMachine) -> Self { method sum (line 45) | fn sum>(iter: I) -> AirStats { type Output (line 34) | type Output = AirStats; method add (line 35) | fn add(self, rhs: AirStats) -> AirStats { type EvaluationResult (line 52) | pub struct EvaluationResult { function evaluate_apc (line 63) | pub fn evaluate_apc( method fmt (line 82) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function render_stat (line 94) | fn render_stat(before: usize, after: usize) -> String { FILE: autoprecompiles/src/execution/ast.rs type OptimisticConstraint (line 10) | pub struct OptimisticConstraint { function children (line 16) | fn children(&self) -> Box Box impl Iterator Box { function children (line 58) | fn children(&self) -> Box { function from (line 77) | fn from(value: LocalOptimisticLiteral) -> Self { type LocalFetch (line 88) | pub enum LocalFetch { function get (line 94) | pub fn get>(&self, state: &E) -> ... type Fetch (line 105) | pub struct Fetch { function from (line 111) | fn from(value: OptimisticLiteral) -> Self { type OptimisticLiteral (line 122) | pub struct OptimisticLiteral { FILE: autoprecompiles/src/execution/candidates.rs type ApcCandidates (line 12) | pub struct ApcCandidates { type ApcCall (line 21) | pub struct ApcCall { function new (line 31) | pub fn new(apcs: Vec) -> Self { function check_conditions (line 40) | pub fn check_conditions(&mut self, state: &E, snapshot_callback: impl Fn... function abort_in_progress (line 73) | pub fn abort_in_progress(&mut self) -> Vec { function extract_calls (line 81) | pub fn extract_calls(&mut self) -> Vec> { function try_insert (line 157) | pub fn try_insert( function candidate_range (line 178) | fn candidate_range(candidate: &ApcCandidate) -> (usize, usize) { function ranges_overlap (line 189) | fn ranges_overlap((start_a, end_a): (usize, usize), (start_b, end_b): (u... type CandidateRank (line 195) | struct CandidateRank { method cmp (line 205) | fn cmp(&self, other: &Self) -> Ordering { method partial_cmp (line 214) | fn partial_cmp(&self, other: &Self) -> Option { type ApcCandidate (line 220) | struct ApcCandidate { type Clocked (line 233) | struct Clocked { function new (line 239) | fn new(global_clk: usize, snapshot: S) -> Self { type Apc (line 248) | pub trait Apc { method optimistic_constraints (line 250) | fn optimistic_constraints(&self) -> &OptimisticConstraints usize; method priority (line 256) | fn priority(&self) -> usize; type CandidateStatus (line 260) | enum CandidateStatus { type TestApc (line 274) | struct TestApc { method a (line 281) | fn a(len: usize) -> Self { method p (line 288) | fn p(mut self, priority: usize) -> Self { method c (line 293) | fn c(mut self, optimistic_constraints: OptimisticConstraints<(), usize... method cycle_count (line 304) | fn cycle_count(&self) -> usize { method priority (line 308) | fn priority(&self) -> usize { method optimistic_constraints (line 312) | fn optimistic_constraints(&self) -> &OptimisticConstraints<(), usize> { function a (line 299) | fn a(len: usize) -> TestApc { type TestExecutionState (line 318) | struct TestExecutionState { method incr (line 324) | fn incr(&mut self) { method jump (line 328) | fn jump(&mut self, pc: usize) { method snapshot (line 333) | fn snapshot(&self) -> TestSnapshot { type RegisterAddress (line 341) | type RegisterAddress = (); type Value (line 343) | type Value = usize; method value_limb (line 345) | fn value_limb(_: Self::Value, _: usize) -> Self::Value { method pc (line 349) | fn pc(&self) -> Self::Value { method reg (line 353) | fn reg(&self, _address: &Self::RegisterAddress) -> Self::Value { method global_clk (line 357) | fn global_clk(&self) -> usize { type TestSnapshot (line 363) | struct TestSnapshot { function s (line 367) | fn s(instret: usize) -> TestSnapshot { type TestVm (line 371) | struct TestVm { method try_add_candidate (line 377) | fn try_add_candidate(&mut self, apc_id: usize) -> Result<(), Optimisti... method incr (line 383) | fn incr(&mut self) -> Vec> { method jump (line 390) | fn jump(&mut self, pc: usize) -> Vec> { method count_done (line 397) | fn count_done(&self) -> usize { method count_in_progress (line 405) | fn count_in_progress(&self) -> usize { method new (line 413) | fn new(apcs: impl IntoIterator) -> Self { function single_candidate (line 422) | fn single_candidate() { function single_candidate_final_state_failure (line 444) | fn single_candidate_final_state_failure() { function two_candidates_same_length (line 466) | fn two_candidates_same_length() { function superblock_success (line 492) | fn superblock_success() { function superblock_failure (line 525) | fn superblock_failure() { function superblock_failure_keeps_non_overlapping_calls (line 565) | fn superblock_failure_keeps_non_overlapping_calls() { function two_candidates_different_start (line 622) | fn two_candidates_different_start() { function abort_in_progress_returns_shorter_candidate (line 657) | fn abort_in_progress_returns_shorter_candidate() { function abort_in_progress_after_segment_end_picks_shorter_candidate (line 690) | fn abort_in_progress_after_segment_end_picks_shorter_candidate() { function jump_back_and_readd_candidate_does_not_overlap (line 726) | fn jump_back_and_readd_candidate_does_not_overlap() { FILE: autoprecompiles/src/execution/evaluator.rs type OptimisticConstraints (line 18) | pub struct OptimisticConstraints { function empty (line 26) | pub fn empty() -> Self { function from_constraints (line 35) | pub fn from_constraints(constraints: Vec>) ->... type OptimisticConstraintEvaluator (line 90) | pub struct OptimisticConstraintEvaluator { type OptimisticConstraintFailed (line 98) | pub struct OptimisticConstraintFailed; method default (line 101) | fn default() -> Self { function new (line 107) | pub fn new() -> Self { function instruction_index (line 114) | pub fn instruction_index(&self) -> usize { function try_next_execution_step (line 119) | pub fn try_next_execution_step( type StepOptimisticConstraintEvaluator (line 170) | struct StepOptimisticConstraintEvaluator<'a, E: ExecutionState> { function new (line 176) | fn new( function evaluate_constraint (line 193) | fn evaluate_constraint(&self, c: &OptimisticConstraint) ->... function fetch (line 221) | fn fetch(&self, f: &Fetch) -> E::Value { type TestExecutionState (line 236) | struct TestExecutionState { type RegisterAddress (line 242) | type RegisterAddress = u8; type Value (line 244) | type Value = u8; method pc (line 246) | fn pc(&self) -> Self::Value { method reg (line 250) | fn reg(&self, address: &Self::RegisterAddress) -> Self::Value { method value_limb (line 254) | fn value_limb(value: Self::Value, limb_index: usize) -> Self::Value { method global_clk (line 258) | fn global_clk(&self) -> usize { type SingleLimbExecutionState (line 264) | type SingleLimbExecutionState = TestExecutionState<8>; function literal (line 266) | fn literal(instr_idx: usize, val: LocalOptimisticLiteral) -> Optimis... function literal_expr (line 270) | fn literal_expr( function mem (line 278) | fn mem(instr_idx: usize, addr: u8) -> OptimisticExpression { function mem_limb (line 282) | fn mem_limb(instr_idx: usize, addr: u8, limb_index: usize) -> Optimistic... function pc (line 289) | fn pc(instr_idx: usize) -> OptimisticExpression { function value (line 293) | fn value(value: u8) -> OptimisticExpression { function eq (line 297) | fn eq( function equality_constraints (line 304) | fn equality_constraints() -> OptimisticConstraints { function cross_step_memory_constraint (line 312) | fn cross_step_memory_constraint() -> OptimisticConstraints { function cross_step_pc_constraint (line 316) | fn cross_step_pc_constraint() -> OptimisticConstraints { function initial_to_final_constraint (line 320) | fn initial_to_final_constraint(final_instr_idx: usize) -> OptimisticCons... function constraints_succeed_when_all_states_match (line 325) | fn constraints_succeed_when_all_states_match() { function checks_equality_constraints (line 344) | fn checks_equality_constraints() { function reuses_values_from_previous_steps (line 364) | fn reuses_values_from_previous_steps() { function detects_mismatch_for_stored_values (line 381) | fn detects_mismatch_for_stored_values() { function compares_program_counter_across_steps (line 398) | fn compares_program_counter_across_steps() { function links_initial_and_final_state (line 424) | fn links_initial_and_final_state() { function compares_memory_to_literal_value (line 465) | fn compares_memory_to_literal_value() { function accesses_register_limbs (line 490) | fn accesses_register_limbs() { FILE: autoprecompiles/src/execution/mod.rs type ExecutionState (line 10) | pub trait ExecutionState { method pc (line 33) | fn pc(&self) -> Self::Value; method value_limb (line 35) | fn value_limb(value: Self::Value, limb_index: usize) -> Self::Value; method reg (line 38) | fn reg(&self, address: &Self::RegisterAddress) -> Self::Value; method global_clk (line 41) | fn global_clk(&self) -> usize; FILE: autoprecompiles/src/execution_profile.rs type ExecutionProfile (line 18) | pub struct ExecutionProfile { function execution_profile (line 27) | pub fn execution_profile( type PgoData (line 70) | struct PgoData { method record_u64 (line 76) | fn record_u64(&mut self, field: &tracing::field::Field, value: u64) { method record_debug (line 84) | fn record_debug(&mut self, _: &TracingField, _: &dyn std::fmt::Debug) {} type PgoCollector (line 89) | struct PgoCollector { method new (line 94) | fn new() -> Self { method increment (line 100) | fn increment(&self, pc: u64) { method take_pc_list (line 104) | fn take_pc_list(&self) -> Vec { method on_event (line 113) | fn on_event(&self, event: &Event<'_>, _ctx: Context<'_, S>) { FILE: autoprecompiles/src/export.rs type ExportOptions (line 25) | pub struct ExportOptions { method new (line 49) | pub fn new(path: Option, start_pcs: &[u64], level: ExportLeve... method from_env_vars (line 58) | pub fn from_env_vars( method export_requested (line 73) | pub fn export_requested(&self) -> bool { method export_apc (line 77) | pub fn export_apc( method export_apc_from_machine (line 95) | pub fn export_apc_from_machine( method export_optimizer_outer (line 113) | pub fn export_optimizer_outer(&mut self, data: &impl serde::Serialize,... method export_optimizer_outer_constraint_system (line 122) | pub fn export_optimizer_outer_constraint_system( method export_optimizer_inner (line 136) | pub fn export_optimizer_inner(&mut self, data: &impl serde::Serialize,... method export_optimizer_inner_constraint_system (line 142) | pub fn export_optimizer_inner_constraint_system( method register_substituted_variables (line 157) | pub fn register_substituted_variables( method export_substituted_variables (line 173) | pub fn export_substituted_variables(&mut self) { method next_path (line 186) | fn next_path(&mut self, info: Option<&str>) -> PathBuf { method write_to_next_file (line 197) | fn write_to_next_file(&mut self, data: &impl serde::Serialize, info: O... method write_to_file (line 203) | fn write_to_file(&mut self, data: &impl serde::Serialize, path: PathBu... type ExportLevel (line 33) | pub enum ExportLevel { function create_full_path (line 210) | fn create_full_path(path: &PathBuf) -> BufWriter { function instructions_to_powdr_field (line 220) | fn instructions_to_powdr_field( type SimpleInstruction (line 251) | pub struct SimpleInstruction(Vec); method fmt (line 254) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function pc_lookup_row (line 260) | fn pc_lookup_row(&self, _pc: u64) -> Vec { method pc_step (line 266) | fn pc_step() -> u32 { type ApcWithBusMap (line 272) | pub struct ApcWithBusMap { FILE: autoprecompiles/src/expression.rs type AlgebraicExpression (line 10) | pub type AlgebraicExpression = powdr_expression::AlgebraicExpression<... type AlgebraicReference (line 13) | pub struct AlgebraicReference { method fmt (line 22) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method deserialize (line 61) | fn deserialize(deserializer: D) -> Result method partial_cmp (line 28) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 34) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { method eq (line 40) | fn eq(&self, other: &Self) -> bool { method hash (line 46) | fn hash(&self, state: &mut H) { method serialize (line 52) | fn serialize(&self, serializer: S) -> Result function try_convert (line 84) | pub fn try_convert>( type AlgebraicEvaluator (line 115) | pub trait AlgebraicEvaluator method eval_const (line 120) | fn eval_const(&self, c: F) -> E; method eval_var (line 121) | fn eval_var(&self, algebraic_var: &AlgebraicReference) -> E; method eval_expr (line 123) | fn eval_expr(&self, algebraic_expr: &AlgebraicExpression) -> E { method eval_bus_interaction (line 126) | fn eval_bus_interaction<'a, 'b>( method eval_constraint (line 142) | fn eval_constraint(&self, constraint: &SymbolicConstraint) -> Concr... type RowEvaluator (line 150) | pub struct RowEvaluator<'a, F> function new (line 161) | pub fn new(row: &'a [F]) -> Self { function eval_const (line 170) | fn eval_const(&self, c: F) -> F { function eval_var (line 174) | fn eval_var(&self, algebraic_var: &AlgebraicReference) -> F { type MappingRowEvaluator (line 180) | pub struct MappingRowEvaluator<'a, F> function new (line 192) | pub fn new(row: &'a [F], witness_id_to_index: &'a BTreeMap) ... function eval_const (line 204) | fn eval_const(&self, c: F) -> F { function eval_var (line 208) | fn eval_var(&self, algebraic_var: &AlgebraicReference) -> F { type ConcreteBusInteraction (line 214) | pub struct ConcreteBusInteraction { type ConcreteConstraint (line 220) | pub struct ConcreteConstraint { type WitnessEvaluator (line 225) | pub struct WitnessEvaluator<'a, V, F, E> { function new (line 231) | pub fn new(witness: &'a BTreeMap) -> Self { function eval_const (line 245) | fn eval_const(&self, c: F) -> E { function eval_var (line 249) | fn eval_var(&self, algebraic_var: &AlgebraicReference) -> E { FILE: autoprecompiles/src/expression_conversion.rs function algebraic_to_grouped_expression (line 10) | pub fn algebraic_to_grouped_expression( function grouped_expression_to_algebraic (line 25) | pub fn grouped_expression_to_algebraic( function field_element_to_algebraic_expression (line 81) | fn field_element_to_algebraic_expression(v: T) -> Al... function extract_negation_if_possible (line 91) | fn extract_negation_if_possible( FILE: autoprecompiles/src/lib.rs type PowdrConfig (line 62) | pub struct PowdrConfig { method new (line 84) | pub fn new(autoprecompiles: u64, skip_autoprecompiles: u64, degree_bou... method with_superblocks (line 98) | pub fn with_superblocks( method with_apc_candidates_dir (line 118) | pub fn with_apc_candidates_dir>(mut self, path: P) -> S... method with_optimistic_precompiles (line 123) | pub fn with_optimistic_precompiles(mut self, should_use_optimistic_pre... type InstructionKind (line 130) | pub enum InstructionKind { type VmConfig (line 137) | pub struct VmConfig<'a, M, B, C> { method clone (line 148) | fn clone(&self) -> Self { type InstructionHandler (line 157) | pub trait InstructionHandler { method degree_bound (line 163) | fn degree_bound(&self) -> DegreeBound; method get_instruction_air_and_id (line 166) | fn get_instruction_air_and_id( method get_instruction_air_stats (line 172) | fn get_instruction_air_stats(&self, instruction: &Self::Instruction) -... type Substitution (line 176) | pub struct Substitution { type Apc (line 184) | pub struct Apc { function subs (line 196) | pub fn subs(&self) -> &[Vec] { function machine (line 200) | pub fn machine(&self) -> &SymbolicMachine { function instructions (line 205) | pub fn instructions(&self) -> impl Iterator { function start_pcs (line 210) | pub fn start_pcs(&self) -> Vec { function new (line 216) | fn new( type ColumnAllocator (line 255) | pub struct ColumnAllocator { method from_max_poly_id_of_machine (line 263) | pub fn from_max_poly_id_of_machine(machine: &SymbolicMachine u64 { method is_known_id (line 277) | pub fn is_known_id(&self, poly_id: u64) -> bool { function build (line 282) | pub fn build( function superblock_pc_constraints (line 393) | fn superblock_pc_constraints( function satisfies_zero_witness (line 415) | fn satisfies_zero_witness(expr: &AlgebraicExpression... function add_guards_constraint (line 427) | fn add_guards_constraint( function add_guards (line 456) | fn add_guards( FILE: autoprecompiles/src/low_degree_bus_interaction_optimizer.rs type LowDegreeBusInteractionOptimizer (line 21) | pub struct LowDegreeBusInteractionOptimizer<'a, T, V, S, B> { type LowDegreeReplacement (line 28) | struct LowDegreeReplacement { function new (line 41) | pub fn new(solver: &'a mut S, bus_interaction_handler: B, degree_bound: ... function optimize (line 50) | pub fn optimize(self, mut system: ConstraintSystem) -> ConstraintS... function try_replace_bus_interaction (line 98) | fn try_replace_bus_interaction( function symbolic_function_candidates_with_small_domain (line 147) | fn symbolic_function_candidates_with_small_domain( function has_few_possible_values (line 196) | fn has_few_possible_values( function find_low_degree_function (line 220) | fn find_low_degree_function( function concrete_input_output_pairs (line 264) | fn concrete_input_output_pairs<'b>( type LowDegreeFunction (line 311) | type LowDegreeFunction = Box>) ... constant MAX_DOMAIN_SIZE (line 314) | const MAX_DOMAIN_SIZE: u64 = 256; type SymbolicField (line 318) | struct SymbolicField { type SymbolicFunction (line 328) | struct SymbolicFunction { function hypotheses (line 334) | fn hypotheses( type Var (line 387) | pub type Var = &'static str; function var (line 388) | pub fn var(name: Var) -> GroupedExpression { function constant (line 392) | pub fn constant(value: u64) -> GroupedExpression { type XorBusHandler (line 397) | struct XorBusHandler; method handle_bus_interaction (line 399) | fn handle_bus_interaction( method is_stateful (line 427) | fn is_stateful(&self, _bus_id: BabyBearField) -> bool { method pure_range_constraints (line 432) | fn pure_range_constraints( method batch_make_range_constraints (line 439) | fn batch_make_range_constraints( function compute_replacement (line 450) | fn compute_replacement( function test_try_replace_bus_interaction_generic_xor (line 469) | fn test_try_replace_bus_interaction_generic_xor() { function test_try_replace_bus_interaction_logical_not (line 484) | fn test_try_replace_bus_interaction_logical_not() { function test_try_replace_bus_interaction_binary_inputs (line 500) | fn test_try_replace_bus_interaction_binary_inputs() { function test_try_replace_bus_interaction_disjoint_masks (line 517) | fn test_try_replace_bus_interaction_disjoint_masks() { FILE: autoprecompiles/src/memory_optimizer.rs function optimize_memory (line 16) | pub fn optimize_memory< type MemoryOp (line 52) | pub enum MemoryOp { type MemoryBusInteractionConversionError (line 61) | pub struct MemoryBusInteractionConversionError; type MemoryBusInteraction (line 67) | pub trait MemoryBusInteraction: Sized { method try_from_bus_interaction (line 81) | fn try_from_bus_interaction( method addr (line 87) | fn addr(&self) -> Self::Address; method data (line 90) | fn data(&self) -> &[GroupedExpression]; method timestamp_limbs (line 93) | fn timestamp_limbs(&self) -> &[GroupedExpression]; method op (line 96) | fn op(&self) -> MemoryOp; type Address (line 104) | struct Address(Vec>); function from (line 110) | fn from(exprs: I) -> Self { type MemoryContent (line 115) | struct MemoryContent { function from_bus_interaction (line 122) | fn from_bus_interaction>(bus_index: usize,... function redundant_memory_interactions_indices (line 133) | fn redundant_memory_interactions_indices< FILE: autoprecompiles/src/optimistic/algebraic_references.rs type BlockCellAlgebraicReferenceMapper (line 6) | pub struct BlockCellAlgebraicReferenceMapper { method new (line 16) | pub fn new(subs: &[Vec], columns: impl Iterator Optio... method has_block_cell (line 38) | pub fn has_block_cell(&self, block_cell: &BlockCell) -> bool { FILE: autoprecompiles/src/optimistic/config.rs constant DEFAULT_EXECUTION_COUNT_THRESHOLD (line 1) | const DEFAULT_EXECUTION_COUNT_THRESHOLD: u64 = 100; constant DEFAULT_MAX_SEGMENTS (line 2) | const DEFAULT_MAX_SEGMENTS: usize = 20; type OptimisticPrecompileConfig (line 4) | pub struct OptimisticPrecompileConfig { function optimistic_precompile_config (line 15) | pub fn optimistic_precompile_config() -> OptimisticPrecompileConfig { FILE: autoprecompiles/src/optimistic/execution_constraint_generator.rs function generate_execution_constraints (line 14) | pub fn generate_execution_constraints( function get_optimistic_expression (line 27) | fn get_optimistic_expression( FILE: autoprecompiles/src/optimistic/execution_literals.rs function optimistic_literals (line 23) | pub fn optimistic_literals( type ConcreteMemoryAccess (line 53) | struct ConcreteMemoryAccess { function extract_concrete_memory_accesses (line 64) | fn extract_concrete_memory_accesses( function try_extract_concrete_memory_access (line 105) | fn try_extract_concrete_memory_access( function generate_limb_mapping (line 146) | fn generate_limb_mapping<'a, T: Clone + 'a>( FILE: autoprecompiles/src/optimizer.rs function optimize (line 34) | pub fn optimize( function optimize_exec_bus (line 199) | pub fn optimize_exec_bus( type Variable (line 253) | pub enum Variable { method fmt (line 259) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: autoprecompiles/src/pgo/cell/mod.rs type ApcCandidate (line 21) | pub trait ApcCandidate: Sized { method create (line 22) | fn create(apc_with_stats: AdapterApcWithStats) -> Self; method inner (line 23) | fn inner(&self) -> &AdapterApcWithStats; method into_inner (line 24) | fn into_inner(self) -> AdapterApcWithStats; method cost_before_opt (line 26) | fn cost_before_opt(&self) -> usize; method cost_after_opt (line 28) | fn cost_after_opt(&self) -> usize; method value_per_use (line 30) | fn value_per_use(&self) -> usize; type ApcCandidateJsonExport (line 36) | pub struct ApcCandidateJsonExport { type CellPgo (line 53) | pub struct CellPgo { function with_pgo_data_and_max_columns (line 60) | pub fn with_pgo_data_and_max_columns( constant JSON_EXPORT_VERSION (line 80) | const JSON_EXPORT_VERSION: usize = 4; type JsonExport (line 83) | struct JsonExport { method new (line 90) | fn new(apcs: Vec, labels: BTreeMap Option<&ExecutionProfile> { function try_generate_candidate (line 184) | fn try_generate_candidate>( function apc_candidate_json_export (line 207) | fn apc_candidate_json_export>( FILE: autoprecompiles/src/pgo/cell/selection.rs type BlockCandidate (line 14) | pub struct BlockCandidate { method new (line 28) | pub fn new>( method value (line 41) | pub fn value(&self) -> usize { method cost (line 47) | pub fn cost(&self) -> usize { method density (line 51) | pub fn density(&self) -> Density { type Density (line 61) | pub struct Density { method eq (line 68) | fn eq(&self, other: &Self) -> bool { method partial_cmp (line 76) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 83) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { function count_and_update_run (line 93) | fn count_and_update_run<'a>( function count_and_update_execution (line 113) | fn count_and_update_execution( function select_blocks_greedy (line 132) | pub fn select_blocks_greedy>( function sblock (line 193) | fn sblock(start_pcs: Vec) -> BlockCandidate { function run (line 203) | fn run(pcs: Vec) -> ExecutionBasicBlockRun { function test_count_and_update_run (line 208) | fn test_count_and_update_run() { FILE: autoprecompiles/src/pgo/instruction.rs type InstructionPgo (line 12) | pub struct InstructionPgo { function with_pgo_data (line 18) | pub fn with_pgo_data(data: ExecutionProfile) -> Self { type Adapter (line 27) | type Adapter = A; method create_apcs_with_pgo (line 29) | fn create_apcs_with_pgo( method execution_profile (line 80) | fn execution_profile(&self) -> Option<&ExecutionProfile> { FILE: autoprecompiles/src/pgo/mod.rs type PgoConfig (line 25) | pub enum PgoConfig { method pc_execution_count (line 39) | pub fn pc_execution_count(&self, pc: u64) -> Option { type PgoType (line 52) | pub enum PgoType { function pgo_config (line 62) | pub fn pgo_config( function create_apcs_for_all_blocks (line 76) | fn create_apcs_for_all_blocks( FILE: autoprecompiles/src/pgo/none.rs type NonePgo (line 14) | pub struct NonePgo { type Adapter (line 19) | type Adapter = A; method create_apcs_with_pgo (line 21) | fn create_apcs_with_pgo( FILE: autoprecompiles/src/powdr.rs function make_refs_zero (line 11) | pub fn make_refs_zero(expr: &mut AlgebraicExpression) { function make_bool (line 20) | pub fn make_bool(expr: AlgebraicExpression) -> Algeb... function substitute_subexpressions (line 25) | pub fn substitute_subexpressions( type UniqueReferences (line 36) | pub trait UniqueReferences<'a, T: 'a, R> { method unique_references (line 38) | fn unique_references(&'a self) -> impl Iterator; method unique_references (line 45) | fn unique_references(&'a self) -> impl Iterator( function globalize_reference_names (line 88) | fn globalize_reference_names( function offset_reference_ids (line 109) | fn offset_reference_ids( FILE: autoprecompiles/src/range_constraint_optimizer.rs type RangeConstraints (line 15) | pub type RangeConstraints = Vec<(GroupedExpression, RangeCon... type MakeRangeConstraintsError (line 19) | pub struct MakeRangeConstraintsError(pub String); type RangeConstraintHandler (line 21) | pub trait RangeConstraintHandler { method pure_range_constraints (line 33) | fn pure_range_constraints( method batch_make_range_constraints (line 46) | fn batch_make_range_constraints( function optimize_range_constraints (line 58) | pub fn optimize_range_constraints( function filter_byte_constraints (line 163) | pub fn filter_byte_constraints) -> Self { method log (line 27) | pub fn log(&mut self, step: &str, system: impl Into) { method finalize (line 35) | pub fn finalize(self, system: impl Into) { type Stats (line 45) | pub struct Stats { method from (line 62) | fn from(machine: &SymbolicMachine

) -> Self { method from (line 72) | fn from(constraint_system: &ConstraintSystem) -> Self { method from (line 85) | fn from(constraint_system: &IndexedConstraintSystem) -> Self { method fmt (line 52) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: autoprecompiles/src/symbolic_machine.rs type SymbolicInstructionStatement (line 21) | pub struct SymbolicInstructionStatement { type IntoIter (line 27) | type IntoIter = std::iter::Chain, std::vec::IntoIter<... type Item (line 28) | type Item = T; method into_iter (line 30) | fn into_iter(self) -> Self::IntoIter { type SymbolicConstraint (line 37) | pub struct SymbolicConstraint { method fmt (line 42) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 48) | fn from(expr: AlgebraicExpression) -> Self { function children (line 61) | fn children(&self) -> Box> +... function children_mut (line 65) | fn children_mut(&mut self) -> Box { method fmt (line 78) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function try_multiplicity_to_number (line 90) | pub fn try_multiplicity_to_number(&self) -> Option { function children (line 99) | fn children(&self) -> Box> +... function children_mut (line 103) | fn children_mut(&mut self) -> Box { type ComputationMethod (line 126) | type ComputationMethod = function main_columns (line 130) | pub fn main_columns(&self) -> impl Iterator +... function concatenate (line 134) | pub fn concatenate(mut self, other: SymbolicMachine) -> Self { method fmt (line 143) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function render (line 155) | pub fn render(&self, bus_map: &BusM... function degree (line 196) | pub fn degree(&self) -> usize { function children (line 202) | fn children(&self) -> Box> +... function children_mut (line 211) | fn children_mut(&mut self) -> Box( function constraint_system_to_symbolic_machine (line 262) | pub fn constraint_system_to_symbolic_machine( function symbolic_bus_interaction_to_bus_interaction (line 297) | pub fn symbolic_bus_interaction_to_bus_interaction( function bus_interaction_to_symbolic_bus_interaction (line 311) | fn bus_interaction_to_symbolic_bus_interaction( FILE: autoprecompiles/src/symbolic_machine_generator.rs function convert_apc_field_type (line 16) | pub fn convert_apc_field_type( function convert_machine_field_type (line 29) | pub fn convert_machine_field_type( function convert_symbolic_constraint (line 63) | fn convert_symbolic_constraint( function convert_bus_interaction (line 72) | fn convert_bus_interaction( function convert_expression (line 87) | fn convert_expression( function statements_to_symbolic_machine (line 118) | pub(crate) fn statements_to_symbolic_machine( function statements_to_symbolic_machines (line 134) | pub(crate) fn statements_to_symbolic_machines( function exec_receive (line 207) | fn exec_receive( FILE: autoprecompiles/src/trace_handler.rs type OriginalRowReference (line 12) | pub struct OriginalRowReference<'a, D> { type TraceData (line 18) | pub struct TraceData<'a, F, D> { type TraceTrait (line 31) | pub trait TraceTrait: Send + Sync { method width (line 34) | fn width(&self) -> usize; method values (line 36) | fn values(&self) -> &Self::Values; function generate_trace (line 40) | pub fn generate_trace<'a, IH, M: TraceTrait, A, V>( FILE: autoprecompiles/tests/optimizer.rs constant DEFAULT_DEGREE_BOUND (line 16) | const DEFAULT_DEGREE_BOUND: DegreeBound = DegreeBound { type TestApc (line 21) | type TestApc = Apc, (), ... function import_apc_from_gzipped_json (line 23) | fn import_apc_from_gzipped_json(file: &str) -> ApcWithBusMap Result<(), io::Error> { function build_powdr_config (line 123) | fn build_powdr_config(shared: &SharedArgs) -> PowdrConfig { function run_command (line 138) | fn run_command(command: Commands) { function write_program_to_file (line 264) | fn write_program_to_file( function validate_shared_args (line 275) | fn validate_shared_args(args: &SharedArgs) { function stdin_from (line 286) | fn stdin_from(input: Option) -> StdIn { function setup_tracing_with_log_level (line 294) | fn setup_tracing_with_log_level(level: Level) { function run_with_metric_collection_to_file (line 307) | pub fn run_with_metric_collection_to_file(file: std::fs::File, f: imp... function maybe_compute_empirical_constraints (line 321) | fn maybe_compute_empirical_constraints( FILE: constraint-solver/src/algebraic_constraint/mod.rs type AlgebraicConstraint (line 16) | pub struct AlgebraicConstraint { function from (line 23) | fn from(expression: V) -> Self { function assert_zero (line 30) | pub fn assert_zero(expression: V) -> Self { function as_ref (line 35) | pub fn as_ref(&self) -> AlgebraicConstraint<&V> { function cloned (line 43) | pub(crate) fn cloned(&self) -> AlgebraicConstraint { function assert_eq (line 52) | pub fn assert_eq(expression: GroupedExpression, other: GroupedExpr... function assert_bool (line 57) | pub fn assert_bool(expression: GroupedExpression) -> Self { function is_redundant (line 63) | pub fn is_redundant(&self) -> bool { function substitute_by_known (line 73) | pub fn substitute_by_known(&mut self, variable: &V, substitution: &T) { function degree (line 77) | pub fn degree(&self) -> usize { method fmt (line 83) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function referenced_unknown_variables (line 90) | pub fn referenced_unknown_variables(&self) -> Box Box { function empty (line 22) | pub fn empty() -> Self { function complete (line 28) | pub fn complete(effects: Vec>) -> Self { type Error (line 37) | pub enum Error { function solve (line 55) | pub fn solve( function try_solve_for (line 91) | pub fn try_solve_for(&self, variable: &V) -> Option( function combine_range_constraints (line 329) | fn combine_range_constraints; function var (line 402) | fn var(name: &'static str) -> Qse { function constant (line 406) | fn constant(value: u64) -> Qse { function unsolvable (line 411) | fn unsolvable() { function solvable_without_vars (line 418) | fn solvable_without_vars() { function solve_simple_eq (line 427) | fn solve_simple_eq() { function solve_constraint_transfer (line 454) | fn solve_constraint_transfer() { function unpack_range_constraint (line 488) | fn unpack_range_constraint( function detect_bit_constraint (line 501) | fn detect_bit_constraint() { function detect_complete_range_constraint (line 526) | fn detect_complete_range_constraint() { function detect_incomplete_range_constraint (line 549) | fn detect_incomplete_range_constraint() { function bool_plus_one_cant_be_zero (line 574) | fn bool_plus_one_cant_be_zero() { function solve_for (line 584) | fn solve_for() { function solve_for_expr (line 600) | fn solve_for_expr() { function solve_for_expr_normalization (line 645) | fn solve_for_expr_normalization() { FILE: constraint-solver/src/bus_interaction_handler.rs type ViolatesBusRules (line 8) | pub struct ViolatesBusRules {} type BusInteractionHandler (line 11) | pub trait BusInteractionHandler { method handle_bus_interaction (line 22) | fn handle_bus_interaction( method handle_bus_interaction_checked (line 29) | fn handle_bus_interaction_checked( type DefaultBusInteractionHandler (line 53) | pub struct DefaultBusInteractionHandler { function handle_bus_interaction (line 58) | fn handle_bus_interaction( FILE: constraint-solver/src/constraint_system.rs type ConstraintSystem (line 21) | pub struct ConstraintSystem { method fmt (line 34) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function referenced_unknown_variables (line 61) | pub fn referenced_unknown_variables(&self) -> impl Iterator { function extend (line 74) | pub fn extend(&mut self, system: ConstraintSystem) { type DerivedVariable (line 83) | pub struct DerivedVariable { function new (line 89) | pub fn new(variable: V, computation_method: ComputationMethod) -> ... method serialize (line 102) | fn serialize(&self, serializer: S) -> Result function deserialize (line 115) | fn deserialize(deserializer: D) -> Result type ComputationMethod (line 131) | pub enum ComputationMethod { method fmt (line 140) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function referenced_unknown_variables (line 150) | pub fn referenced_unknown_variables(&self) -> Box { function fields (line 207) | pub fn fields(&self) -> impl Iterator { function fields_mut (line 215) | pub fn fields_mut(&mut self) -> impl Iterator { method fmt (line 225) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from_iter (line 237) | fn from_iter>(iter: T) -> Self { function to_range_constraints (line 253) | pub fn to_range_constraints( function solve (line 271) | pub fn solve( function referenced_unknown_variables (line 305) | pub fn referenced_unknown_variables(&self) -> Box { function referenced_unknown_variables (line 320) | pub fn referenced_unknown_variables(&self) -> Box { type Assertion (line 23) | pub struct Assertion { function assert_is_zero (line 32) | pub fn assert_is_zero(condition: T) -> Effect { function assert_is_nonzero (line 35) | pub fn assert_is_nonzero(condition: T) -> Effect { function assert_eq (line 38) | pub fn assert_eq(lhs: T, rhs: T) -> Effect { function assert_neq (line 45) | pub fn assert_neq(lhs: T, rhs: T) -> Effect { type Condition (line 55) | pub struct Condition { FILE: constraint-solver/src/grouped_expression.rs constant MAX_SUM_SIZE_FOR_QUADRATIC_ANALYSIS (line 21) | const MAX_SUM_SIZE_FOR_QUADRATIC_ANALYSIS: usize = 20; type GroupedExpression (line 37) | pub struct GroupedExpression { type GroupedExpressionComponent (line 50) | pub enum GroupedExpressionComponent { function from (line 65) | fn from(s: GroupedExpressionComponent) -> Self { function from_number (line 87) | pub fn from_number(k: F) -> Self { method zero (line 97) | fn zero() -> Self { method is_zero (line 105) | fn is_zero(&self) -> bool { method one (line 111) | fn one() -> Self { method is_one (line 119) | fn is_one(&self) -> bool { function from_known_symbol (line 125) | pub fn from_known_symbol(symbol: V, rc: RangeConstraint) -> Self { function from_runtime_constant (line 131) | pub fn from_runtime_constant(constant: T) -> Self { function from_unknown_variable (line 139) | pub fn from_unknown_variable(var: V) -> Self { function try_to_known (line 148) | pub fn try_to_known(&self) -> Option<&T> { function is_affine (line 157) | pub fn is_affine(&self) -> bool { function try_to_number (line 162) | pub fn try_to_number(&self) -> Option { function try_to_simple_unknown (line 167) | pub fn try_to_simple_unknown(&self) -> Option { function is_quadratic (line 181) | pub fn is_quadratic(&self) -> bool { function try_as_single_product (line 186) | pub fn try_as_single_product(&self) -> Option<(&Self, &Self)> { function to_factors (line 201) | pub fn to_factors(&self) -> Vec { function try_split_head_tail (line 237) | pub fn try_split_head_tail(mut self) -> Option<(Self, Self)> { function linear_components (line 257) | pub fn linear_components( function constant_offset (line 265) | pub fn constant_offset(&self) -> &T { function quadratic_components (line 270) | pub fn quadratic_components(&self) -> &[(Self, Self)] { function into_summands (line 275) | pub fn into_summands(self) -> impl Iterator usize { function degree_of_variable (line 305) | pub fn degree_of_variable(&self, var: &V) -> usize { function coefficient_of_variable_in_affine_part (line 321) | pub fn coefficient_of_variable_in_affine_part<'a>(&'a self, var: &V) -> ... function try_extract_affine_var (line 330) | pub fn try_extract_affine_var(&self, var: V) -> Option<(T, Self)> { function range_constraint (line 346) | pub fn range_constraint( function substitute_simple (line 372) | pub fn substitute_simple(&mut self, variable: &V, substitution: T) { function substitute_by_known (line 412) | pub fn substitute_by_known(&mut self, variable: &V, substitution: &T) { function substitute_by_unknown (line 463) | pub fn substitute_by_unknown(&mut self, variable: &V, substitution: &Gro... function referenced_unknown_variables (line 507) | pub fn referenced_unknown_variables(&self) -> Box; function try_transform_var_type (line 521) | fn try_transform_var_type( type RangeConstraintProvider (line 549) | pub trait RangeConstraintProvider { method get (line 550) | fn get(&self, var: &V) -> RangeConstraint; function get (line 554) | fn get(&self, var: &V) -> RangeConstraint { function get (line 562) | fn get(&self, var: &V) -> RangeConstraint { type NoRangeConstraints (line 568) | pub struct NoRangeConstraints; method get (line 570) | fn get(&self, _var: &V) -> RangeConstraint { type Output (line 576) | type Output = GroupedExpression; method add (line 578) | fn add(mut self, rhs: Self) -> Self { type Output (line 585) | type Output = GroupedExpression; method add (line 587) | fn add(self, rhs: Self) -> Self::Output { function add_assign (line 595) | fn add_assign(&mut self, rhs: Self) { function combine_removing_zeros (line 610) | fn combine_removing_zeros(first: Vec<(E, E)>, mut second: ... function remove_quadratic_terms_adding_to_zero (line 640) | fn remove_quadratic_terms_adding_to_zero(terms: &mut Vec<(... function quadratic_terms_add_to_zero (line 673) | fn quadratic_terms_add_to_zero(first: &(E, E), second: &(E... type Output (line 686) | type Output = GroupedExpression; method sub (line 688) | fn sub(self, rhs: Self) -> Self::Output { type Output (line 694) | type Output = GroupedExpression; method sub (line 696) | fn sub(self, rhs: Self) -> Self::Output { function negate (line 702) | fn negate(&mut self) { type Output (line 714) | type Output = GroupedExpression; method neg (line 716) | fn neg(mut self) -> Self { type Output (line 723) | type Output = GroupedExpression; method neg (line 725) | fn neg(self) -> Self::Output { type Output (line 732) | type Output = GroupedExpression; function mul (line 734) | fn mul(mut self, rhs: &T) -> Self { type Output (line 741) | type Output = GroupedExpression; function mul (line 743) | fn mul(self, rhs: T) -> Self { function mul_assign (line 749) | fn mul_assign(&mut self, rhs: &T) { method sum (line 765) | fn sum>(iter: I) -> Self { type Output (line 774) | type Output = GroupedExpression; method mul (line 776) | fn mul(self, rhs: GroupedExpression) -> Self { method fmt (line 792) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function to_signed_string (line 803) | fn to_signed_string(&self) -> (bool, String) { function symbolic_expression_to_signed_string (line 840) | fn symbolic_expression_to_signed_string(value: &T) -> (bool, String) { method serialize (line 857) | fn serialize(&self, serializer: S) -> Result { function new (line 873) | pub fn new(items: &'a [I]) -> Self { method serialize (line 880) | fn serialize(&self, serializer: S) -> Result(&self, serializer: S) -> Result, V: Has... function apply_substitutions_to_expressions (line 31) | pub fn apply_substitutions_to_expressions< type IndexedConstraintSystem (line 59) | pub struct IndexedConstraintSystem { type IndexedConstraintSystemWithQueue (line 76) | pub struct IndexedConstraintSystemWithQueue { type ConstraintSystemItem (line 83) | enum ConstraintSystemItem { method flat_constraint_id (line 96) | fn flat_constraint_id(&self) -> usize { method index (line 106) | fn index(&self) -> usize { method is_derived_variable (line 115) | fn is_derived_variable(&self) -> bool { method try_to_constraint_ref (line 121) | fn try_to_constraint_ref<'a, T, V>( function from (line 142) | fn from(constraint_system: ConstraintSystem) -> Self { function from (line 154) | fn from(indexed_constraint_system: IndexedConstraintSystem) -> Self { function system (line 160) | pub fn system(&self) -> &ConstraintSystem { function algebraic_constraints (line 164) | pub fn algebraic_constraints(&self) -> &[AlgebraicConstraint &[BusInteraction impl Iterator { function referenced_unknown_variables (line 182) | pub fn referenced_unknown_variables(&self) -> impl Iterator { function retain_algebraic_constraints (line 187) | pub fn retain_algebraic_constraints( function retain_bus_interactions (line 200) | pub fn retain_bus_interactions( function retain_derived_variables (line 213) | pub fn retain_derived_variables( function retain (line 230) | fn retain( function add_algebraic_constraints (line 273) | pub fn add_algebraic_constraints( function add_bus_interactions (line 285) | pub fn add_bus_interactions( function extend (line 297) | pub fn extend(&mut self, system: ConstraintSystem) { function constraints_referencing_variables (line 328) | pub fn constraints_referencing_variables<'a>( function substitute_by_known (line 345) | pub fn substitute_by_known(&mut self, variable: &V, substitution: &T) { function substitute_by_unknown (line 363) | pub fn substitute_by_unknown(&mut self, variable: &V, substitution: &Gro... function apply_substitutions (line 389) | pub fn apply_substitutions( function variable_occurrences (line 402) | fn variable_occurrences( function substitute_by_known_in_item (line 453) | fn substitute_by_known_in_item, V:... function substitute_by_unknown_in_item (line 476) | fn substitute_by_unknown_in_item, ... method fmt (line 502) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function from (line 510) | fn from(constraint_system: C) -> Self { function system (line 526) | pub fn system(&self) -> &IndexedConstraintSystem { function pop_front (line 531) | pub fn pop_front<'a>(&'a mut self) -> Option> { function variable_updated (line 543) | pub fn variable_updated(&mut self, variable: &V) { function substitute_by_unknown (line 558) | pub fn substitute_by_unknown(&mut self, variable: &V, substitution: &Gro... function add_algebraic_constraints (line 564) | pub fn add_algebraic_constraints( function add_bus_interactions (line 581) | pub fn add_bus_interactions( function retain_algebraic_constraints (line 598) | pub fn retain_algebraic_constraints( function retain_bus_interactions (line 610) | pub fn retain_bus_interactions( method fmt (line 626) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type ConstraintSystemQueue (line 636) | struct ConstraintSystemQueue { method new (line 642) | fn new(constraint_system: &ConstraintSystem) -> Self { method push (line 659) | fn push(&mut self, item: ConstraintSystemItem) { method pop_front (line 670) | fn pop_front(&mut self) -> Option { function format_system (line 687) | fn format_system(s: &IndexedConstraintSystem GroupedExpression GroupedExpression( function test_no_substitution (line 178) | fn test_no_substitution() { function test_replace_witness_columns (line 192) | fn test_replace_witness_columns() { function test_replace_witness_columns_with_multiplication (line 233) | fn test_replace_witness_columns_with_multiplication() { function test_replace_witness_columns_no_keep (line 269) | fn test_replace_witness_columns_no_keep() { function test_replace_constrained_witness_suboptimal (line 302) | fn test_replace_constrained_witness_suboptimal() { function test_replace_constrained_witness_columns_max_degree_limit (line 336) | fn test_replace_constrained_witness_columns_max_degree_limit() { function test_inline_max_degree_suboptimal_greedy (line 396) | fn test_inline_max_degree_suboptimal_greedy() { FILE: constraint-solver/src/range_constraint.rs type RangeConstraint (line 39) | pub struct RangeConstraint { function from_max_bit (line 52) | pub fn from_max_bit(max_bit: usize) -> Self { function from_mask (line 58) | pub fn from_mask>(mask: M) -> Self { function from_value (line 69) | pub fn from_value(value: T) -> Self { function from_range (line 83) | pub fn from_range(min: T, max: T) -> Self { function unconstrained (line 93) | pub fn unconstrained() -> Self { function is_unconstrained (line 99) | pub fn is_unconstrained(&self) -> bool { function mask (line 107) | pub fn mask(&self) -> &T::Integer { function range (line 116) | pub fn range(&self) -> (T, T) { function range_width (line 122) | pub fn range_width(&self) -> T::Integer { function size_estimate (line 127) | pub fn size_estimate(&self) -> T::Integer { function allows_value (line 131) | pub fn allows_value(&self, v: T) -> bool { function combine_sum (line 144) | pub fn combine_sum(&self, other: &Self) -> Self { function combine_product (line 174) | pub fn combine_product(&self, other: &Self) -> Self { function square (line 192) | pub fn square(&self) -> Self { function conjunction (line 213) | pub fn conjunction(&self, other: &Self) -> Self { function disjunction (line 252) | pub fn disjunction(&self, other: &Self) -> Self { function multiple (line 280) | pub fn multiple(&self, factor: T) -> Self { function try_to_single_value (line 298) | pub fn try_to_single_value(&self) -> Option { function is_disjoint (line 308) | pub fn is_disjoint(&self, other: &RangeConstraint) -> bool { function allowed_values (line 322) | pub fn allowed_values(&self) -> impl Iterator + '_ { method default (line 330) | fn default() -> Self { function range_width (line 337) | fn range_width(min: T, max: T) -> T::Integer { function mask_from_bits (line 346) | fn mask_from_bits(bits: usize) -> T::Integer { function range_multiple (line 361) | fn range_multiple(min: T, max: T, factor: T) -> (T, T) { function interval_intersection (line 379) | fn interval_intersection(a: (T, T), b: (T, T)) -> Optio... function shifted_interval (line 410) | fn shifted_interval((min, max): (T, T), shift: T) -> (T... type Output (line 415) | type Output = Self; function neg (line 417) | fn neg(self) -> Self::Output { method fmt (line 424) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { function format_negated (line 435) | fn format_negated(value: T) -> String { type RCg (line 451) | type RCg = RangeConstraint; function from_max_bit (line 454) | fn from_max_bit() { function from_value (line 461) | fn from_value() { function from_range (line 473) | fn from_range() { function range_width (line 493) | fn range_width() { function combine_sum (line 512) | fn combine_sum() { function combine_sum_around_modulus (line 546) | fn combine_sum_around_modulus() { function mul_add (line 590) | fn mul_add() { function multiple_negative (line 603) | fn multiple_negative() { function multiple_overflow (line 612) | fn multiple_overflow() { function combinations (line 646) | fn combinations() { function weird_combinations (line 655) | fn weird_combinations() { function interval_intersections (line 663) | fn interval_intersections() { function allows_value (line 752) | fn allows_value() { function conjunction (line 769) | fn conjunction() { function disjunction (line 797) | fn disjunction() { function disjunction_combinations (line 811) | fn disjunction_combinations() { function is_disjoint (line 837) | fn is_disjoint() { function is_unconstrained (line 861) | fn is_unconstrained() { FILE: constraint-solver/src/reachability.rs function reachable_variables (line 13) | pub fn reachable_variables( function reachable_variables_except_blocked (line 30) | pub fn reachable_variables_except_blocked( FILE: constraint-solver/src/rule_based_optimizer/driver.rs type VariableAssignment (line 28) | pub type VariableAssignment = (V, GroupedExpression); function rule_based_optimization (line 40) | pub fn rule_based_optimization { function new (line 303) | fn new( function is_replacement_within_degree_bound (line 322) | fn is_replacement_within_degree_bound { method eq (line 37) | fn eq(&self, _other: &Self) -> bool { method partial_cmp (line 46) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 53) | fn cmp(&self, _other: &Self) -> std::cmp::Ordering { method hash (line 60) | fn hash(&self, state: &mut H) { function new (line 67) | pub fn new( function terminate (line 82) | pub fn terminate(self) -> (ItemDB, Expr>, NewV... function insert (line 92) | pub fn insert(&self, expr: &GroupedExpression) -> Expr { function insert_owned (line 100) | pub fn insert_owned(&self, expr: GroupedExpression) -> Expr { function extract (line 106) | pub fn extract(&self, expr: Expr) -> GroupedExpression { function new_var (line 110) | pub fn new_var( function single_occurrence_variables (line 118) | pub fn single_occurrence_variables(&self) -> impl Iterator { function try_split_into_head_tail (line 123) | pub fn try_split_into_head_tail(&self, expr: Expr) -> Option<(Expr, Expr... function affine_var_count (line 134) | pub fn affine_var_count(&self, expr: Expr) -> Option { function try_to_affine (line 142) | pub fn try_to_affine(&self, expr: Expr) -> Option<(T, Var, T)> { function try_to_number (line 152) | pub fn try_to_number(&self, expr: Expr) -> Option { function on_expr (line 162) | pub fn on_expr( function try_as_single_product (line 174) | pub fn try_as_single_product(&self, expr: Expr) -> Option<(Expr, Expr)> { function differ_in_exactly_one_variable (line 188) | pub fn differ_in_exactly_one_variable(&self, a_id: Expr, b_id: Expr) -> ... function substitute_by_known (line 234) | pub fn substitute_by_known(&self, e: Expr, var: Var, value: T) -> Expr { function substitute_by_var (line 248) | pub fn substitute_by_var(&self, e: Expr, var: Var, replacement: Var) -> ... function format_expr (line 262) | pub fn format_expr(&self, expr: Expr) -> String { function format_var (line 270) | pub fn format_var(&self, var: Var) -> String { FILE: constraint-solver/src/rule_based_optimizer/item_db.rs type ItemDB (line 13) | pub struct ItemDB { function from_iter (line 23) | fn from_iter>(iter: T) -> Self { type Output (line 42) | type Output = Item; function index (line 43) | fn index(&self, index: Ident) -> &Self::Output { function insert_owned_new (line 53) | fn insert_owned_new(&mut self, item: Item) -> Ident { function insert (line 63) | pub fn insert(&mut self, item: &Item) -> Ident { function insert_owned (line 73) | pub fn insert_owned(&mut self, item: Item) -> Ident { function id (line 81) | pub fn id(&self, item: &Item) -> Ident { function iter (line 85) | pub fn iter(&self) -> impl Iterator { function next_free_id (line 93) | pub fn next_free_id(&self) -> usize { FILE: constraint-solver/src/rule_based_optimizer/new_var_generator.rs type NewVarRequest (line 10) | pub struct NewVarRequest { type NewVarGenerator (line 19) | pub struct NewVarGenerator { function new (line 25) | pub fn new(initial_counter: usize) -> Self { function generate (line 32) | pub fn generate( function requests (line 50) | pub fn requests(self) -> HashMap> { FILE: constraint-solver/src/rule_based_optimizer/rules.rs function extend_by_none (line 710) | fn extend_by_none(items: [Expr; N1]) -... FILE: constraint-solver/src/rule_based_optimizer/tests.rs function assert_zero (line 21) | fn assert_zero( function v (line 27) | fn v(name: &str) -> GroupedExpression { function c (line 31) | fn c(value: i64) -> GroupedExpression { function new_var (line 35) | fn new_var() -> impl FnMut(&str) -> String { function handle_variable_range_checker (line 44) | fn handle_variable_range_checker( function try_handle_bus_interaction (line 68) | fn try_handle_bus_interaction( type TestBusInteractionHandler (line 92) | struct TestBusInteractionHandler; method handle_bus_interaction (line 95) | fn handle_bus_interaction( function bit_constraint (line 104) | fn bit_constraint( function test_rule_based_optimization_empty (line 116) | fn test_rule_based_optimization_empty() { function test_rule_based_optimization_simple_assignment (line 129) | fn test_rule_based_optimization_simple_assignment() { function add_with_carry (line 147) | fn add_with_carry() { function test_rule_based_optimization_quadratic_equality (line 179) | fn test_rule_based_optimization_quadratic_equality() { function test_batch_replace_with_duplicate_constraints (line 231) | fn test_batch_replace_with_duplicate_constraints() { function test_batch_replace_with_duplicate_constraints2 (line 269) | fn test_batch_replace_with_duplicate_constraints2() { function test_batch_replace_with_duplicate_constraints3 (line 298) | fn test_batch_replace_with_duplicate_constraints3() { function test_batch_replace_with_conflict (line 331) | fn test_batch_replace_with_conflict() { function test_rule_split_constraints_based_on_minimal_range (line 394) | fn test_rule_split_constraints_based_on_minimal_range() { function one_hot_flags (line 431) | fn one_hot_flags() { FILE: constraint-solver/src/rule_based_optimizer/types.rs type Var (line 9) | pub struct Var(usize); method fmt (line 12) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Expr (line 18) | pub struct Expr(usize); type Action (line 21) | pub enum Action { type ReplaceConstraintsAction (line 35) | pub struct ReplaceConstraintsAction { FILE: constraint-solver/src/runtime_constant.rs type RuntimeConstant (line 13) | pub trait RuntimeConstant: method try_to_number (line 31) | fn try_to_number(&self) -> Option; method range_constraint (line 35) | fn range_constraint(&self) -> RangeConstraint; method field_div (line 38) | fn field_div(&self, other: &Self) -> Self { method field_inverse (line 43) | fn field_inverse(&self) -> Self; method from_u64 (line 46) | fn from_u64(k: u64) -> Self { method is_known_zero (line 51) | fn is_known_zero(&self) -> bool { method is_known_one (line 56) | fn is_known_one(&self) -> bool { method is_known_minus_one (line 61) | fn is_known_minus_one(&self) -> bool { method is_known_nonzero (line 69) | fn is_known_nonzero(&self) -> bool { type FieldType (line 100) | type FieldType = T; method try_to_number (line 102) | fn try_to_number(&self) -> Option { method range_constraint (line 106) | fn range_constraint(&self) -> RangeConstraint { method field_div (line 110) | fn field_div(&self, other: &Self) -> Self { method field_inverse (line 114) | fn field_inverse(&self) -> Self { type Substitutable (line 76) | pub trait Substitutable { method substitute (line 78) | fn substitute(&mut self, variable: &V, substitution: &Self); type VarTransformable (line 84) | pub trait VarTransformable { method transform_var_type (line 88) | fn transform_var_type(&self, var_transform: &mut impl FnMut(&V1) -> V2... method try_transform_var_type (line 93) | fn try_transform_var_type( method substitute (line 120) | fn substitute(&mut self, _variable: &V, _substitution: &Self) { type Transformed (line 126) | type Transformed = T; method transform_var_type (line 128) | fn transform_var_type(&self, _var_transform: &mut impl FnMut(&V1) -> V2)... method try_transform_var_type (line 133) | fn try_transform_var_type( FILE: constraint-solver/src/solver.rs function solve_system (line 26) | pub fn solve_system( function new_solver (line 38) | pub fn new_solver( type Solver (line 54) | pub trait Solver: RangeConstraintProvider + Si... method solve (line 57) | fn solve(&mut self) -> Result>, Error>; method add_algebraic_constraints (line 60) | fn add_algebraic_constraints( method add_bus_interactions (line 66) | fn add_bus_interactions( method add_range_constraint (line 72) | fn add_range_constraint(&mut self, var: &V, constraint: RangeConstrain... method retain_variables (line 76) | fn retain_variables(&mut self, variables_to_keep: &HashSet); method range_constraint_for_expression (line 79) | fn range_constraint_for_expression(&self, expr: &GroupedExpression) method try_to_equivalent_constant (line 88) | fn try_to_equivalent_constant(&self, expr: &GroupedExpression) -... method are_expressions_known_to_be_different (line 94) | fn are_expressions_known_to_be_different( type Error (line 104) | pub enum Error { type VariableAssignment (line 115) | pub type VariableAssignment = (V, GroupedExpression); FILE: constraint-solver/src/solver/base.rs type BaseSolver (line 35) | pub struct BaseSolver { type VarDispenser (line 57) | pub trait VarDispenser { method next_boolean (line 59) | fn next_boolean(&mut self) -> V; method next_linear (line 62) | fn next_linear(&mut self) -> V; method all_linearized_vars (line 65) | fn all_linearized_vars(&self) -> impl Iterator; type VarDispenserImpl (line 69) | pub struct VarDispenserImpl { method next_boolean (line 75) | fn next_boolean(&mut self) -> Variable { method next_linear (line 81) | fn next_linear(&mut self) -> Variable { method all_linearized_vars (line 88) | fn all_linearized_vars(&self) -> impl Iterator> { function new (line 94) | pub fn new(bus_interaction_handler: B) -> Self { function get (line 113) | fn get(&self, var: &V) -> RangeConstraint { method fmt (line 121) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function solve (line 132) | fn solve(&mut self) -> Result>, Error> { function add_algebraic_constraints (line 147) | fn add_algebraic_constraints( function add_bus_interactions (line 171) | fn add_bus_interactions( function add_range_constraint (line 189) | fn add_range_constraint(&mut self, variable: &V, constraint: RangeConstr... function retain_variables (line 194) | fn retain_variables(&mut self, variables_to_keep: &HashSet) { function range_constraint_for_expression (line 224) | fn range_constraint_for_expression( function try_to_equivalent_constant (line 235) | fn try_to_equivalent_constant(&self, expr: &GroupedExpression) -> ... function are_expressions_known_to_be_different (line 242) | fn are_expressions_known_to_be_different( function try_extract_boolean (line 269) | fn try_extract_boolean( function linearize_constraint (line 287) | fn linearize_constraint( function linearize_bus_interaction (line 308) | fn linearize_bus_interaction( function loop_until_no_progress (line 332) | fn loop_until_no_progress(&mut self) -> Result<(), Error> { function solve_in_isolation (line 352) | fn solve_in_isolation(&mut self) -> Result { function exhaustive_search (line 385) | fn exhaustive_search(&mut self) -> Result { function equivalent_expressions (line 442) | fn equivalent_expressions( function apply_effect (line 475) | fn apply_effect(&mut self, effect: Effect) -> bool { function apply_range_constraint_update (line 490) | fn apply_range_constraint_update( function apply_assignment (line 510) | fn apply_assignment(&mut self, variable: &V, expr: &GroupedExpression( type RangeConstraints (line 605) | pub struct RangeConstraints { function get (line 612) | fn get(&self, var: &V) -> RangeConstraint { function update (line 620) | fn update(&mut self, variable: &V, range_constraint: &RangeConstraint... type VarName (line 641) | type VarName = &'static str; type Var (line 642) | type Var = Variable; type Qse (line 643) | type Qse = GroupedExpression; function var (line 645) | fn var(name: VarName) -> Qse { function constant (line 649) | fn constant(value: u64) -> Qse { function expression_simplification (line 654) | fn expression_simplification() { function is_known_to_by_nonzero (line 695) | fn is_known_to_by_nonzero() { FILE: constraint-solver/src/solver/boolean_extractor.rs type BooleanExtractor (line 14) | pub struct BooleanExtractor { type BooleanExtractionValue (line 27) | pub struct BooleanExtractionValue { function try_extract_boolean (line 48) | pub fn try_extract_boolean( function try_to_abs_u64 (line 151) | fn try_to_abs_u64(x: T) -> Option { function apply_assignments (line 159) | pub fn apply_assignments(&mut self, assignments: &[VariableAssignment; function var (line 178) | fn var(name: Var) -> Qse { function constant (line 182) | fn constant(value: u64) -> Qse { function test_extract_boolean (line 187) | fn test_extract_boolean() { function test_extract_boolean_square (line 199) | fn test_extract_boolean_square() { function test_extract_boolean_useless (line 211) | fn test_extract_boolean_useless() { function do_not_extract_twice (line 226) | fn do_not_extract_twice() { function do_not_extract_squares_twice (line 273) | fn do_not_extract_squares_twice() { function apply_assignments (line 290) | fn apply_assignments() { FILE: constraint-solver/src/solver/constraint_splitter.rs function try_split_constraint (line 33) | pub fn try_split_constraint( function group_components_by_coefficients (line 139) | fn group_components_by_coefficients( function recombine_components (line 248) | fn recombine_components( type Component (line 273) | struct Component { method fmt (line 279) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Error (line 285) | type Error = (); function try_from (line 286) | fn try_from((var, coeff): (&'a V, &'a T)) -> Result { function normalize (line 295) | fn normalize(self) -> Self { type Output (line 308) | type Output = Self; method add (line 310) | fn add(self, other: Self) -> Self { type Output (line 320) | type Output = Self; function div (line 322) | fn div(self, rhs: T) -> Self { function from (line 332) | fn from(comp: Component) -> Self { method zero (line 338) | fn zero() -> Self { method is_zero (line 345) | fn is_zero(&self) -> bool { type Var (line 361) | type Var = &'static str; type Qse (line 362) | type Qse = GroupedExpression; function var (line 364) | fn var(name: Var) -> Qse { function constant (line 368) | fn constant(value: u64) -> Qse { function try_split (line 372) | fn try_split( function split_simple (line 380) | fn split_simple() { function split_multiple (line 397) | fn split_multiple() { function split_seqz (line 425) | fn split_seqz() { function split_multiple_with_const (line 455) | fn split_multiple_with_const() { function split_limb_decomposition (line 487) | fn split_limb_decomposition() { function negated_and_unnegated (line 514) | fn negated_and_unnegated() { function wrapping_1 (line 540) | fn wrapping_1() { function wrapping_2 (line 568) | fn wrapping_2() { function split_at_boundary (line 584) | fn split_at_boundary() { function bit_decomposition_bug (line 609) | fn bit_decomposition_bug() { function split_fail_overlapping (line 626) | fn split_fail_overlapping() { function split_fail_not_unique (line 637) | fn split_fail_not_unique() { FILE: constraint-solver/src/solver/exhaustive_search.rs constant MAX_SEARCH_WIDTH (line 21) | const MAX_SEARCH_WIDTH: u64 = 1 << 10; constant MAX_VAR_RANGE_WIDTH (line 23) | const MAX_VAR_RANGE_WIDTH: u64 = 5; function exhaustive_search_on_variable_set (line 31) | pub fn exhaustive_search_on_variable_set( function has_small_max_range_constraint_size (line 128) | fn has_small_max_range_constraint_size( type ContradictingConstraintError (line 143) | struct ContradictingConstraintError; function derive_new_range_constraints (line 151) | fn derive_new_range_constraints { function linearize_expression (line 28) | pub fn linearize_expression( function try_linearize_existing (line 63) | pub fn try_linearize_existing( function linearize_and_substitute_by_var (line 96) | fn linearize_and_substitute_by_var( function substitute_by_var (line 111) | pub fn substitute_by_var( function try_substitute_by_existing_var (line 132) | pub fn try_substitute_by_existing_var( function internalized_versions_of_expression (line 147) | pub fn internalized_versions_of_expression( function apply_assignments (line 164) | pub fn apply_assignments(&mut self, assignments: &[VariableAssignment>; function var (line 193) | fn var(name: &'static str) -> Qse { function constant (line 197) | fn constant(value: u64) -> Qse { function linearization (line 202) | fn linearization() { function solver_transforms (line 224) | fn solver_transforms() { FILE: constraint-solver/src/solver/var_transformation.rs type Variable (line 16) | pub enum Variable { function from (line 27) | fn from(v: V) -> Self { function from (line 34) | fn from(v: &V) -> Self { function try_to_original (line 40) | pub fn try_to_original(&self) -> Option { method fmt (line 49) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type VarTransformation (line 59) | pub struct VarTransformation { function new (line 70) | pub fn new(solver: S) -> Self { function get (line 84) | fn get(&self, var: &V) -> RangeConstraint { method fmt (line 90) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function solve (line 103) | fn solve(&mut self) -> Result>, Error> { function add_algebraic_constraints (line 116) | fn add_algebraic_constraints( function add_bus_interactions (line 124) | fn add_bus_interactions( function add_range_constraint (line 135) | fn add_range_constraint(&mut self, variable: &V, constraint: RangeConstr... function retain_variables (line 140) | fn retain_variables(&mut self, variables_to_keep: &HashSet) { function range_constraint_for_expression (line 150) | fn range_constraint_for_expression( function try_to_equivalent_constant (line 158) | fn try_to_equivalent_constant(&self, expr: &GroupedExpression) -> ... function are_expressions_known_to_be_different (line 163) | fn are_expressions_known_to_be_different( function transform_expr (line 174) | fn transform_expr( function transform_constraint (line 180) | fn transform_constraint( FILE: constraint-solver/src/symbolic_expression.rs type SymbolicExpression (line 23) | pub enum SymbolicExpression { type BinaryOperator (line 34) | pub enum BinaryOperator { type UnaryOperator (line 43) | pub enum UnaryOperator { function children (line 52) | fn children(&self) -> impl Iterator> { function all_children (line 64) | pub fn all_children(&self) -> Box) -> Self { function compute_substitution (line 81) | pub fn compute_substitution(&self, variable: &S, substitution: &Self) ->... function substitute (line 112) | pub fn substitute(&mut self, variable: &S, substitution: &Self) { function try_to_expression (line 124) | fn try_to_expression< type Transformed (line 167) | type Transformed = SymbolicExpression; function try_transform_var_type (line 169) | fn try_transform_var_type( method fmt (line 199) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { method fmt (line 218) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { method fmt (line 229) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { function from (line 237) | fn from(n: T) -> Self { type Output (line 243) | type Output = SymbolicExpression; method add (line 245) | fn add(self, rhs: Self) -> Self::Output { type Output (line 273) | type Output = SymbolicExpression; method add (line 274) | fn add(self, rhs: Self) -> Self::Output { method add_assign (line 280) | fn add_assign(&mut self, rhs: Self) { type Output (line 286) | type Output = SymbolicExpression; method sub (line 288) | fn sub(self, rhs: Self) -> Self::Output { type Output (line 312) | type Output = SymbolicExpression; method sub (line 313) | fn sub(self, rhs: Self) -> Self::Output { type Output (line 319) | type Output = SymbolicExpression; method neg (line 321) | fn neg(self) -> Self::Output { type Output (line 368) | type Output = SymbolicExpression; method neg (line 369) | fn neg(self) -> Self::Output { type Output (line 375) | type Output = SymbolicExpression; method mul (line 377) | fn mul(self, rhs: Self) -> Self::Output { type Output (line 403) | type Output = SymbolicExpression; method mul (line 404) | fn mul(self, rhs: Self) -> Self { method mul_assign (line 410) | fn mul_assign(&mut self, rhs: Self) { method zero (line 416) | fn zero() -> Self { method is_zero (line 420) | fn is_zero(&self) -> bool { method one (line 426) | fn one() -> Self { method is_one (line 430) | fn is_one(&self) -> bool { type FieldType (line 436) | type FieldType = T; method try_to_number (line 438) | fn try_to_number(&self) -> Option { method range_constraint (line 447) | fn range_constraint(&self) -> RangeConstraint { method field_div (line 458) | fn field_div(&self, rhs: &Self) -> Self { method field_inverse (line 480) | fn field_inverse(&self) -> Self { method from_u64 (line 501) | fn from_u64(k: u64) -> Self { function substitute (line 507) | fn substitute(&mut self, variable: &V, substitution: &Self) { FILE: constraint-solver/src/system_splitter.rs function split_system (line 16) | pub fn split_system( FILE: constraint-solver/src/test_utils.rs type Var (line 10) | pub type Var = &'static str; type Qse (line 11) | pub type Qse = GroupedExpression Qse { function constant (line 17) | pub fn constant(value: u64) -> Qse { function with_constraints (line 22) | pub fn with_constraints( function with_bus_interactions (line 31) | pub fn with_bus_interactions( FILE: constraint-solver/src/utils.rs function has_few_possible_assignments (line 12) | pub fn has_few_possible_assignments( function get_all_possible_assignments (line 30) | pub fn get_all_possible_assignments( function possible_concrete_values (line 49) | pub fn possible_concrete_values< FILE: constraint-solver/src/variable_update.rs type VariableUpdate (line 7) | pub struct VariableUpdate { type UpdateKind (line 13) | pub enum UpdateKind { FILE: constraint-solver/tests/solver.rs type Var (line 16) | type Var = &'static str; function var (line 18) | fn var(name: Var) -> GroupedExpression { function constant (line 22) | fn constant(value: u64) -> GroupedExpression { function assert_solve_result (line 26) | pub fn assert_solve_result>( function assert_expected_state (line 36) | fn assert_expected_state( function single_variable (line 61) | fn single_variable() { function concretely_solvable (line 70) | fn concretely_solvable() { function bit_decomposition (line 92) | fn bit_decomposition() { constant BYTE_BUS_ID (line 116) | const BYTE_BUS_ID: u64 = 42; constant XOR_BUS_ID (line 117) | const XOR_BUS_ID: u64 = 43; type TestBusInteractionHandler (line 119) | struct TestBusInteractionHandler; method handle_bus_interaction (line 121) | fn handle_bus_interaction( function send (line 174) | fn send( function byte_decomposition (line 186) | fn byte_decomposition() { function xor (line 216) | fn xor() { function xor_invalid (line 236) | fn xor_invalid() { function one_hot_flags (line 252) | fn one_hot_flags() { function binary_flags (line 284) | fn binary_flags() { function ternary_flags (line 322) | fn ternary_flags() { function bit_decomposition_bug (line 389) | fn bit_decomposition_bug() { FILE: expression/src/display.rs type ExpressionPrecedence (line 8) | type ExpressionPrecedence = u64; type Precedence (line 9) | trait Precedence { method precedence (line 10) | fn precedence(&self) -> Option; method precedence (line 14) | fn precedence(&self) -> Option { method precedence (line 22) | fn precedence(&self) -> Option { method precedence (line 31) | fn precedence(&self) -> Option { method fmt (line 41) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { method fmt (line 69) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { method fmt (line 84) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { method fmt (line 92) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { function test_display (line 109) | fn test_display(expr: AlgebraicExpression, expect... function binary_op (line 114) | fn binary_op() { FILE: expression/src/lib.rs type AlgebraicExpression (line 26) | pub enum AlgebraicExpression { type AlgebraicBinaryOperation (line 40) | pub struct AlgebraicBinaryOperation { type AlgebraicBinaryOperator (line 49) | pub enum AlgebraicBinaryOperator { type AlgebraicUnaryOperation (line 61) | pub struct AlgebraicUnaryOperation { type AlgebraicUnaryOperator (line 69) | pub enum AlgebraicUnaryOperator { function children (line 79) | fn children(&self) -> Box... function children_mut (line 96) | fn children_mut(&mut self) -> Box usize { function new_binary (line 125) | pub fn new_binary(left: Self, op: AlgebraicBinaryOperator, right: Self) ... function new_unary (line 133) | pub fn new_unary(op: AlgebraicUnaryOperator, expr: Self) -> Self { type Output (line 142) | type Output = Self; function add (line 144) | fn add(self, rhs: Self) -> Self::Output { type Output (line 150) | type Output = Self; function sub (line 152) | fn sub(self, rhs: Self) -> Self::Output { type Output (line 158) | type Output = Self; function neg (line 160) | fn neg(self) -> Self::Output { type Output (line 166) | type Output = Self; function mul (line 168) | fn mul(self, rhs: Self) -> Self::Output { function from (line 174) | fn from(value: T) -> Self { function to_expression (line 180) | fn to_expression< function serialize_unary_operation (line 209) | fn serialize_unary_operation( function serialize_binary_operation (line 221) | fn serialize_binary_operation( function test_serde (line 238) | fn test_serde() { FILE: expression/src/visitors.rs type Children (line 11) | pub trait Children { method children (line 13) | fn children(&self) -> Box + '_>; method children_mut (line 15) | fn children_mut(&mut self) -> Box + '_>; type AllChildren (line 18) | pub trait AllChildren { method all_children (line 22) | fn all_children(&self) -> Box + '_>; type VisitOrder (line 26) | pub enum VisitOrder { type ExpressionVisitable (line 38) | pub trait ExpressionVisitable { method pre_visit_expressions_mut (line 40) | fn pre_visit_expressions_mut(&mut self, f: &mut F) method post_visit_expressions_mut (line 54) | fn post_visit_expressions_mut(&mut self, f: &mut F) method visit_expressions (line 67) | fn visit_expressions(&self, f: &mut F, order: VisitOrder) -> Con... method visit_expressions_mut (line 71) | fn visit_expressions_mut(&mut self, f: &mut F, order: VisitOrder... method visit_expressions_mut (line 77) | fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> C... method visit_expressions (line 85) | fn visit_expressions(&self, f: &mut F, o: VisitOrder) -> ControlFl... method all_children (line 95) | fn all_children(&self) -> Box + '_> { function visit_expressions_mut (line 101) | fn visit_expressions_mut(&mut self, f: &mut F, o: VisitOrder) -> C... function visit_expressions (line 116) | fn visit_expressions(&self, f: &mut F, o: VisitOrder) -> ControlFl... function all_children (line 133) | fn all_children(&self) -> Box String { function escape_label (line 18) | pub fn escape_label(l: &str) -> String { FILE: number/src/baby_bear.rs function bitwise (line 15) | fn bitwise() { function zero_one (line 35) | fn zero_one() { function lower_half (line 47) | fn lower_half() { function integer_div_by_zero (line 59) | fn integer_div_by_zero() { function div_by_zero (line 66) | fn div_by_zero() { function to_signed_integer (line 71) | fn to_signed_integer() { FILE: number/src/bn254.rs function bitwise (line 16) | fn bitwise() { function minus_one (line 52) | fn minus_one() { function format (line 65) | fn format() { function integer_div_by_zero (line 77) | fn integer_div_by_zero() { function div_by_zero (line 84) | fn div_by_zero() { function to_signed_integer (line 89) | fn to_signed_integer() { FILE: number/src/expression_convertible.rs type ExpressionConvertible (line 5) | pub trait ExpressionConvertible { method try_to_expression (line 13) | fn try_to_expression< method to_expression (line 27) | fn to_expression< method to_expression (line 40) | fn to_expression< FILE: number/src/goldilocks.rs constant EPSILON (line 22) | const EPSILON: u64 = (1 << 32) - 1; type GoldilocksField (line 40) | pub struct GoldilocksField(u64); constant ORDER (line 43) | const ORDER: u64 = 0xFFFFFFFF00000001; method try_inverse (line 55) | fn try_inverse(&self) -> Option { method square (line 96) | fn square(&self) -> Self { method exp_power_of_2 (line 100) | fn exp_power_of_2(&self, power_log: usize) -> Self { method from_canonical_u64 (line 109) | fn from_canonical_u64(n: u64) -> Self { method from_noncanonical_i64 (line 115) | fn from_noncanonical_i64(n: i64) -> Self { method to_canonical_u64 (line 127) | fn to_canonical_u64(self) -> u64 { method from (line 405) | fn from(b: bool) -> Self { method from (line 411) | fn from(n: i64) -> Self { method from (line 417) | fn from(n: i32) -> Self { method from (line 423) | fn from(n: u32) -> Self { method from (line 430) | fn from(n: u64) -> Self { method from (line 436) | fn from(n: crate::BigUint) -> Self { method from (line 443) | fn from(n: GLLargeInt) -> Self { function wrap (line 133) | fn wrap(x: u64) -> u64 { type Output (line 142) | type Output = Self; method neg (line 145) | fn neg(self) -> Self { type Output (line 155) | type Output = Self; method add (line 159) | fn add(self, rhs: Self) -> Self { method add_assign (line 169) | fn add_assign(&mut self, rhs: Self) { type Output (line 175) | type Output = Self; method sub (line 179) | fn sub(self, rhs: Self) -> Self { method sub_assign (line 189) | fn sub_assign(&mut self, rhs: Self) { type Output (line 195) | type Output = Self; method mul (line 197) | fn mul(self, rhs: Self) -> Self { method mul_assign (line 203) | fn mul_assign(&mut self, rhs: Self) { type Output (line 209) | type Output = Self; method div (line 212) | fn div(self, rhs: Self) -> Self::Output { function add_no_canonicalize_trashing_input (line 224) | unsafe fn add_no_canonicalize_trashing_input(x: u64, y: u64) -> u64 { function add_no_canonicalize_trashing_input (line 251) | const unsafe fn add_no_canonicalize_trashing_input(x: u64, y: u64) -> u64 { function reduce128 (line 259) | fn reduce128(x: u128) -> GoldilocksField { function exp_acc (line 277) | fn exp_acc(base: GoldilocksField, tail: GoldilocksField)... function split (line 282) | const fn split(x: u128) -> (u64, u64) { function assume (line 288) | pub fn assume(p: bool) { function branch_hint (line 306) | pub fn branch_hint() { type Integer (line 324) | type Integer = GLLargeInt; constant BITS (line 326) | const BITS: u32 = 64; method to_degree (line 328) | fn to_degree(&self) -> crate::DegreeType { method to_integer (line 332) | fn to_integer(&self) -> Self::Integer { method modulus (line 337) | fn modulus() -> Self::Integer { method pow (line 341) | fn pow(self, exp: Self::Integer) -> Self { method to_bytes_le (line 360) | fn to_bytes_le(&self) -> Vec { method from_bytes_le (line 364) | fn from_bytes_le(bytes: &[u8]) -> Self { method from_str_radix (line 368) | fn from_str_radix(s: &str, radix: u32) -> Result { method checked_from (line 377) | fn checked_from(value: ibig::UBig) -> Option { method is_in_lower_half (line 385) | fn is_in_lower_half(&self) -> bool { method known_field (line 389) | fn known_field() -> Option { method has_direct_repr (line 393) | fn has_direct_repr() -> bool { method fmt (line 399) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { constant ZERO (line 449) | const ZERO: Self = Self(0); method zero (line 453) | fn zero() -> Self { method is_zero (line 457) | fn is_zero(&self) -> bool { constant ONE (line 463) | const ONE: Self = Self(1); method one (line 467) | fn one() -> Self { method is_one (line 471) | fn is_one(&self) -> bool { type Err (line 477) | type Err = String; method from_str (line 478) | fn from_str(s: &str) -> Result { type GLLargeInt (line 518) | pub struct GLLargeInt(u64); method from (line 554) | fn from(value: u32) -> Self { method from (line 560) | fn from(value: u64) -> Self { constant MAX (line 521) | const MAX: Self = Self(u64::MAX); constant NUM_BITS (line 522) | const NUM_BITS: usize = 64; method to_arbitrary_integer (line 524) | fn to_arbitrary_integer(self) -> ibig::UBig { method num_bits (line 528) | fn num_bits(&self) -> usize { method one (line 532) | fn one() -> Self { method is_one (line 536) | fn is_one(&self) -> bool { method try_into_u64 (line 540) | fn try_into_u64(&self) -> Option { method try_into_u32 (line 544) | fn try_into_u32(&self) -> Option { method from_hex (line 548) | fn from_hex(s: &str) -> Self { method zero (line 566) | fn zero() -> Self { method is_zero (line 570) | fn is_zero(&self) -> bool { constant ZERO (line 576) | const ZERO: Self = Self(0); method fmt (line 580) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { type Output (line 586) | type Output = Self; method not (line 588) | fn not(self) -> Self::Output { function bitwise (line 601) | fn bitwise() { function lower_half (line 621) | fn lower_half() { function from_str_radix_rejects_modulus (line 632) | fn from_str_radix_rejects_modulus() { function from_str_radix_accepts_order_minus_one (line 638) | fn from_str_radix_accepts_order_minus_one() { function integer_div_by_zero (line 646) | fn integer_div_by_zero() { function div_by_zero (line 653) | fn div_by_zero() { FILE: number/src/koala_bear.rs function bitwise (line 15) | fn bitwise() { function zero_one (line 35) | fn zero_one() { function lower_half (line 47) | fn lower_half() { function integer_div_by_zero (line 59) | fn integer_div_by_zero() { function div_by_zero (line 66) | fn div_by_zero() { FILE: number/src/lib.rs type DegreeType (line 32) | pub type DegreeType = u64; function log2_exact (line 35) | pub fn log2_exact(n: BigUint) -> Option { function log2_exact_function (line 46) | fn log2_exact_function() { FILE: number/src/mersenne31.rs function bitwise (line 15) | fn bitwise() { function zero_one (line 35) | fn zero_one() { function lower_half (line 47) | fn lower_half() { function integer_div_by_zero (line 59) | fn integer_div_by_zero() { function div_by_zero (line 66) | fn div_by_zero() { FILE: number/src/serialize.rs type CsvRenderMode (line 15) | pub enum CsvRenderMode { constant ROW_NAME (line 22) | const ROW_NAME: &str = "Row"; function write_polys_csv_file (line 24) | pub fn write_polys_csv_file( function read_polys_csv_file (line 60) | pub fn read_polys_csv_file(file: impl Read) -> Vec<(Str... function buffered_write_file (line 94) | pub fn buffered_write_file( type ReadWrite (line 105) | pub trait ReadWrite { method read (line 106) | fn read(file: &mut impl Read) -> Self; method write (line 107) | fn write(&self, path: &Path) -> Result<(), serde_cbor::Error>; method read (line 111) | fn read(file: &mut impl Read) -> Self { method write (line 114) | fn write(&self, path: &Path) -> Result<(), serde_cbor::Error> { function ark_se (line 122) | pub fn ark_se(a: &A, s: S) -> Result(data: D) -> Result Vec<(String, Vec)> { function write_read (line 157) | fn write_read() { function write_read_csv (line 169) | fn write_read_csv() { FILE: number/src/traits.rs type LargeInt (line 16) | pub trait LargeInt: constant MAX (line 46) | const MAX: Self; constant NUM_BITS (line 49) | const NUM_BITS: usize; method to_arbitrary_integer (line 50) | fn to_arbitrary_integer(self) -> BigUint; method num_bits (line 52) | fn num_bits(&self) -> usize; method one (line 56) | fn one() -> Self; method is_one (line 59) | fn is_one(&self) -> bool; method try_into_u64 (line 64) | fn try_into_u64(&self) -> Option; method try_into_u32 (line 69) | fn try_into_u32(&self) -> Option; method from_hex (line 73) | fn from_hex(s: &str) -> Self; type FieldSize (line 76) | pub enum FieldSize { type KnownField (line 85) | pub enum KnownField { method field_size (line 94) | pub fn field_size(&self) -> FieldSize { method fmt (line 105) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type FieldElement (line 117) | pub trait FieldElement: constant BITS (line 160) | const BITS: u32; method to_degree (line 162) | fn to_degree(&self) -> DegreeType; method to_integer (line 164) | fn to_integer(&self) -> Self::Integer; method to_arbitrary_integer (line 166) | fn to_arbitrary_integer(&self) -> BigUint { method modulus (line 170) | fn modulus() -> Self::Integer; method pow (line 172) | fn pow(self, exponent: Self::Integer) -> Self; method to_bytes_le (line 174) | fn to_bytes_le(&self) -> Vec; method from_bytes_le (line 176) | fn from_bytes_le(bytes: &[u8]) -> Self; method from_str_radix (line 178) | fn from_str_radix(s: &str, radix: u32) -> Result; method checked_from (line 181) | fn checked_from(value: BigUint) -> Option; method is_in_lower_half (line 185) | fn is_in_lower_half(&self) -> bool; method known_field (line 188) | fn known_field() -> Option; method to_signed_integer (line 194) | fn to_signed_integer(&self) -> IBig { method has_direct_repr (line 212) | fn has_direct_repr() -> bool; function int_from_hex_str (line 216) | pub fn int_from_hex_str(s: &str) -> T::Integer { FILE: openvm-bus-interaction-handler/src/bitwise_lookup.rs function handle_bitwise_lookup (line 9) | pub fn handle_bitwise_lookup( function bitwise_lookup_pure_range_constraints (line 68) | pub fn bitwise_lookup_pure_range_constraints; method fmt (line 26) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function default_openvm_bus_map (line 37) | pub fn default_openvm_bus_map() -> BusMap { FILE: openvm-bus-interaction-handler/src/lib.rs type OpenVmBusInteractionHandler (line 38) | pub struct OpenVmBusInteractionHandler { constant DEFAULT_RANGE_TUPLE_CHECKER_SIZES (line 44) | const DEFAULT_RANGE_TUPLE_CHECKER_SIZES: [u32; 2] = [1 << 8, 8 * (1 << 8)]; method default (line 47) | fn default() -> Self { function new (line 53) | pub fn new(bus_map: BusMap) -> Self { function tuple_range_checker_sizes (line 60) | pub fn tuple_range_checker_sizes(&self) -> [u32; 2] { function handle_bus_interaction (line 76) | fn handle_bus_interaction( function byte_constraint (line 120) | fn byte_constraint() -> RangeConstraint { function is_stateful (line 125) | fn is_stateful(&self, bus_id: T) -> bool { function pure_range_constraints (line 139) | fn pure_range_constraints( function batch_make_range_constraints (line 165) | fn batch_make_range_constraints( function value (line 282) | pub fn value(value: u64) -> RangeConstraint { function mask (line 286) | pub fn mask(mask: u64) -> RangeConstraint { function range (line 290) | pub fn range(start: u64, end: u64) -> RangeConstraint { FILE: openvm-bus-interaction-handler/src/memory.rs constant RV32_REGISTER_AS (line 7) | pub const RV32_REGISTER_AS: u32 = 1; constant RV32_MEMORY_AS (line 9) | pub const RV32_MEMORY_AS: u32 = 2; function handle_memory (line 11) | pub fn handle_memory( function run (line 65) | fn run( function test_receive (line 88) | fn test_receive() { function test_send (line 113) | fn test_send() { FILE: openvm-bus-interaction-handler/src/memory_bus_interaction.rs constant REGISTER_ADDRESS_SPACE (line 13) | pub const REGISTER_ADDRESS_SPACE: u32 = 1; type OpenVmMemoryBusInteraction (line 16) | pub struct OpenVmMemoryBusInteraction { type OpenVmAddress (line 24) | pub struct OpenVmAddress { type Item (line 32) | type Item = GroupedExpression; type IntoIter (line 33) | type IntoIter = IntoIter, 2>; method into_iter (line 35) | fn into_iter(self) -> Self::IntoIter { type Address (line 47) | type Address = OpenVmAddress; function try_from_bus_interaction (line 49) | fn try_from_bus_interaction( function addr (line 83) | fn addr(&self) -> Self::Address { function data (line 87) | fn data(&self) -> &[GroupedExpression] { function timestamp_limbs (line 91) | fn timestamp_limbs(&self) -> &[GroupedExpression] { function op (line 95) | fn op(&self) -> MemoryOp { FILE: openvm-bus-interaction-handler/src/tuple_range_checker.rs type TupleRangeCheckerHandler (line 8) | pub struct TupleRangeCheckerHandler { method new (line 13) | pub fn new(range_tuple_checker_sizes: [u32; 2]) -> Self { method tuple_range_checker_ranges (line 19) | pub fn tuple_range_checker_ranges( method handle_bus_interaction (line 28) | pub fn handle_bus_interaction( method pure_range_constraints (line 42) | pub fn pure_range_constraints( function run (line 66) | fn run( function test_unknown (line 82) | fn test_unknown() { FILE: openvm-bus-interaction-handler/src/variable_range_checker.rs constant MAX_BITS (line 9) | const MAX_BITS: u64 = 25; function handle_variable_range_checker (line 13) | pub fn handle_variable_range_checker( function variable_range_checker_pure_range_constraints (line 36) | pub fn variable_range_checker_pure_range_constraints; constant ORDER_HEX (line 17) | const ORDER_HEX: &str = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03... constant ORDER (line 20) | const ORDER: U256 = U256::from_be_hex(ORDER_HEX); type Secp256k1 (line 23) | pub struct Secp256k1; type FieldBytesSize (line 27) | type FieldBytesSize = U32; type Uint (line 30) | type Uint = U256; constant ORDER (line 33) | const ORDER: U256 = ORDER; method decode_field_bytes (line 37) | fn decode_field_bytes(field_bytes: &FieldBytes) -> Self { method encode_field_bytes (line 41) | fn encode_field_bytes(&self) -> FieldBytes { type FieldElement10x26 (line 56) | pub struct FieldElement10x26(pub(crate) [u32; 10]); constant ZERO (line 62) | pub const ZERO: Self = Self([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); constant ONE (line 65) | pub const ONE: Self = Self([1, 0, 0, 0, 0, 0, 0, 0, 0, 0]); method from_bytes_unchecked (line 69) | pub(crate) const fn from_bytes_unchecked(bytes: &[u8; 32]) -> Self { method from_bytes (line 117) | pub fn from_bytes(bytes: &FieldBytes) -> CtOption { method from_u64 (line 124) | pub const fn from_u64(val: u64) -> Self { method to_bytes (line 133) | pub fn to_bytes(self) -> FieldBytes { method add_modulus_correction (line 171) | fn add_modulus_correction(&self, x: u32) -> Self { method subtract_modulus_approximation (line 209) | fn subtract_modulus_approximation(&self) -> (Self, u32) { method get_overflow (line 222) | fn get_overflow(&self) -> Choice { method normalize_weak (line 232) | pub fn normalize_weak(&self) -> Self { method normalize (line 248) | pub fn normalize(&self) -> Self { method normalizes_to_zero (line 268) | pub fn normalizes_to_zero(&self) -> Choice { method is_zero (line 303) | pub fn is_zero(&self) -> Choice { method is_odd (line 324) | pub fn is_odd(&self) -> Choice { method max_magnitude (line 329) | pub const fn max_magnitude() -> u32 { method negate (line 335) | pub const fn negate(&self, magnitude: u32) -> Self { method add (line 352) | pub const fn add(&self, rhs: &Self) -> Self { method mul_single (line 369) | pub const fn mul_single(&self, rhs: u32) -> Self { method mul_inner (line 385) | fn mul_inner(&self, rhs: &Self) -> Self { method mul (line 699) | pub fn mul(&self, rhs: &Self) -> Self { method square (line 706) | pub fn square(&self) -> Self { method pow2k (line 710) | pub fn pow2k(&self, k: u32) -> Self { method invert (line 720) | pub fn invert(&self) -> Self { method sqrt (line 746) | pub fn sqrt(&self) -> CtOption { method default (line 770) | fn default() -> Self { method conditional_select (line 777) | fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self { method ct_eq (line 794) | fn ct_eq(&self, other: &Self) -> Choice { method zeroize (line 809) | fn zeroize(&mut self) { FILE: openvm-riscv/extensions/hints-circuit/src/lib.rs type HintsExtension (line 27) | pub struct HintsExtension; type Executor (line 37) | type Executor = HintsExtensionExecutor; method extend_execution (line 39) | fn extend_execution( method extend_circuit (line 64) | fn extend_circuit(&self, _: &mut AirInventory) -> Result<(), AirIn... type HintsExtensionExecutor (line 32) | pub enum HintsExtensionExecutor { type HintsProverExt (line 69) | pub struct HintsProverExt; method extend_prover (line 76) | fn extend_prover( FILE: openvm-riscv/extensions/hints-guest/src/lib.rs constant OPCODE (line 7) | pub const OPCODE: u8 = 0x5b; constant HINTS_FUNCT3 (line 8) | pub const HINTS_FUNCT3: u8 = 0b000; type HintsFunct7 (line 12) | pub enum HintsFunct7 { function insn_reverse_bytes (line 21) | fn insn_reverse_bytes(bytes: *const u8) { function insn_k256_inverse_field (line 34) | fn insn_k256_inverse_field(bytes: *const u8) { function insn_k256_inverse_field_10x26 (line 47) | fn insn_k256_inverse_field_10x26(bytes: *const u8) { function insn_k256_sqrt_field_10x26 (line 60) | fn insn_k256_sqrt_field_10x26(bytes: *const u8) { function hint_reverse_bytes (line 72) | pub fn hint_reverse_bytes(val: u32) -> u32 { function hint_k256_inverse_field (line 94) | pub fn hint_k256_inverse_field(sec1_bytes: &[u8]) -> [u8; 32] { function ensure_weakly_normalized_10x26 (line 106) | fn ensure_weakly_normalized_10x26(limbs: [u32; 10]) -> [u32; 10] { function hint_k256_inverse_field_10x26 (line 127) | pub fn hint_k256_inverse_field_10x26(elem: [u32; 10]) -> [u32; 10] { constant K256_NON_QUADRATIC_RESIDUE (line 139) | pub const K256_NON_QUADRATIC_RESIDUE: [u32; 10] = [3, 0, 0, 0, 0, 0, 0, ... function hint_k256_sqrt_field_10x26 (line 146) | pub fn hint_k256_sqrt_field_10x26(elem: [u32; 10]) -> (bool, [u32; 10]) { FILE: openvm-riscv/extensions/hints-transpiler/src/lib.rs type HintsOpcode (line 16) | pub enum HintsOpcode { type HintsPhantom (line 22) | pub enum HintsPhantom { type HintsTranspilerExtension (line 33) | pub struct HintsTranspilerExtension; method process_custom (line 36) | fn process_custom(&self, instruction_stream: &[u32]) -> Option Matrix { function mult (line 15) | pub fn mult(a: &Matrix, b: &Matrix) -> Matrix { function get_identity_matrix (line 27) | pub fn get_identity_matrix() -> Matrix { function main (line 35) | pub fn main() { FILE: openvm-riscv/guest-u256/src/main.rs constant N (line 8) | const N: usize = 70; type Matrix (line 9) | type Matrix = [[U256; N]; N]; function get_matrix (line 11) | pub fn get_matrix(val: u32) -> Matrix { function mult (line 15) | pub fn mult(a: &Matrix, b: &Matrix) -> Matrix { function get_identity_matrix (line 27) | pub fn get_identity_matrix() -> Matrix { function main (line 35) | pub fn main() { FILE: openvm-riscv/guest/src/main.rs function main (line 8) | pub fn main() { FILE: openvm-riscv/scripts/basic_metrics.py function get_label (line 13) | def get_label(filepath): function extract_metrics (line 24) | def extract_metrics(filename): function summary_table (line 88) | def summary_table(metrics_files, csv): function plot (line 97) | def plot(metrics_files, output): function combine (line 201) | def combine(metrics_files): FILE: openvm-riscv/scripts/generate_bench_results_readme.py function github_blob_url (line 13) | def github_blob_url(relative_path: Path, run_id: str) -> str: function github_tree_url (line 18) | def github_tree_url(run_id: str, subdir: str | None = None) -> str: function viewer_url (line 25) | def viewer_url(viewer_base: str, data_url: str) -> str: function find_apc_candidates (line 29) | def find_apc_candidates(experiment_dir: Path) -> Path | None: function generate_readme (line 43) | def generate_readme(results_dir: Path, run_id: str) -> str: function main (line 86) | def main() -> None: FILE: openvm-riscv/scripts/metrics_utils.py function load_metrics_dataframes (line 8) | def load_metrics_dataframes(filename): function is_normal_instruction_air (line 37) | def is_normal_instruction_air(air_name): function test_is_normal_instruction_air (line 62) | def test_is_normal_instruction_air(): FILE: openvm-riscv/scripts/plot_trace_cells.py function autopct_with_billions (line 8) | def autopct_with_billions(pct, total): function compute_cells_by_air (line 12) | def compute_cells_by_air(metrics_path): function main (line 37) | def main(metrics_path, output_path=None, subtitle=None): FILE: openvm-riscv/src/isa/instruction_formatter.rs function openvm_instruction_formatter (line 6) | pub fn openvm_instruction_formatter(instruction: &Instr... function openvm_opcode_formatter (line 51) | pub fn openvm_opcode_formatter(opcode: &VmOpcode) -> String { FILE: openvm-riscv/src/isa/mod.rs type RiscvISA (line 38) | pub struct RiscvISA; type OpenVmRegisterAddress (line 42) | pub struct OpenVmRegisterAddress(u8); function from (line 46) | fn from(value: ExtendedVmConfigExecutor) -> Self { type Executor (line 52) | type Executor = ExtendedVmConfigExecutor; type Config (line 53) | type Config = ExtendedVmConfig; type CpuBuilder (line 54) | type CpuBuilder = ExtendedVmConfigCpuBuilder; type GpuBuilder (line 56) | type GpuBuilder = ExtendedVmConfigGpuBuilder; method branching_opcodes (line 58) | fn branching_opcodes() -> HashSet { method format (line 62) | fn format(instruction: &Instruction) -> String { method allowed_opcodes (line 66) | fn allowed_opcodes() -> HashSet { method create_original_chip_complex (line 70) | fn create_original_chip_complex( type LinkedProgram (line 81) | type LinkedProgram<'a> = ElfProgram; method get_symbol_table (line 83) | fn get_symbol_table<'a>(program: &Self::LinkedProgram<'a>) -> SymbolTable { method get_jump_destinations (line 105) | fn get_jump_destinations(program: &OriginalCompiledProgram) -> BTr... method create_dummy_airs (line 113) | fn create_dummy_airs HashSet { function branch_opcodes_bigint_set (line 132) | pub fn branch_opcodes_bigint_set() -> HashSet { function branch_opcodes_set (line 143) | pub fn branch_opcodes_set() -> HashSet { function test_all_opcodes (line 154) | fn test_all_opcodes() { function test_all_opcodes_except_bigint (line 165) | fn test_all_opcodes_except_bigint() { function test_instruction_allowlist (line 176) | fn test_instruction_allowlist() { FILE: openvm-riscv/src/isa/trace_generator/common.rs function create_dummy_airs (line 6) | pub fn create_dummy_airs>( FILE: openvm-riscv/src/isa/trace_generator/cpu.rs function create_dummy_chip_complex_cpu (line 19) | pub fn create_dummy_chip_complex_cpu( FILE: openvm-riscv/src/isa/trace_generator/cuda.rs function create_dummy_chip_complex_gpu (line 15) | pub fn create_dummy_chip_complex_gpu( FILE: openvm-riscv/src/lib.rs function build_elf_path (line 69) | pub fn build_elf_path>( function compile_openvm (line 91) | pub fn compile_openvm( function compile_exe (line 150) | pub fn compile_exe( type ExtendedVmConfig (line 200) | pub struct ExtendedVmConfig { method transpiler (line 208) | fn transpiler(&self) -> Transpiler { type ExtendedVmConfigCpuBuilder (line 214) | pub struct ExtendedVmConfigCpuBuilder; type VmConfig (line 220) | type VmConfig = ExtendedVmConfig; type SystemChipInventory (line 221) | type SystemChipInventory = SystemChipInventory; type RecordArena (line 222) | type RecordArena = MatrixRecordArena>; method create_chip_complex (line 224) | fn create_chip_complex( type ExtendedVmConfigGpuBuilder (line 242) | pub struct ExtendedVmConfigGpuBuilder; type VmConfig (line 246) | type VmConfig = ExtendedVmConfig; type SystemChipInventory (line 247) | type SystemChipInventory = SystemChipInventoryGPU; type RecordArena (line 248) | type RecordArena = DenseRecordArena; method create_chip_complex (line 250) | fn create_chip_complex( method generate_init_file_contents (line 274) | fn generate_init_file_contents(&self) -> Option { method write_to_init_file (line 278) | fn write_to_init_file( function prove (line 287) | pub fn prove( function compile_and_prove (line 371) | fn compile_and_prove( function prove_simple (line 386) | fn prove_simple( function prove_mock (line 405) | fn prove_mock( function prove_recursion (line 424) | fn prove_recursion( constant GUEST (line 443) | const GUEST: &str = "guest"; constant GUEST_ITER (line 444) | const GUEST_ITER: u32 = 1 << 10; constant GUEST_APC (line 445) | const GUEST_APC: u64 = 1; constant GUEST_SKIP_NO_APC_EXECUTED (line 446) | const GUEST_SKIP_NO_APC_EXECUTED: u64 = 56; constant GUEST_SKIP_PGO (line 447) | const GUEST_SKIP_PGO: u64 = 0; constant GUEST_KECCAK (line 449) | const GUEST_KECCAK: &str = "guest-keccak"; constant GUEST_KECCAK_ITER (line 450) | const GUEST_KECCAK_ITER: u32 = 1_000; constant GUEST_KECCAK_ITER_SMALL (line 451) | const GUEST_KECCAK_ITER_SMALL: u32 = 10; constant GUEST_KECCAK_ITER_LARGE (line 452) | const GUEST_KECCAK_ITER_LARGE: u32 = 25_000; constant GUEST_KECCAK_APC (line 453) | const GUEST_KECCAK_APC: u64 = 1; constant GUEST_KECCAK_APC_PGO (line 454) | const GUEST_KECCAK_APC_PGO: u64 = 10; constant GUEST_KECCAK_APC_PGO_LARGE (line 455) | const GUEST_KECCAK_APC_PGO_LARGE: u64 = 100; constant GUEST_KECCAK_SKIP (line 456) | const GUEST_KECCAK_SKIP: u64 = 0; constant GUEST_SHA256_ITER (line 458) | const GUEST_SHA256_ITER: u32 = 1_000; constant GUEST_SHA256_ITER_SMALL (line 459) | const GUEST_SHA256_ITER_SMALL: u32 = 10; constant GUEST_SHA256_ITER_LARGE (line 460) | const GUEST_SHA256_ITER_LARGE: u32 = 25_000; constant GUEST_SHA256 (line 461) | const GUEST_SHA256: &str = "guest-sha256"; constant GUEST_SHA256_APC_PGO (line 462) | const GUEST_SHA256_APC_PGO: u64 = 10; constant GUEST_SHA256_APC_PGO_LARGE (line 463) | const GUEST_SHA256_APC_PGO_LARGE: u64 = 50; constant GUEST_SHA256_SKIP (line 464) | const GUEST_SHA256_SKIP: u64 = 0; constant GUEST_U256 (line 466) | const GUEST_U256: &str = "guest-u256"; constant GUEST_U256_APC_PGO (line 467) | const GUEST_U256_APC_PGO: u64 = 10; constant GUEST_U256_SKIP (line 468) | const GUEST_U256_SKIP: u64 = 0; constant GUEST_PAIRING (line 470) | const GUEST_PAIRING: &str = "guest-pairing"; constant GUEST_PAIRING_APC_PGO (line 471) | const GUEST_PAIRING_APC_PGO: u64 = 10; constant GUEST_PAIRING_SKIP (line 472) | const GUEST_PAIRING_SKIP: u64 = 0; constant GUEST_HINTS_TEST (line 474) | const GUEST_HINTS_TEST: &str = "guest-hints-test"; constant GUEST_ECC_HINTS (line 476) | const GUEST_ECC_HINTS: &str = "guest-ecc-powdr-affine-hint"; constant GUEST_ECC_APC_PGO (line 477) | const GUEST_ECC_APC_PGO: u64 = 50; constant GUEST_ECC_SKIP (line 478) | const GUEST_ECC_SKIP: u64 = 0; constant GUEST_ECC_ITER (line 481) | const GUEST_ECC_ITER: u32 = 0; constant GUEST_ECC_PROJECTIVE (line 483) | const GUEST_ECC_PROJECTIVE: &str = "guest-ecc-projective"; constant GUEST_ECC_PROJECTIVE_APC_PGO (line 484) | const GUEST_ECC_PROJECTIVE_APC_PGO: u64 = 50; constant GUEST_ECC_PROJECTIVE_SKIP (line 485) | const GUEST_ECC_PROJECTIVE_SKIP: u64 = 0; constant GUEST_ECRECOVER_HINTS (line 487) | const GUEST_ECRECOVER_HINTS: &str = "guest-ecrecover"; constant GUEST_ECRECOVER_APC_PGO (line 488) | const GUEST_ECRECOVER_APC_PGO: u64 = 50; constant GUEST_ECRECOVER_SKIP (line 489) | const GUEST_ECRECOVER_SKIP: u64 = 0; constant GUEST_ECRECOVER_ITER (line 490) | const GUEST_ECRECOVER_ITER: u32 = 1; function guest_prove_simple_no_apc_executed (line 493) | fn guest_prove_simple_no_apc_executed() { function guest_prove_simple (line 528) | fn guest_prove_simple() { function guest_prove_mock (line 538) | fn guest_prove_mock() { function guest_prove_recursion (line 549) | fn guest_prove_recursion() { function matmul_compile (line 560) | fn matmul_compile() { function keccak_small_prove_simple (line 573) | fn keccak_small_prove_simple() { function keccak_small_prove_simple_multi_segment (line 581) | fn keccak_small_prove_simple_multi_segment() { function keccak_prove_simple (line 592) | fn keccak_prove_simple() { function keccak_prove_many_apcs (line 601) | fn keccak_prove_many_apcs() { function keccak_prove_large (line 627) | fn keccak_prove_large() { function keccak_small_prove_mock (line 644) | fn keccak_small_prove_mock() { function keccak_prove_mock (line 654) | fn keccak_prove_mock() { function keccak_prove_multiple_pgo_modes (line 663) | fn keccak_prove_multiple_pgo_modes() { function sha256_prove_simple (line 704) | fn sha256_prove_simple() { function sha256_prove_mock (line 723) | fn sha256_prove_mock() { function sha256_prove_many_apcs (line 742) | fn sha256_prove_many_apcs() { function sha256_prove_large (line 768) | fn sha256_prove_large() { function sha256_small_prove_simple (line 785) | fn sha256_small_prove_simple() { function sha256_small_prove_mock (line 803) | fn sha256_small_prove_mock() { function sha256_prove_multiple_pgo_modes (line 821) | fn sha256_prove_multiple_pgo_modes() { function u256_prove_large (line 859) | fn u256_prove_large() { function pairing_prove (line 882) | fn pairing_prove() { function hints_test_prove (line 908) | fn hints_test_prove() { function ecc_hint_prove (line 917) | fn ecc_hint_prove() { function ecrecover_prove (line 933) | fn ecrecover_prove() { function ecc_hint_prove_recursion_large (line 950) | fn ecc_hint_prove_recursion_large() { function ecrecover_prove_recursion_large (line 967) | fn ecrecover_prove_recursion_large() { function ecc_projective_prove (line 983) | fn ecc_projective_prove() { function keccak_prove_recursion (line 1003) | fn keccak_prove_recursion() { type GuestTestConfig (line 1012) | struct GuestTestConfig { type MachineTestMetrics (line 1019) | struct MachineTestMetrics { function test_machine_compilation (line 1026) | fn test_machine_compilation( constant NON_POWDR_EXPECTED_MACHINE_COUNT (line 1111) | const NON_POWDR_EXPECTED_MACHINE_COUNT: usize = 19; constant NON_POWDR_EXPECTED_SUM (line 1112) | const NON_POWDR_EXPECTED_SUM: AirMetrics = AirMetrics { function guest_machine_pgo_modes (line 1123) | fn guest_machine_pgo_modes() { function sha256_machine_pgo (line 1200) | fn sha256_machine_pgo() { function ecc_hint_machine_pgo_cell (line 1277) | fn ecc_hint_machine_pgo_cell() { function ecrecover_machine_pgo_cell (line 1326) | fn ecrecover_machine_pgo_cell() { function keccak_machine_pgo_modes (line 1375) | fn keccak_machine_pgo_modes() { function keccak_machine_cell_pgo_max_columns (line 1480) | fn keccak_machine_cell_pgo_max_columns() { function test_get_bus_map (line 1554) | fn test_get_bus_map() { FILE: openvm-riscv/tests/apc_builder_complex.rs function assert_machine_output (line 8) | fn assert_machine_output(program: Vec>, test_name:... function guest_top_block (line 17) | fn guest_top_block() { function memcpy_block (line 35) | fn memcpy_block() { function stack_accesses (line 54) | fn stack_accesses() { function aligned_memcpy (line 73) | fn aligned_memcpy() { function unaligned_memcpy (line 98) | fn unaligned_memcpy() { function load_two_bytes_compare (line 126) | fn load_two_bytes_compare() { function load_two_bytes_compare_unsigned (line 138) | fn load_two_bytes_compare_unsigned() { function store_to_same_address (line 151) | fn store_to_same_address() { function many_stores_relative_to_same_register (line 160) | fn many_stores_relative_to_same_register() { function copy_byte (line 177) | fn copy_byte() { function rotate (line 193) | fn rotate() { FILE: openvm-riscv/tests/apc_builder_pseudo_instructions.rs function assert_machine_output (line 8) | fn assert_machine_output(program: Vec>, test_name:... function mv (line 18) | fn mv() { function not (line 28) | fn not() { function neg (line 40) | fn neg() { function seqz (line 51) | fn seqz() { function snez (line 63) | fn snez() { function sltz (line 73) | fn sltz() { function sgtz (line 83) | fn sgtz() { function beqz (line 94) | fn beqz() { function bnez (line 104) | fn bnez() { function blez (line 114) | fn blez() { function bgez (line 124) | fn bgez() { function bltz (line 134) | fn bltz() { function bgtz (line 144) | fn bgtz() { function j (line 155) | fn j() { function jr (line 165) | fn jr() { function ret (line 175) | fn ret() { function load_immediate (line 185) | fn load_immediate() { FILE: openvm-riscv/tests/apc_builder_single_instructions.rs function assert_machine_output (line 8) | fn assert_machine_output(program: Vec>, test_name:... function single_add_1 (line 18) | fn single_add_1() { function single_sub (line 27) | fn single_sub() { function single_and_0 (line 36) | fn single_and_0() { function single_xor (line 45) | fn single_xor() { function single_mul (line 54) | fn single_mul() { function single_loadw (line 65) | fn single_loadw() { function single_loadbu (line 74) | fn single_loadbu() { function single_loadhu (line 83) | fn single_loadhu() { function single_storew (line 92) | fn single_storew() { function single_storeh (line 101) | fn single_storeh() { function single_storeb (line 110) | fn single_storeb() { function single_loadh (line 120) | fn single_loadh() { function single_loadb (line 129) | fn single_loadb() { function single_loadb_imm0 (line 138) | fn single_loadb_imm0() { function single_loadb_x0 (line 148) | fn single_loadb_x0() { function single_beq (line 159) | fn single_beq() { function single_bne (line 168) | fn single_bne() { function single_blt (line 178) | fn single_blt() { function single_bltu (line 187) | fn single_bltu() { function single_bge (line 196) | fn single_bge() { function single_bgeu (line 205) | fn single_bgeu() { function single_srl (line 215) | fn single_srl() { function single_sll (line 222) | fn single_sll() { function single_sll_by_8 (line 229) | fn single_sll_by_8() { function single_sra (line 236) | fn single_sra() { function single_div (line 244) | fn single_div() { function single_divu (line 251) | fn single_divu() { function single_rem (line 258) | fn single_rem() { function single_remu (line 265) | fn single_remu() { FILE: openvm-riscv/tests/apc_builder_superblocks.rs function assert_machine_output (line 8) | fn assert_machine_output(program: Vec>>... function bb (line 12) | fn bb( function beq0_fallthrough (line 23) | fn beq0_fallthrough() { function beq0_jump (line 36) | fn beq0_jump() { function beq_fallthrough (line 49) | fn beq_fallthrough() { function beq_jump (line 62) | fn beq_jump() { function many_blocks (line 75) | fn many_blocks() { FILE: openvm-riscv/tests/common/mod.rs function original_vm_config (line 11) | pub fn original_vm_config() -> OriginalVmConfig { function compile (line 31) | pub fn compile(superblock: SuperBlock>) -> String { function assert_machine_output (line 38) | pub fn assert_machine_output( FILE: openvm-riscv/tests/machine_extraction.rs function extract_machine (line 11) | fn extract_machine() { FILE: openvm/build.rs function main (line 4) | fn main() { FILE: openvm/metrics-viewer/spec.py function load_metrics_dataframes (line 39) | def load_metrics_dataframes( function is_normal_instruction_air (line 60) | def is_normal_instruction_air(name: str) -> bool: function sum_metric (line 72) | def sum_metric(entries: list[Entry], metric_name: str) -> float: function unique_metric (line 77) | def unique_metric(entries: list[Entry], metric_name: str) -> float: function detect_version (line 84) | def detect_version(metrics_json: MetricsJson) -> Literal[1, 2]: function extract_metrics (line 90) | def extract_metrics(run_name: str, metrics_json: MetricsJson) -> Metrics: function fmt_ms (line 213) | def fmt_ms(ms: float) -> str: function fmt_cells (line 216) | def fmt_cells(v: float) -> str: function fmt_int (line 222) | def fmt_int(v: float) -> str: function fmt_pct (line 225) | def fmt_pct(v: float) -> str: function print_section (line 287) | def print_section( function load_data (line 324) | def load_data(source: str) -> tuple[dict[str, Any], str]: function resolve_experiments (line 335) | def resolve_experiments( function main (line 362) | def main() -> None: FILE: openvm/src/air_builder.rs type PrepKeygenData (line 16) | pub struct PrepKeygenData { type AirKeygenBuilder (line 21) | pub struct AirKeygenBuilder { function compute_prep_data_for_air (line 26) | fn compute_prep_data_for_air( function new (line 55) | pub fn new(pcs: &SC::Pcs, air: Arc>) -> Self { function get_symbolic_builder (line 63) | pub fn get_symbolic_builder( function width (line 85) | pub fn width(&self) -> Option { FILE: openvm/src/cuda_abi.rs function _apc_tracegen (line 12) | pub fn _apc_tracegen( function _apc_apply_derived_expr (line 24) | pub fn _apc_apply_derived_expr( function _apc_apply_bus (line 36) | pub fn _apc_apply_bus( type OriginalAir (line 68) | pub struct OriginalAir { type Subst (line 77) | pub struct Subst { type DerivedExprSpec (line 90) | pub struct DerivedExprSpec { function apc_tracegen (line 97) | pub fn apc_tracegen( function apc_apply_derived_expr (line 119) | pub fn apc_apply_derived_expr( type OpCode (line 139) | pub enum OpCode { type DevInteraction (line 152) | pub struct DevInteraction { type ExprSpan (line 164) | pub struct ExprSpan { function apc_apply_bus (line 174) | pub fn apc_apply_bus( FILE: openvm/src/customize_exe.rs constant POWDR_OPCODE (line 40) | pub const POWDR_OPCODE: usize = 0x10ff; type BabyBearOpenVmApcAdapter (line 45) | pub struct BabyBearOpenVmApcAdapter<'a, ISA> { type OpenVmExecutionState (line 50) | pub struct OpenVmExecutionState<'a, F, ISA> { function from (line 58) | fn from(inner: &'a VmState) -> Self { type RegisterAddress (line 67) | type RegisterAddress = (); type Value (line 68) | type Value = u32; method pc (line 70) | fn pc(&self) -> Self::Value { method reg (line 74) | fn reg(&self, _addr: &Self::RegisterAddress) -> Self::Value { method value_limb (line 78) | fn value_limb(_value: Self::Value, _limb_index: usize) -> Self::Value { method global_clk (line 82) | fn global_clk(&self) -> usize { type PowdrField (line 88) | type PowdrField = BabyBearField; type Field (line 89) | type Field = BabyBear; type InstructionHandler (line 90) | type InstructionHandler = OriginalAirs; type BusInteractionHandler (line 91) | type BusInteractionHandler = OpenVmBusInteractionHandler; type Program (line 92) | type Program = Prog<'a, Self::Field>; type Instruction (line 93) | type Instruction = Instr; type MemoryBusInteraction (line 94) | type MemoryBusInteraction = type CustomBusTypes (line 96) | type CustomBusTypes = OpenVmBusType; type ApcStats (line 97) | type ApcStats = OvmApcStats; type AirId (line 98) | type AirId = String; type ExecutionState (line 99) | type ExecutionState = OpenVmExecutionState<'a, BabyBear, ISA>; method into_field (line 101) | fn into_field(e: Self::PowdrField) -> Self::Field { method from_field (line 107) | fn from_field(e: Self::Field) -> Self::PowdrField { method apc_stats (line 111) | fn apc_stats( method is_allowed (line 136) | fn is_allowed(instruction: &Self::Instruction) -> bool { method is_branching (line 140) | fn is_branching(instruction: &Self::Instruction) -> bool { type Instr (line 146) | pub struct Instr { function from (line 152) | fn from(value: OpenVmInstruction) -> Self { method clone (line 165) | fn clone(&self) -> Self { method fmt (line 174) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method pc_step (line 180) | fn pc_step() -> u32 { function pc_lookup_row (line 186) | fn pc_lookup_row(&self, pc: u64) -> Vec { function customize (line 204) | pub fn customize<'a, ISA: OpenVmISA, P: PgoAdapter Self { type OpenVmApcCandidate (line 316) | pub struct OpenVmApcCandidate( function create (line 323) | fn create(apc_with_stats: AdapterApcWithStats &AdapterApcWithStats AdapterApcWithStats usize { function cost_after_opt (line 339) | fn cost_after_opt(&self) -> usize { function value_per_use (line 343) | fn value_per_use(&self) -> usize { FILE: openvm/src/empirical_constraints.rs type Timestamp (line 31) | struct Timestamp { type Row (line 39) | struct Row { type Trace (line 50) | struct Trace { method rows_by_pc (line 57) | fn rows_by_pc(&self) -> BTreeMap> { method rows_sorted_by_time (line 65) | fn rows_sorted_by_time(&self) -> impl Iterator { method take (line 69) | fn take(&mut self) -> Self { function detect_empirical_constraints (line 76) | pub fn detect_empirical_constraints( function detect_empirical_constraints_from_input (line 109) | fn detect_empirical_constraints_from_input( function take_complete_blocks (line 234) | fn take_complete_blocks(constraint_detector: &ConstraintDetector, trace:... type ConstraintDetector (line 260) | struct ConstraintDetector { method new (line 293) | pub fn new(block_instruction_counts: HashMap) -> Self { method is_basic_block_start (line 300) | pub fn is_basic_block_start(&self, pc: u64) -> bool { method finalize (line 304) | pub fn finalize(self) -> EmpiricalConstraints { method process_trace (line 308) | pub fn process_trace(&mut self, trace: Trace, debug_info: DebugInfo) { method detect_column_ranges_by_pc (line 331) | fn detect_column_ranges_by_pc(&self, trace: Trace) -> BTreeMap Vec<(u32, u32)> { method generate_equivalence_classes_by_block (line 361) | fn generate_equivalence_classes_by_block( method get_blocks (line 401) | fn get_blocks<'a>(&self, trace: &'a Trace) -> BTreeMap { function equivalence_classes (line 273) | fn equivalence_classes(&self) -> Partition { function make_trace (line 438) | fn make_trace(rows_by_time_with_pc: Vec<(u32, Vec)>) -> Trace { function test_constraint_detector (line 456) | fn test_constraint_detector() { FILE: openvm/src/extraction_utils.rs constant EXT_DEGREE (line 46) | const EXT_DEGREE: usize = 4; type OriginalAirs (line 49) | pub struct OriginalAirs { type Field (line 61) | type Field = F; type Instruction (line 62) | type Instruction = Instr; type AirId (line 63) | type AirId = String; method get_instruction_air_and_id (line 65) | fn get_instruction_air_and_id( method get_instruction_air_stats (line 78) | fn get_instruction_air_stats(&self, instruction: &Self::Instruction) -> ... method degree_bound (line 84) | fn degree_bound(&self) -> DegreeBound { function insert_opcode (line 90) | pub fn insert_opcode( function get_instruction_metrics (line 112) | pub fn get_instruction_metrics(&self, opcode: VmOpcode) -> Option<&AirMe... function allow_list (line 120) | pub fn allow_list(&self) -> Vec { function airs_by_name (line 124) | pub fn airs_by_name(&self) -> impl Iterator Self { function get_air_machine (line 139) | pub fn get_air_machine(&self, air_name: &str) -> Option<&SymbolicMachine... function record_arena_dimension_by_air_name_per_apc_call (line 146) | pub fn record_arena_dimension_by_air_name_per_apc_call( type ChipComplex (line 178) | type ChipComplex = OriginalCpuChipComplex; type LazyChipComplex (line 180) | type LazyChipComplex = Option; type CachedChipComplex (line 181) | type CachedChipComplex = Arc>; type ChipComplexGuard (line 183) | pub struct ChipComplexGuard<'a> { type Target (line 188) | type Target = ChipComplex; method deref (line 190) | fn deref(&self) -> &Self::Target { type OriginalVmConfig (line 198) | pub struct OriginalVmConfig { function create_airs (line 205) | fn create_airs(&self) -> Result, AirInventoryEr... type Executor (line 211) | type Executor = >::Executor; function create_executors (line 213) | fn create_executors( function as_ref (line 221) | fn as_ref(&self) -> &SystemConfig { function as_mut (line 227) | fn as_mut(&mut self) -> &mut SystemConfig { function new (line 233) | pub fn new(config: ISA::Config) -> Self { function config (line 240) | pub fn config(&self) -> &ISA::Config { function config_mut (line 244) | pub fn config_mut(&mut self) -> &mut ISA::Config { function chip_complex (line 250) | pub fn chip_complex(&self) -> ChipComplexGuard<'_> { function airs (line 266) | pub fn airs( function bus_map (line 324) | pub fn bus_map(&self) -> BusMap { function chip_inventory_air_metrics (line 382) | pub fn chip_inventory_air_metrics(&self, max_degree: usize) -> HashMap>) -> Vec> { function get_name (line 410) | pub fn get_name(air: Arc>) -> Str... function get_constraints (line 414) | pub fn get_constraints( function get_air_metrics (line 421) | pub fn get_air_metrics(air: Arc>, max_degree: usi... function symbolic_builder_with_degree (line 449) | pub fn symbolic_builder_with_degree( type AirWidths (line 461) | pub struct AirWidths { method sum (line 490) | fn sum>(iter: I) -> AirWidths { method total (line 496) | pub fn total(&self) -> usize { method fmt (line 502) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Output (line 468) | type Output = AirWidths; method add (line 469) | fn add(self, rhs: AirWidths) -> AirWidths { type Output (line 479) | type Output = AirWidths; method sub (line 480) | fn sub(self, rhs: AirWidths) -> AirWidths { type AirWidthsDiff (line 515) | pub struct AirWidthsDiff { method new (line 521) | pub fn new(before: AirWidths, after: AirWidths) -> Self { method columns_saved (line 525) | pub fn columns_saved(&self) -> AirWidths { method sum (line 542) | fn sum>(iter: I) -> AirWidthsDiff { type Output (line 531) | type Output = AirWidthsDiff; method add (line 533) | fn add(self, rhs: AirWidthsDiff) -> AirWidthsDiff { FILE: openvm/src/isa.rs type OriginalCpuChipComplex (line 29) | pub type OriginalCpuChipComplex = VmChipComplex< type OriginalCpuChipInventory (line 35) | pub type OriginalCpuChipInventory = type OriginalGpuChipComplex (line 39) | pub type OriginalGpuChipComplex = type OriginalGpuChipInventory (line 42) | pub type OriginalGpuChipInventory = ChipInventory = Arc>( method create_original_chip_complex (line 88) | fn create_original_chip_complex( method create_dummy_chip_complex_cpu (line 93) | fn create_dummy_chip_complex_cpu( method create_dummy_chip_complex_gpu (line 100) | fn create_dummy_chip_complex_gpu( method branching_opcodes (line 107) | fn branching_opcodes() -> HashSet; method allowed_opcodes (line 110) | fn allowed_opcodes() -> HashSet; method format (line 113) | fn format(instruction: &Instruction) -> String; method get_symbol_table (line 115) | fn get_symbol_table<'a>(program: &Self::LinkedProgram<'a>) -> SymbolTa... method get_jump_destinations (line 118) | fn get_jump_destinations(original_program: &OriginalCompiledProgram = type PowdrExecutionProfileSdkCpu (line 99) | pub type PowdrExecutionProfileSdkCpu = constant DEFAULT_OPENVM_DEGREE_BOUND (line 102) | pub const DEFAULT_OPENVM_DEGREE_BOUND: usize = 2 * DEFAULT_APP_LOG_BLOWU... constant DEFAULT_DEGREE_BOUND (line 103) | pub const DEFAULT_DEGREE_BOUND: DegreeBound = DegreeBound { function default_powdr_openvm_config (line 108) | pub fn default_powdr_openvm_config(apc: u64, skip: u64) -> PowdrConfig { function format_fe (line 112) | pub fn format_fe(v: F) -> String { type SpecializedConfig (line 133) | pub struct SpecializedConfig { type SpecializedConfigGpuBuilder (line 140) | pub struct SpecializedConfigGpuBuilder { type VmConfig (line 146) | type VmConfig = SpecializedConfig; type SystemChipInventory (line 147) | type SystemChipInventory = SystemChipInventoryGPU; type RecordArena (line 148) | type RecordArena = DenseRecordArena; function create_chip_complex (line 150) | fn create_chip_complex( type SpecializedConfigCpuBuilder (line 174) | pub struct SpecializedConfigCpuBuilder { type VmConfig (line 188) | type VmConfig = SpecializedConfig; type SystemChipInventory (line 189) | type SystemChipInventory = SystemChipInventory; type RecordArena (line 190) | type RecordArena = MatrixRecordArena>; function create_chip_complex (line 192) | fn create_chip_complex( type PowdrGpuProverExt (line 217) | struct PowdrGpuProverExt { function extend_prover (line 226) | fn extend_prover( type PeripheryBusIds (line 274) | pub struct PeripheryBusIds { type PowdrCpuProverExt (line 281) | pub struct PowdrCpuProverExt { function extend_prover (line 291) | fn extend_prover( function get_periphery_bus_ids (line 339) | fn get_periphery_bus_ids(inventory: &ChipInventory Transpiler { method generate_init_file_contents (line 376) | fn generate_init_file_contents(&self) -> Option { method write_to_init_file (line 380) | fn write_to_init_file( function as_ref (line 392) | fn as_ref(&self) -> &SystemConfig { function as_mut (line 398) | fn as_mut(&mut self) -> &mut SystemConfig { type SpecializedExecutor (line 407) | pub enum SpecializedExecutor { function from (line 418) | fn from(value: PowdrExtensionExecutor) -> Self { function create_airs (line 426) | fn create_airs(&self) -> Result, AirInventoryEr... type Executor (line 435) | type Executor = SpecializedExecutor; function create_executors (line 437) | fn create_executors( function new (line 447) | pub fn new( type AirMetrics (line 463) | pub struct AirMetrics { method sum (line 492) | fn sum>(iter: I) -> AirMetrics { method total_width (line 498) | pub fn total_width(&self) -> usize { method from (line 470) | fn from(metrics: AirMetrics) -> Self { type Output (line 480) | type Output = AirMetrics; method add (line 482) | fn add(self, rhs: AirMetrics) -> AirMetrics { function air_metrics (line 505) | pub fn air_metrics( function execute (line 552) | pub fn execute( function execution_profile_from_guest (line 577) | pub fn execution_profile_from_guest( FILE: openvm/src/powdr_extension/chip.rs type PowdrChipCpu (line 34) | pub struct PowdrChipCpu { function new (line 41) | pub(crate) fn new( type PowdrAir (line 64) | pub struct PowdrAir { function columns (line 71) | fn columns(&self) -> Option> { function new (line 77) | pub fn new(machine: SymbolicMachine) -> Self { function width (line 86) | fn width(&self) -> usize { function eval (line 100) | fn eval(&self, builder: &mut AB) { type PowdrChipGpu (line 152) | pub struct PowdrChipGpu { function new (line 159) | pub(crate) fn new( FILE: openvm/src/powdr_extension/executor/mod.rs type PowdrExecutor (line 46) | pub struct PowdrExecutor { type OriginalArenas (line 64) | pub enum OriginalArenas { function ensure_initialized (line 73) | fn ensure_initialized( type InitializedOriginalArenas (line 100) | pub struct InitializedOriginalArenas { function new (line 108) | pub fn new( function arena_mut_by_index (line 148) | fn arena_mut_by_index(&mut self, index: usize) -> &mut ArenaPair { function real_arena_mut_by_index (line 156) | fn real_arena_mut_by_index(&mut self, index: usize) -> &mut A { function dummy_arena_mut_by_index (line 161) | fn dummy_arena_mut_by_index(&mut self, index: usize) -> &mut A { function take_real_arena (line 165) | pub fn take_real_arena(&mut self, air_name: &str) -> Option { type ArenaPair (line 171) | pub struct ArenaPair { type RecordArenaDimension (line 177) | pub struct RecordArenaDimension { type CachedInstructionMeta (line 184) | struct CachedInstructionMeta { type PowdrPreCompute (line 193) | struct PowdrPreCompute { function pre_compute_size (line 200) | fn pre_compute_size(&self) -> usize { function pre_compute (line 207) | fn pre_compute( function handler (line 224) | fn handler( function metered_pre_compute_size (line 240) | fn metered_pre_compute_size(&self) -> usize { function metered_pre_compute (line 247) | fn metered_pre_compute( function metered_handler (line 266) | fn metered_handler( function is_aot_supported (line 287) | fn is_aot_supported(&self, _inst: &Instruction) -> bool { function generate_x86_asm (line 291) | fn generate_x86_asm( function is_aot_metered_supported (line 302) | fn is_aot_metered_supported(&self, _inst: &Instruction) -> bool { function generate_x86_metered_asm (line 306) | fn generate_x86_metered_asm( function pre_compute_impl (line 321) | fn pre_compute_impl( function pre_compute_impl (line 392) | fn pre_compute_impl( function execute_e12_impl (line 404) | unsafe fn execute_e12_impl String { function execute (line 534) | fn execute( function get_opcode_name (line 601) | fn get_opcode_name(&self, opcode: usize) -> String { function new (line 607) | pub fn new( FILE: openvm/src/powdr_extension/opcode.rs type PowdrOpcode (line 5) | pub struct PowdrOpcode { constant CLASS_OFFSET (line 12) | const CLASS_OFFSET: usize = unreachable!(); method from_usize (line 14) | fn from_usize(value: usize) -> Self { method local_usize (line 21) | fn local_usize(&self) -> usize { method global_opcode (line 26) | fn global_opcode(&self) -> openvm_instructions::VmOpcode { FILE: openvm/src/powdr_extension/trace_generator/common.rs type DummyExecutor (line 11) | pub enum DummyExecutor { type SharedExecutor (line 19) | pub enum SharedExecutor { FILE: openvm/src/powdr_extension/trace_generator/cpu/inventory.rs type DummyChipComplex (line 9) | pub type DummyChipComplex = FILE: openvm/src/powdr_extension/trace_generator/cpu/mod.rs type SharedCpuTrace (line 33) | pub struct SharedCpuTrace { type Values (line 38) | type Values = Vec; function width (line 40) | fn width(&self) -> usize { function values (line 44) | fn values(&self) -> &Self::Values { function from (line 50) | fn from(matrix: Arc>) -> Self { function generate_proving_ctx (line 58) | fn generate_proving_ctx(&self, _: R) -> AirProvingContext { type PowdrTraceGeneratorCpu (line 69) | pub struct PowdrTraceGeneratorCpu { function new (line 77) | pub fn new( function generate_witness (line 91) | pub fn generate_witness( FILE: openvm/src/powdr_extension/trace_generator/cpu/periphery.rs type PowdrPeripheryInstancesCpu (line 27) | pub struct PowdrPeripheryInstancesCpu { type SharedPeripheryChipsCpu (line 37) | pub struct SharedPeripheryChipsCpu { function new (line 45) | pub fn new( type Executor (line 81) | type Executor = DummyExecutor; function extend_execution (line 83) | fn extend_execution( function extend_circuit (line 95) | fn extend_circuit(&self, inventory: &mut AirInventory) -> Result<(),... type SharedPeripheryChipsCpuProverExt (line 127) | pub struct SharedPeripheryChipsCpuProverExt; method extend_prover (line 140) | fn extend_prover( function apply (line 175) | pub fn apply( FILE: openvm/src/powdr_extension/trace_generator/cuda/inventory.rs type GpuDummyChipComplex (line 7) | pub type GpuDummyChipComplex = FILE: openvm/src/powdr_extension/trace_generator/cuda/mod.rs function emit_expr (line 49) | fn emit_expr( function emit_expr_span (line 84) | fn emit_expr_span( function compile_derived_to_gpu (line 100) | fn compile_derived_to_gpu( function compile_bus_to_gpu (line 143) | pub fn compile_bus_to_gpu( type PowdrTraceGeneratorGpu (line 179) | pub struct PowdrTraceGeneratorGpu { function new (line 187) | pub fn new( function try_generate_witness (line 201) | fn try_generate_witness( function generate_proving_ctx (line 400) | fn generate_proving_ctx(&self, _: R) -> AirProvingContext { FILE: openvm/src/powdr_extension/trace_generator/cuda/periphery.rs type PowdrPeripheryInstancesGpu (line 25) | pub struct PowdrPeripheryInstancesGpu { type SharedPeripheryChipsGpu (line 35) | pub struct SharedPeripheryChipsGpu { function new (line 43) | pub fn new( type Executor (line 88) | type Executor = DummyExecutor; function extend_execution (line 90) | fn extend_execution( function extend_circuit (line 102) | fn extend_circuit(&self, inventory: &mut AirInventory) -> Result<(),... type SharedPeripheryChipsGpuProverExt (line 148) | pub struct SharedPeripheryChipsGpuProverExt; method extend_prover (line 154) | fn extend_prover( FILE: openvm/src/powdr_extension/vm.rs type PowdrExtension (line 33) | pub struct PowdrExtension { type PowdrPrecompile (line 42) | pub struct PowdrPrecompile { function new (line 54) | pub fn new( function new (line 73) | pub fn new( type PowdrExtensionExecutor (line 90) | pub enum PowdrExtensionExecutor { type Executor (line 95) | type Executor = PowdrExtensionExecutor; function extend_execution (line 97) | fn extend_execution( function extend_circuit (line 125) | fn extend_circuit(&self, inventory: &mut AirInventory) -> Result<(),... function as_any_kind (line 135) | fn as_any_kind(&self) -> &dyn std::any::Any { function as_any_kind_mut (line 141) | fn as_any_kind_mut(&mut self) -> &mut dyn std::any::Any { function pre_compute_size (line 151) | fn pre_compute_size(&self) -> usize { function pre_compute (line 158) | fn pre_compute( function handler (line 176) | fn handler( function metered_pre_compute_size (line 197) | fn metered_pre_compute_size(&self) -> usize { function metered_pre_compute (line 204) | fn metered_pre_compute( function metered_handler (line 223) | fn metered_handler( function is_aot_supported (line 247) | fn is_aot_supported(&self, inst: &Instruction) -> bool { function generate_x86_asm (line 253) | fn generate_x86_asm( function is_aot_metered_supported (line 270) | fn is_aot_metered_supported(&self, inst: &Instruction) -> bool { function generate_x86_metered_asm (line 276) | fn generate_x86_metered_asm( function execute (line 294) | fn execute( function get_opcode_name (line 308) | fn get_opcode_name(&self, opcode: usize) -> String { FILE: openvm/src/program.rs type CompiledProgram (line 17) | pub struct CompiledProgram { type OriginalCompiledProgram (line 23) | pub struct OriginalCompiledProgram<'a, ISA: OpenVmISA> { function new (line 30) | pub fn new( function collect_basic_blocks (line 43) | pub fn collect_basic_blocks(&self) -> Vec CompiledPro... type Prog (line 62) | pub struct Prog<'a, F>(&'a OpenVmProgram); function from (line 65) | fn from(program: &'a OpenVmProgram) -> Self { function base_pc (line 71) | fn base_pc(&self) -> u64 { function instructions (line 75) | fn instructions(&self) -> Box> + '_> { function length (line 84) | fn length(&self) -> u32 { FILE: openvm/src/test_utils.rs function compile_apc (line 22) | pub fn compile_apc( function assert_apc_snapshot (line 76) | pub fn assert_apc_snapshot( function assert_apc_machine_output (line 120) | pub fn assert_apc_machine_output( FILE: openvm/src/trace_generation.rs function do_with_trace (line 43) | pub fn do_with_trace( function do_with_cpu_trace (line 60) | pub fn do_with_cpu_trace( function do_with_trace_with_sdk (line 76) | fn do_with_trace_with_sdk( function create_app_config (line 148) | fn create_app_config( FILE: openvm/src/utils.rs type OpenVmReference (line 22) | pub enum OpenVmReference { method fmt (line 31) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type UnsupportedOpenVmReferenceError (line 46) | pub struct UnsupportedOpenVmReferenceError; type Error (line 49) | type Error = UnsupportedOpenVmReferenceError; method try_from (line 51) | fn try_from(value: OpenVmReference) -> Result { function symbolic_to_algebraic (line 59) | pub fn symbolic_to_algebraic( function openvm_bus_interaction_to_powdr (line 106) | pub fn openvm_bus_interaction_to_powdr( function get_pil (line 122) | pub fn get_pil( function format_bus_interaction (line 203) | fn format_bus_interaction( function format_expr (line 226) | fn format_expr( FILE: riscv-elf/src/bin/elf-labels.rs function main (line 14) | fn main() { function print_elf_info_32 (line 92) | fn print_elf_info_32(program: &powdr_riscv_elf::ElfProgram) { function print_elf_info_64 (line 157) | fn print_elf_info_64(labels: &rv64::Rv64Labels) { FILE: riscv-elf/src/debug_info.rs type Reader (line 19) | type Reader<'a> = EndianSlice<'a, LittleEndian>; type Error (line 22) | pub enum Error { type DebugInfo (line 33) | pub struct DebugInfo { method new (line 54) | pub fn new( type SourceLocationInfo (line 45) | pub struct SourceLocationInfo { function read_source_locations (line 119) | fn read_source_locations( function read_unit_symbols (line 182) | fn read_unit_symbols( function load_dwarf_sections (line 286) | fn load_dwarf_sections<'a>(elf: &Elf, file_buffer: &'a [u8]) -> Result( function as_str (line 338) | fn as_str<'a>( function get_static_var_address (line 345) | fn get_static_var_address( function get_function_start (line 371) | fn get_function_start( function filter_locations_in_text (line 401) | fn filter_locations_in_text(locations: &mut Vec, add... function find_first_idx (line 416) | fn find_first_idx(slice: &[SourceLocationInfo], addr: u32) -> usize { type SymbolTable (line 430) | pub struct SymbolTable(BTreeMap>); method new (line 433) | pub fn new(elf: &Elf) -> SymbolTable { method default_label (line 448) | fn default_label(addr: u32) -> Cow<'static, str> { method try_get_one (line 453) | pub fn try_get_one(&self, addr: u32) -> Option<&str> { method get_one (line 460) | pub fn get_one(&self, addr: u32) -> Cow<'_, str> { method get_all (line 468) | pub fn get_all(&self, addr: u32) -> impl Iterator> { method table (line 483) | pub fn table(&self) -> &BTreeMap> { method try_get_one_or_preceding (line 489) | pub fn try_get_one_or_preceding(&self, addr: u64) -> Option<(&str, u32... method into_table (line 498) | pub fn into_table(self) -> BTreeMap> { method from_table (line 502) | pub fn from_table(table: BTreeMap>) -> Self { function read_symbol_table (line 507) | fn read_symbol_table(elf: &Elf) -> Vec<(String, u32)> { function dedup_names (line 524) | fn dedup_names(symbols: &mut Vec<(String, u32)>) { function dedup_names_pass (line 532) | fn dedup_names_pass(symbols: &mut Vec<(String, u32)>) -> bool { function dedup_names (line 571) | fn dedup_names() { FILE: riscv-elf/src/lib.rs constant PT_POWDR_PROVER_DATA (line 34) | pub const PT_POWDR_PROVER_DATA: u32 = 0x600000da; type ElfProgram (line 36) | pub struct ElfProgram { method debug_info (line 279) | pub fn debug_info(&self) -> &DebugInfo { method text_labels (line 283) | pub fn text_labels(&self) -> &BTreeSet { function load_elf (line 45) | pub fn load_elf(file_name: &Path) -> ElfProgram { function load_elf_from_buffer (line 51) | pub fn load_elf_from_buffer(file_buffer: &[u8]) -> ElfProgram { function pie_relocate_data_sections (line 211) | fn pie_relocate_data_sections( function static_relocate_data_sections (line 243) | fn static_relocate_data_sections( method take_source_files_info (line 289) | fn take_source_files_info(&mut self) -> impl Iterator impl Iterator { method take_executable_statements (line 327) | fn take_executable_statements( method prover_data_bounds (line 393) | fn prover_data_bounds(&self) -> (u32, u32) { method start_function (line 397) | fn start_function(&self) -> impl AsRef { type WrappedArgs (line 404) | struct WrappedArgs<'a> { type Error (line 410) | type Error = String; method l (line 412) | fn l(&self) -> Result, Self::Error> { method r (line 424) | fn r(&self) -> Result { method rri (line 436) | fn rri(&self) -> Result<(Register, Register, u32), Self::Error> { method rrr (line 452) | fn rrr(&self) -> Result<(Register, Register, Register), Self::Error> { method rrr2 (line 468) | fn rrr2(&self) -> Result<(Register, Register, Register), Self::Error> { method ri (line 484) | fn ri(&self) -> Result<(Register, u32), Self::Error> { method rr (line 496) | fn rr(&self) -> Result<(Register, Register), Self::Error> { method rrl (line 508) | fn rrl( method rl (line 526) | fn rl(&self) -> Result<(Register, impl AsRef), Self::Error> { method rro (line 550) | fn rro(&self) -> Result<(Register, Register, u32), Self::Error> { method empty (line 579) | fn empty(&self) -> Result<(), Self::Error> { type AddressMap (line 595) | pub struct AddressMap<'a>(BTreeMap); function is_in_data_section (line 598) | fn is_in_data_section(&self, addr: u32) -> bool { function is_in_text_section (line 603) | fn is_in_text_section(&self, addr: u32) -> bool { function get_section_of_addr (line 608) | fn get_section_of_addr(&self, addr: u32) -> Option<&ProgramHeader> { type Data (line 626) | enum Data { function load_data_section (line 631) | fn load_data_section(mut addr: u32, data: &[u8], data_map: &mut BTreeMap... type UnimpOrInstruction (line 647) | enum UnimpOrInstruction { method len (line 654) | fn len(&self) -> u32 { type MaybeInstruction (line 666) | struct MaybeInstruction { type HighLevelImmediate (line 672) | enum HighLevelImmediate { type HighLevelArgs (line 679) | struct HighLevelArgs { method default (line 688) | fn default() -> Self { type Location (line 699) | struct Location { type HighLevelInsn (line 705) | struct HighLevelInsn { type ReadOrWrite (line 711) | enum ReadOrWrite<'a, T> { type InstructionLifter (line 716) | struct InstructionLifter<'a> { function composed_immediate (line 723) | fn composed_immediate( function try_map_two (line 773) | fn try_map_two( function map_one (line 970) | fn map_one(&mut self, insn: MaybeInstruction) -> HighLevelInsn { function search_text_addrs (line 1054) | fn search_text_addrs( function lift_instructions (line 1075) | fn lift_instructions( type RiscVInstructionIterator (line 1092) | struct RiscVInstructionIterator<'a> { function new (line 1098) | fn new(base_addr: u32, data: &[u8]) -> RiscVInstructionIterator<'_> { type Item (line 1107) | type Item = MaybeInstruction; method next (line 1109) | fn next(&mut self) -> Option { function to_32bit_equivalent (line 1191) | fn to_32bit_equivalent(mut insn: Ins) -> Ins { type TwoOrOneMapper (line 1318) | trait TwoOrOneMapper { method try_map_two (line 1320) | fn try_map_two(&mut self, first: &E, second: &E) -> Option; method map_one (line 1322) | fn map_one(&mut self, element: E) -> R; function try_map_two_by_two (line 1329) | fn try_map_two_by_two( FILE: riscv-elf/src/rv64.rs type JumpDest (line 13) | pub struct JumpDest { type Rv64Labels (line 21) | pub struct Rv64Labels { function compute_jumpdests (line 34) | pub fn compute_jumpdests(file_name: &Path) -> Rv64Labels { function compute_jumpdests_from_buffer (line 40) | pub fn compute_jumpdests_from_buffer(file_buffer: &[u8]) -> Rv64Labels { function scan_for_jump_targets (line 119) | fn scan_for_jump_targets( FILE: riscv-types/src/lib.rs type Register (line 5) | pub struct Register { method new (line 10) | pub fn new(value: u8) -> Self { method is_zero (line 14) | pub fn is_zero(&self) -> bool { method addr (line 18) | pub fn addr(&self) -> u8 { method fmt (line 69) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 75) | fn from(s: &str) -> Self { constant REGISTER_NAMES (line 25) | pub const REGISTER_NAMES: [&str; 3] = ["main::query_arg_1", "main::query... constant REGISTER_MEMORY_NAMES (line 28) | pub const REGISTER_MEMORY_NAMES: [&str; 37] = [ type Statement (line 84) | pub enum Statement<'a, L: AsRef, A: InstructionArgs> { type MemEntry (line 90) | pub struct MemEntry { type SourceFileInfo (line 96) | pub struct SourceFileInfo<'a> { type RiscVProgram (line 103) | pub trait RiscVProgram { method take_source_files_info (line 105) | fn take_source_files_info(&mut self) -> impl Iterator impl Iterator; method take_executable_statements (line 111) | fn take_executable_statements( method prover_data_bounds (line 116) | fn prover_data_bounds(&self) -> (u32, u32); method start_function (line 119) | fn start_function(&self) -> impl AsRef; type InstructionArgs (line 122) | pub trait InstructionArgs { method l (line 125) | fn l(&self) -> Result, Self::Error>; method r (line 126) | fn r(&self) -> Result; method rri (line 127) | fn rri(&self) -> Result<(Register, Register, u32), Self::Error>; method rrr (line 129) | fn rrr(&self) -> Result<(Register, Register, Register), Self::Error>; method rrr2 (line 131) | fn rrr2(&self) -> Result<(Register, Register, Register), Self::Error>; method ri (line 132) | fn ri(&self) -> Result<(Register, u32), Self::Error>; method rr (line 133) | fn rr(&self) -> Result<(Register, Register), Self::Error>; method rrl (line 134) | fn rrl(&self) -> Result<(Register, Register, impl AsRef), Self::E... method rl (line 135) | fn rl(&self) -> Result<(Register, impl AsRef), Self::Error>; method rro (line 136) | fn rro(&self) -> Result<(Register, Register, u32), Self::Error>; method empty (line 137) | fn empty(&self) -> Result<(), Self::Error>; FILE: scripts/analyze_nightly.py function is_apc_config (line 39) | def is_apc_config(config: str) -> bool: class BenchmarkResult (line 48) | class BenchmarkResult: class ComparisonResult (line 57) | class ComparisonResult: function fetch_url (line 69) | def fetch_url(url: str, headers: Optional[dict] = None) -> str: function get_results_directories (line 85) | def get_results_directories() -> list[str]: function fetch_benchmark_results (line 110) | def fetch_benchmark_results(run_dir: str, benchmark: str) -> Optional[Be... function compare_results (line 148) | def compare_results( function print_error_report (line 178) | def print_error_report(error_msg: str) -> None: function format_change_percent (line 187) | def format_change_percent(change: float) -> str: function format_report (line 197) | def format_report( function main (line 254) | def main():