MCPcopy Create free account
hub / github.com/arkworks-rs/poly-commit / test_polynomial

Function test_polynomial

poly-commit/src/multilinear_pc/mod.rs:250–265  ·  view source on GitHub ↗
(
        uni_params: &UniversalParams<E>,
        poly: &impl MultilinearExtension<Fr>,
        rng: &mut R,
    )

Source from the content-addressed store, hash-verified

248 type Fr = <E as Pairing>::ScalarField;
249
250 fn test_polynomial<R: RngCore>(
251 uni_params: &UniversalParams<E>,
252 poly: &impl MultilinearExtension<Fr>,
253 rng: &mut R,
254 ) {
255 let nv = poly.num_vars();
256 assert_ne!(nv, 0);
257 let (ck, vk) = MultilinearPC::<E>::trim(&uni_params, nv);
258 let point: Vec<_> = (0..nv).map(|_| Fr::rand(rng)).collect();
259 let com = MultilinearPC::commit(&ck, poly);
260 let proof = MultilinearPC::open(&ck, poly, &point);
261
262 let value = poly.evaluate(&point);
263 let result = MultilinearPC::check(&vk, &com, &point, value, &proof);
264 assert!(result);
265 }
266
267 #[test]
268 fn setup_commit_verify_correct_polynomials() {

Calls 3

commitFunction · 0.85
openFunction · 0.85
evaluateMethod · 0.45

Tested by

no test coverage detected