arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
The scalar to be multiplied by should be at most `num_limbs` long (#171)

Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
mmagician marcin.gorny.94@protonmail.com
Mon, 11 Sep 2023 13:44:41 -0600
commit

8765798eb08d3dafc3f9362a12170ad0265ca6af

parent

7e4b4bf027b1418ff3ed4a766a37e920cc96ffce

1 files changed, 6 insertions(+), 4 deletions(-)

jump to
M curve-constraint-tests/src/lib.rs → curve-constraint-tests/src/lib.rs

@@ -315,11 +315,13 @@ );

} assert!(cs.is_satisfied().unwrap()); - let modulus = <C::ScalarField as PrimeField>::MODULUS.as_ref().to_vec(); + let modulus = C::ScalarField::MODULUS.as_ref().to_vec(); let mut max = modulus.clone(); for limb in &mut max { *limb = u64::MAX; } + + let num_limbs = max.len(); let modulus_num_bits_mod_64 = <C::ScalarField as PrimeField>::MODULUS_BIT_SIZE % 64; if modulus_num_bits_mod_64 != 0 {

@@ -332,10 +334,10 @@ .as_ref()

.to_vec(), vec![u64::rand(&mut rng)], (-C::ScalarField::one()).into_bigint().as_ref().to_vec(), - <C::ScalarField as PrimeField>::MODULUS.as_ref().to_vec(), + modulus, max, - vec![0; 50], - vec![1000012341233u64; 36], + vec![0u64; num_limbs], + vec![1000012341233u64; num_limbs], ]; let mut input = vec![];