From 2f7b46ffa1626b22fd0ea0ff2a90896a7843e16a Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Wed, 14 Oct 2020 08:16:14 +0800 Subject: [PATCH] Remove use of parallelize() from multiopen::prover --- src/poly/multiopen/prover.rs | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/poly/multiopen/prover.rs b/src/poly/multiopen/prover.rs index fbc6c0d8..654dbd1c 100644 --- a/src/poly/multiopen/prover.rs +++ b/src/poly/multiopen/prover.rs @@ -5,8 +5,8 @@ use super::super::{ use super::{Proof, ProverQuery}; use crate::arithmetic::{ - eval_polynomial, get_challenge_scalar, kate_division, lagrange_interpolate, parallelize, - Challenge, Curve, CurveAffine, Field, + eval_polynomial, get_challenge_scalar, kate_division, lagrange_interpolate, Challenge, Curve, + CurveAffine, Field, }; use crate::plonk::hash_point; use crate::transcript::Hasher; @@ -53,20 +53,11 @@ impl Proof { new_poly: &Polynomial, blind: Blind, evals: Vec| { - q_polys[set_idx] - .as_mut() - .map(|poly| { - parallelize(poly, |q, start| { - for (q, a) in q.iter_mut().zip(new_poly[start..].iter()) { - *q *= &x_4; - *q += a; - } - }); - }) - .or_else(|| { - q_polys[set_idx] = Some(new_poly.clone()); - Some(()) - }); + if let Some(poly) = &q_polys[set_idx] { + q_polys[set_idx] = Some(poly.clone() * x_4 + new_poly); + } else { + q_polys[set_idx] = Some(new_poly.clone()); + } q_blinds[set_idx] *= x_4; q_blinds[set_idx] += blind; // Each polynomial is evaluated at a set of points. For each set,