MCPcopy Create free account
hub / github.com/PolyhedraZK/ExpanderCompilerCollection / new

Method new

expander_compiler/src/builder/basic.rs:136–151  ·  view source on GitHub ↗
(in_circuit_id: usize, in_circuit: &'a ir::common::Circuit<IrcIn>)

Source from the content-addressed store, hash-verified

134 Builder<'a, C, IrcIn, IrcOut>
135{
136 pub fn new(in_circuit_id: usize, in_circuit: &'a ir::common::Circuit<IrcIn>) -> Self {
137 let mut res: Builder<'a, C, IrcIn, IrcOut> = Builder {
138 in_circuit,
139 in_circuit_id,
140 constraints: HashMap::new(),
141 out_var_exprs: vec![Expression::default()],
142 mid_vars: Pool::new(),
143 mid_to_out: Vec::new(),
144 mid_expr_to_out: HashMap::new(),
145 in_to_out: vec![0],
146 out_insns: Vec::new(),
147 };
148 res.mid_vars.add(&Expression::invalid());
149 res.mid_to_out.push(None);
150 res
151 }
152
153 pub fn constant_value(&self, out_var_id: usize) -> Option<CircuitField<C>> {
154 self.out_var_exprs[out_var_id].constant_value()

Callers

nothing calls this directly

Calls 2

pushMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected