Skip to content

Commit

Permalink
Fix tests that broke from the mul() change
Browse files Browse the repository at this point in the history
Co-authored-by: Michele Orrù <[email protected]>
  • Loading branch information
asn-d6 and mmaker committed Jul 18, 2022
1 parent 9d646dc commit bcaad0d
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 27 deletions.
2 changes: 1 addition & 1 deletion test-curves/src/bls12_381/g2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ impl short_weierstrass::SWCurveConfig for Parameters {
// Checks that [p]P = [X]P

let mut x_times_point =
point.mul(BigInt::new([crate::bls12_381::Parameters::X[0], 0, 0, 0]));
point.mul_bigint(BigInt::new([crate::bls12_381::Parameters::X[0], 0, 0, 0]));
if crate::bls12_381::Parameters::X_IS_NEGATIVE {
x_times_point = -x_times_point;
}
Expand Down
46 changes: 21 additions & 25 deletions test-templates/src/curves.rs
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ fn random_multiplication_test<G: ProjectiveCurve>() {
tmp2.add_assign(&b);

// Affine multiplication
let mut tmp3 = a_affine.mul(s.into_bigint());
tmp3.add_assign(&b_affine.mul(s.into_bigint()));
let mut tmp3 = a_affine.mul(&s);
tmp3.add_assign(&b_affine.mul(&s));
assert_eq!(tmp1, tmp2);
assert_eq!(tmp1, tmp3);

let expected = a_affine.mul(s.into_bigint());
let got = a_affine.mul_scalar(&s);
let expected = a_affine.mul_bigint(s);
let got = a_affine.mul(&s);
assert_eq!(expected, got);
}
}
Expand Down Expand Up @@ -307,12 +307,12 @@ pub fn curve_tests<G: ProjectiveCurve>() {

assert_eq!(zero, zero);
assert_eq!(zero.is_zero(), true);
assert_eq!(a.mul(&fr_one.into_bigint()), a);
assert_eq!(a.mul(&fr_two.into_bigint()), a + &a);
assert_eq!(a.mul(&fr_zero.into_bigint()), zero);
assert_eq!(a.mul(&fr_zero.into_bigint()) - &a, -a);
assert_eq!(a.mul(&fr_one.into_bigint()) - &a, zero);
assert_eq!(a.mul(&fr_two.into_bigint()) - &a, a);
assert_eq!(a.mul(&fr_one), a);
assert_eq!(a.mul(&fr_two), a + &a);
assert_eq!(a.mul(&fr_zero), zero);
assert_eq!(a.mul(&fr_zero) - &a, -a);
assert_eq!(a.mul(&fr_one) - &a, zero);
assert_eq!(a.mul(&fr_two) - &a, a);

// a == a
assert_eq!(a, a);
Expand Down Expand Up @@ -344,31 +344,27 @@ pub fn curve_tests<G: ProjectiveCurve>() {

let fr_rand1 = G::ScalarField::rand(&mut rng);
let fr_rand2 = G::ScalarField::rand(&mut rng);
let a_rand1 = a.mul(&fr_rand1.into_bigint());
let a_rand2 = a.mul(&fr_rand2.into_bigint());
let a_rand1 = a.mul(&fr_rand1);
let a_rand2 = a.mul(&fr_rand2);
let fr_three = fr_two + &fr_rand1;
let a_two = a.mul(&fr_two.into_bigint());
let a_two = a.mul(&fr_two);
assert_eq!(a_two, a.double(), "(a * 2) != a.double()");
let a_six = a.mul(&(fr_three * &fr_two).into_bigint());
assert_eq!(
a_two.mul(&fr_three.into_bigint()),
a_six,
"(a * 2) * 3 != a * (2 * 3)"
);
let a_six = a.mul(&(fr_three * &fr_two));
assert_eq!(a_two.mul(&fr_three), a_six, "(a * 2) * 3 != a * (2 * 3)");

assert_eq!(
a_rand1.mul(&fr_rand2.into_bigint()),
a_rand2.mul(&fr_rand1.into_bigint()),
a_rand1.mul(&fr_rand2),
a_rand2.mul(&fr_rand1),
"(a * r1) * r2 != (a * r2) * r1"
);
assert_eq!(
a_rand2.mul(&fr_rand1.into_bigint()),
a.mul(&(fr_rand1 * &fr_rand2).into_bigint()),
a_rand2.mul(&fr_rand1),
a.mul(&(fr_rand1 * &fr_rand2)),
"(a * r2) * r1 != a * (r1 * r2)"
);
assert_eq!(
a_rand1.mul(&fr_rand2.into_bigint()),
a.mul(&(fr_rand1 * &fr_rand2).into_bigint()),
a_rand1.mul(&fr_rand2),
a.mul(&(fr_rand1 * &fr_rand2)),
"(a * r1) * r2 != a * (r1 * r2)"
);
}
Expand Down
2 changes: 1 addition & 1 deletion test-templates/src/msm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ fn naive_var_base_msm<G: AffineCurve>(bases: &[G], scalars: &[G::ScalarField]) -
let mut acc = G::Projective::zero();

for (base, scalar) in bases.iter().zip(scalars.iter()) {
acc += &base.mul(scalar.into_bigint());
acc += &base.mul(&scalar);
}
acc
}
Expand Down

0 comments on commit bcaad0d

Please sign in to comment.