use ark_ff::PrimeField; // returns (b, b^2, b^4, ..., b^{2^{t-1}}) pub fn exponential_powers(b: F, t: usize) -> Vec { let mut r = vec![F::zero(); t]; r[0] = b; for i in 1..t { r[i] = r[i - 1].square(); } r } pub fn all_powers(a: F, n: usize) -> Vec { let mut r = vec![F::zero(); n]; for (i, r_i) in r.iter_mut().enumerate() { *r_i = a.pow([i as u64]); } r } // returns a vector containing βᵢ* = βᵢ + α ⋅ δᵢ pub fn betas_star(betas: &[F], deltas: &[F], alpha: F) -> Vec { betas .iter() .zip( deltas .iter() .map(|delta_i| alpha * delta_i) .collect::>(), ) .map(|(beta_i, delta_i_alpha)| *beta_i + delta_i_alpha) .collect() }