Skip to content

Commit 9ec4482

Browse files
authored
air: small touchups (#165)
1 parent fe5c5ee commit 9ec4482

File tree

5 files changed

+11
-12
lines changed

5 files changed

+11
-12
lines changed

circuit-prover/src/air/const_air.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ impl<F: Field, const D: usize> ConstAir<F, D> {
6969
"extension degree mismatch for ConstTrace value"
7070
);
7171
values.extend_from_slice(coeffs);
72-
values.push(F::from_u64(trace.index[i].0 as u64));
72+
values.push(F::from_u32(trace.index[i].0));
7373
}
7474

7575
// Pad to power of two by repeating last row

circuit-prover/src/air/mul_air.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ pub struct MulAir<F, const D: usize = 1> {
7070
}
7171

7272
impl<F: Field + PrimeCharacteristicRing, const D: usize> MulAir<F, D> {
73-
/// Number of base-field columns contributed by a single multiplication lane.
74-
pub const LANE_WIDTH: usize = 3 * D + 3;
75-
7673
/// Constructor for base-field or non-binomial cases (`D == 1`).
7774
pub const fn new(num_ops: usize, lanes: usize) -> Self {
7875
assert!(lanes > 0, "lane count must be non-zero");
@@ -97,8 +94,9 @@ impl<F: Field + PrimeCharacteristicRing, const D: usize> MulAir<F, D> {
9794
}
9895
}
9996

97+
/// Number of base-field columns contributed by a single multiplication lane.
10098
pub const fn lane_width() -> usize {
101-
Self::LANE_WIDTH
99+
3 * D + 3
102100
}
103101

104102
pub fn total_width(&self) -> usize {
@@ -128,13 +126,13 @@ impl<F: Field + PrimeCharacteristicRing, const D: usize> MulAir<F, D> {
128126
let lhs_coeffs = trace.lhs_values[op_idx].as_basis_coefficients_slice();
129127
assert_eq!(lhs_coeffs.len(), D, "Extension degree mismatch for lhs");
130128
values.extend_from_slice(lhs_coeffs);
131-
values.push(F::from_u64(trace.lhs_index[op_idx].0 as u64));
129+
values.push(F::from_u32(trace.lhs_index[op_idx].0));
132130

133131
// RHS limbs + index
134132
let rhs_coeffs = trace.rhs_values[op_idx].as_basis_coefficients_slice();
135133
assert_eq!(rhs_coeffs.len(), D, "Extension degree mismatch for rhs");
136134
values.extend_from_slice(rhs_coeffs);
137-
values.push(F::from_u64(trace.rhs_index[op_idx].0 as u64));
135+
values.push(F::from_u32(trace.rhs_index[op_idx].0));
138136

139137
// Result limbs + index
140138
let result_coeffs = trace.result_values[op_idx].as_basis_coefficients_slice();
@@ -144,7 +142,7 @@ impl<F: Field + PrimeCharacteristicRing, const D: usize> MulAir<F, D> {
144142
"Extension degree mismatch for result",
145143
);
146144
values.extend_from_slice(result_coeffs);
147-
values.push(F::from_u64(trace.result_index[op_idx].0 as u64));
145+
values.push(F::from_u32(trace.result_index[op_idx].0));
148146
} else {
149147
// Filler lane: append zeros for unused slot to keep the row width uniform.
150148
values.resize(values.len() + lane_width, F::ZERO);

circuit-prover/src/air/public_air.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ impl<F: Field, const D: usize> PublicAir<F, D> {
6262
"extension degree mismatch for PublicTrace value"
6363
);
6464
values.extend_from_slice(coeffs);
65-
values.push(F::from_u64(trace.index[i].0 as u64));
65+
values.push(F::from_u32(trace.index[i].0));
6666
}
6767

6868
// Pad to power of two by repeating last row

circuit-prover/src/air/utils.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
/// Shared utilities for AIR implementations
1+
//! Shared utilities for AIR implementations.
2+
23
use alloc::vec::Vec;
34

45
use p3_field::Field;

circuit-prover/src/air/witness_air.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ impl<F: Field, const D: usize> WitnessAir<F, D> {
7272
"Extension field degree mismatch for witness value"
7373
);
7474
values.extend_from_slice(coeffs);
75-
values.push(F::from_u64(trace.index[i].0 as u64));
75+
values.push(F::from_u32(trace.index[i].0));
7676
}
7777

7878
// Pad to power of two with monotonic index continuation
@@ -110,7 +110,7 @@ where
110110
let nxt = main.row_slice(1).expect("has next row");
111111
let idx_cur = cur[D].clone();
112112
let idx_next = nxt[D].clone();
113-
b.assert_zero(idx_next - idx_cur - AB::Expr::from(AB::F::ONE));
113+
b.assert_zero(idx_next - idx_cur - AB::Expr::ONE);
114114
}
115115
}
116116
}

0 commit comments

Comments
 (0)