Skip to content

Commit 1196ce3

Browse files
committed
Inline intermediate polynomials
1 parent 01c1cc9 commit 1196ce3

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

executor/src/witgen/jit/processor.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -276,10 +276,10 @@ impl<'a, T: FieldElement> Processor<'a, T> {
276276
Identity::Connect(..) => Ok(vec![]),
277277
},
278278
QueueItem::VariableAssignment(assignment) => witgen.process_equation_on_row(
279-
assignment.lhs,
280-
Some(assignment.rhs.clone()),
281-
0.into(),
282-
assignment.row_offset,
279+
assignment.lhs,
280+
Some(assignment.rhs.clone()),
281+
0.into(),
282+
assignment.row_offset,
283283
),
284284
QueueItem::ConstantAssignment(assignment) => witgen.process_equation_on_row(
285285
assignment.lhs,

std/machines/large_field/arith.asm

+11-11
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ machine Arith with
138138
139139
let combine: expr[] -> expr[] = |x| array::new(array::len(x) / 2, |i| x[2 * i + 1] * 2**16 + x[2 * i]);
140140
// Intermediate polynomials, arrays of 8 columns, 32 bit per column.
141-
col x1c[8] = combine(x1);
142-
col y1c[8] = combine(y1);
143-
col x2c[8] = combine(x2);
144-
col y2c[8] = combine(y2);
145-
col x3c[8] = combine(x3);
146-
col y3c[8] = combine(y3);
141+
let x1c = combine(x1);
142+
let y1c = combine(y1);
143+
let x2c = combine(x2);
144+
let y2c = combine(y2);
145+
let x3c = combine(x3);
146+
let y3c = combine(y3);
147147

148148
let CLK32: col[32] = array::new(32, |i| |row| if row % 32 == i { 1 } else { 0 });
149149
let CLK32_31: expr = CLK32[31];
@@ -346,11 +346,11 @@ machine Arith with
346346
// TODO: To reduce the degree of the constraints, these intermediate columns should be materialized.
347347
// However, witgen doesn't work currently if we do, likely because for some operations, not all inputs are
348348
// available.
349-
col eq0_sum = sum(32, |i| eq0(i) * CLK32[i]);
350-
col eq1_sum = sum(32, |i| eq1(i) * CLK32[i]);
351-
col eq2_sum = sum(32, |i| eq2(i) * CLK32[i]);
352-
col eq3_sum = sum(32, |i| eq3(i) * CLK32[i]);
353-
col eq4_sum = sum(32, |i| eq4(i) * CLK32[i]);
349+
let eq0_sum = sum(32, |i| eq0(i) * CLK32[i]);
350+
let eq1_sum = sum(32, |i| eq1(i) * CLK32[i]);
351+
let eq2_sum = sum(32, |i| eq2(i) * CLK32[i]);
352+
let eq3_sum = sum(32, |i| eq3(i) * CLK32[i]);
353+
let eq4_sum = sum(32, |i| eq4(i) * CLK32[i]);
354354

355355
selEq[0] * (eq0_sum + carry[0]) = selEq[0] * carry[0]' * 2**16;
356356
selEq[1] * (eq1_sum + carry[0]) = selEq[1] * carry[0]' * 2**16;

std/machines/large_field/arith256_memory.asm

+11-11
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,12 @@ machine Arith256Memory(mem: Memory) with
286286

287287
let combine: expr[] -> expr[] = |x| array::new(array::len(x) / 2, |i| x[2 * i + 1] * 2**16 + x[2 * i]);
288288
// Intermediate polynomials, arrays of 8 columns, 32 bit per column.
289-
col x1c[8] = combine(x1);
290-
col y1c[8] = combine(y1);
291-
col x2c[8] = combine(x2);
292-
col y2c[8] = combine(y2);
293-
col x3c[8] = combine(x3);
294-
col y3c[8] = combine(y3);
289+
let x1c = combine(x1);
290+
let y1c = combine(y1);
291+
let x2c = combine(x2);
292+
let y2c = combine(y2);
293+
let x3c = combine(x3);
294+
let y3c = combine(y3);
295295

296296
let CLK32: col[32] = array::new(32, |i| |row| if row % 32 == i { 1 } else { 0 });
297297
let CLK32_31: expr = CLK32[31];
@@ -501,11 +501,11 @@ machine Arith256Memory(mem: Memory) with
501501
// TODO: To reduce the degree of the constraints, these intermediate columns should be materialized.
502502
// However, witgen doesn't work currently if we do, likely because for some operations, not all inputs are
503503
// available.
504-
col eq0_sum = sum(32, |i| eq0(i) * CLK32[i]);
505-
col eq1_sum = sum(32, |i| eq1(i) * CLK32[i]);
506-
col eq2_sum = sum(32, |i| eq2(i) * CLK32[i]);
507-
col eq3_sum = sum(32, |i| eq3(i) * CLK32[i]);
508-
col eq4_sum = sum(32, |i| eq4(i) * CLK32[i]);
504+
let eq0_sum = sum(32, |i| eq0(i) * CLK32[i]);
505+
let eq1_sum = sum(32, |i| eq1(i) * CLK32[i]);
506+
let eq2_sum = sum(32, |i| eq2(i) * CLK32[i]);
507+
let eq3_sum = sum(32, |i| eq3(i) * CLK32[i]);
508+
let eq4_sum = sum(32, |i| eq4(i) * CLK32[i]);
509509

510510
selEq[0] * (eq0_sum + carry[0]) = selEq[0] * carry[0]' * 2**16;
511511
selEq[1] * (eq1_sum + carry[0]) = selEq[1] * carry[0]' * 2**16;

0 commit comments

Comments
 (0)