mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-09 09:13:09 +00:00
Minor addition to partial product test
This commit is contained in:
parent
525db6c461
commit
d456efbc3f
@ -157,7 +157,7 @@ pub struct CommonCircuitData<F: Extendable<D>, const D: usize> {
|
||||
/// The `{k_i}` valued used in `S_ID_i` in Plonk's permutation argument.
|
||||
pub(crate) k_is: Vec<F>,
|
||||
|
||||
/// The number of partial products needed to compute the `Z` polynomials, as well as the number
|
||||
/// The number of partial products needed to compute the `Z` polynomials and the number
|
||||
/// of partial products needed to compute the final product.
|
||||
pub(crate) num_partial_products: (usize, usize),
|
||||
|
||||
|
||||
@ -86,17 +86,27 @@ mod tests {
|
||||
let v = vec![1, 2, 3, 4, 5, 6];
|
||||
let p = partial_products(&v, 2);
|
||||
assert_eq!(p, vec![2, 12, 30, 24, 720]);
|
||||
assert_eq!(p.len(), num_partial_products(v.len(), 2).0);
|
||||
let nums = num_partial_products(v.len(), 2);
|
||||
assert_eq!(p.len(), nums.0);
|
||||
assert!(check_partial_products(&v, &p, 2)
|
||||
.iter()
|
||||
.all(|x| x.is_zero()));
|
||||
assert_eq!(
|
||||
v.into_iter().product::<i32>(),
|
||||
p[p.len() - nums.1..].iter().copied().product(),
|
||||
);
|
||||
|
||||
let v = vec![1, 2, 3, 4, 5, 6];
|
||||
let p = partial_products(&v, 3);
|
||||
assert_eq!(p, vec![6, 120]);
|
||||
assert_eq!(p.len(), num_partial_products(v.len(), 3).0);
|
||||
let nums = num_partial_products(v.len(), 3);
|
||||
assert_eq!(p.len(), nums.0);
|
||||
assert!(check_partial_products(&v, &p, 3)
|
||||
.iter()
|
||||
.all(|x| x.is_zero()));
|
||||
assert_eq!(
|
||||
v.into_iter().product::<i32>(),
|
||||
p[p.len() - nums.1..].iter().copied().product(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user