mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-06 15:53:10 +00:00
Use batch inversion to compute the quoients for Z (#136)
Shaves about a second off the recursive proof time! Down to 2.45s on my laptop.
This commit is contained in:
parent
018fb005f8
commit
bb316fb146
@ -148,8 +148,9 @@ pub(crate) fn eval_vanishing_poly_base<F: Extendable<D>, const D: usize>(
|
|||||||
wire_value + betas[i] * s_sigma + gammas[i]
|
wire_value + betas[i] * s_sigma + gammas[i]
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
let denominator_inverses = F::batch_multiplicative_inverse(&denominator_values);
|
||||||
let quotient_values = (0..common_data.config.num_routed_wires)
|
let quotient_values = (0..common_data.config.num_routed_wires)
|
||||||
.map(|j| numerator_values[j] / denominator_values[j])
|
.map(|j| numerator_values[j] * denominator_inverses[j])
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
// The partial products considered for this iteration of `i`.
|
// The partial products considered for this iteration of `i`.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user