snark_verifier/pcs/ipa/accumulator.rs
1use crate::{loader::Loader, util::arithmetic::CurveAffine};
2
3/// Inner product argument accumulator.
4#[derive(Clone, Debug)]
5pub struct IpaAccumulator<C, L>
6where
7 C: CurveAffine,
8 L: Loader<C>,
9{
10 /// $\xi$.
11 pub xi: Vec<L::LoadedScalar>,
12 /// $U$.
13 pub u: L::LoadedEcPoint,
14}
15
16impl<C, L> IpaAccumulator<C, L>
17where
18 C: CurveAffine,
19 L: Loader<C>,
20{
21 /// Initialize a [`IpaAccumulator`].
22 pub fn new(xi: Vec<L::LoadedScalar>, u: L::LoadedEcPoint) -> Self {
23 Self { xi, u }
24 }
25}