Skip to content

Commit 8303031

Browse files
poly/kzg: minor performance and naming improvement (#4)
1 parent b9aba24 commit 8303031

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/poly/kzg/mod.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,27 +260,30 @@ where
260260
.fold(E::Fr::ZERO, |acc_eval, ((points, evals), proof_eval)| {
261261
let r_poly = lagrange_interpolate(points, evals);
262262
let r_eval = eval_polynomial(&r_poly, x3);
263-
let eval = points.iter().fold(*proof_eval - &r_eval, |eval, point| {
264-
eval * &(x3 - point).invert().unwrap()
265-
});
263+
// eval = (proof_eval - r_eval) / prod_i (x3 - point_i)
264+
let den = points
265+
.iter()
266+
.fold(E::Fr::ONE, |acc, point| acc * &(x3 - point));
267+
let eval = (*proof_eval - &r_eval) * den.invert().unwrap();
266268
acc_eval * &(x2) + &eval
267269
});
268270

269271
let x4: E::Fr = transcript.squeeze_challenge();
270272

271273
let final_com = {
272-
let mut polys = q_coms;
274+
let mut coms = q_coms;
273275
let mut f_com_as_msm = MSMKZG::new();
276+
274277
f_com_as_msm.append_term(E::Fr::ONE, f_com);
275-
polys.push(f_com_as_msm);
278+
coms.push(f_com_as_msm);
276279

277280
#[cfg(feature = "truncated-challenges")]
278281
let powers = truncated_powers(x4);
279282

280283
#[cfg(not(feature = "truncated-challenges"))]
281284
let powers = powers(x4);
282285

283-
msm_inner_product(&polys, powers)
286+
msm_inner_product(&coms, powers)
284287
};
285288

286289
let v = {

0 commit comments

Comments
 (0)