arnaucube
arnaucube/protogalaxy-pocPublic Self-hosted repository
protogalaxy-poc/src/utils.rs
src/utils.rsRaw
 1use ark_ff::fields::PrimeField;
 2
 3pub fn vec_add<F: PrimeField>(a: &Vec<F>, b: &[F]) -> Vec<F> {
 4    let mut r: Vec<F> = vec![F::zero(); a.len()];
 5    for i in 0..a.len() {
 6        r[i] = a[i] + b[i];
 7    }
 8    r
 9}
10
11pub fn vec_scalar_mul<F: PrimeField>(vec: &[F], c: &F) -> Vec<F> {
12    let mut result = vec![F::zero(); vec.len()];
13    for (i, a) in vec.iter().enumerate() {
14        result[i] = *a * c;
15    }
16    result
17}