Scale given vector `v` by scalar `a`
(
a: &PE::ScalarField,
v: &[PE::ScalarField],
)
| 126 | |
| 127 | /// Scale given vector `v` by scalar `a` |
| 128 | pub fn scale_vector<PE: Pairing>( |
| 129 | a: &PE::ScalarField, |
| 130 | v: &[PE::ScalarField], |
| 131 | ) -> Vec<PE::ScalarField> { |
| 132 | let mut res: Vec<PE::ScalarField> = Vec::with_capacity(v.len()); |
| 133 | for i in 0..v.len() { |
| 134 | let x: PE::ScalarField = a.mul(&v[i]); |
| 135 | res.push(x); |
| 136 | } |
| 137 | res |
| 138 | } |
| 139 | |
| 140 | /// Given a group element `g` and vector `multiples` of scalars, returns a vector with elements `v_i * g` |
| 141 | pub fn multiples_of_g<G: AffineRepr>(g: &G, multiples: &[G::ScalarField]) -> Vec<G> { |