@@ -14,21 +14,25 @@ macro_rules! test_pairing {
14
14
let g2: <$Pairing as Pairing >:: G2 = UniformRand :: rand( & mut rng) ;
15
15
let s1: <$Pairing as Pairing >:: ScalarField = UniformRand :: rand( & mut rng) ;
16
16
let s2: <$Pairing as Pairing >:: ScalarField = UniformRand :: rand( & mut rng) ;
17
- let s3 = s1 * s2;
18
- // let ans = <$Pairing>::multi_pairing(&[-g1, g1 * s2, g1], &[g2 * s1, g2, g2 * s3]);
19
- // assert_eq!(ans, PairingOutput::zero());
17
+ let s3 = s1 + s2;
18
+
20
19
let ( p1, p2, p3) = ( g1. into_affine( ) , ( g1 * s2) . into_affine( ) , g1. into_affine( ) ) ;
21
20
let ( q1, q2, q3) = (
22
21
( g2 * s1) . into_affine( ) ,
23
22
g2. into_affine( ) ,
24
- ( g2) . into_affine( ) ,
23
+ ( g2 * s3 ) . into_affine( ) ,
25
24
) ;
26
25
let e1 = <$Pairing>:: pairing( p1, q1) ;
27
26
let e2 = <$Pairing>:: pairing( p2, q2) ;
28
27
let e3 = <$Pairing>:: pairing( p3, q3) ;
29
28
let e33 = <$Pairing>:: multi_pairing( & [ p1, p2] , & [ q1, q2] ) ;
30
- assert_eq!( e1 + e2, e3 * s3) ;
31
- // assert_eq!(e1 + e2, e33);
29
+ assert_eq!( e1 + e2, e3) ;
30
+ assert_eq!( e3, e33) ;
31
+
32
+ let e4 = <$Pairing>:: multi_pairing( & [ -p1, p2, p3] , & [ q1, q2, q3] ) ;
33
+ let e5 = <$Pairing>:: multi_pairing( & [ p1, p2, -p3] , & [ q1, q2, q3] ) ;
34
+ assert_eq!( e4, e5) ;
35
+ assert_eq!( e4, PairingOutput :: zero( ) ) ;
32
36
}
33
37
34
38
#[ test]
0 commit comments