7
7
#define SECP256K1_TESTUTIL_H
8
8
9
9
#include "field.h"
10
+ #include "group.h"
10
11
#include "testrand.h"
11
12
#include "util.h"
12
13
@@ -27,29 +28,11 @@ static void random_fe_non_zero(secp256k1_fe *nz) {
27
28
}
28
29
29
30
static void ge_equals_ge (const secp256k1_ge * a , const secp256k1_ge * b ) {
30
- CHECK (a -> infinity == b -> infinity );
31
- if (a -> infinity ) {
32
- return ;
33
- }
34
- CHECK (secp256k1_fe_equal (& a -> x , & b -> x ));
35
- CHECK (secp256k1_fe_equal (& a -> y , & b -> y ));
31
+ CHECK (secp256k1_ge_eq_var (a , b ));
36
32
}
37
33
38
34
static void ge_equals_gej (const secp256k1_ge * a , const secp256k1_gej * b ) {
39
- secp256k1_fe z2s ;
40
- secp256k1_fe u1 , u2 , s1 , s2 ;
41
- CHECK (a -> infinity == b -> infinity );
42
- if (a -> infinity ) {
43
- return ;
44
- }
45
- /* Check a.x * b.z^2 == b.x && a.y * b.z^3 == b.y, to avoid inverses. */
46
- secp256k1_fe_sqr (& z2s , & b -> z );
47
- secp256k1_fe_mul (& u1 , & a -> x , & z2s );
48
- u2 = b -> x ;
49
- secp256k1_fe_mul (& s1 , & a -> y , & z2s ); secp256k1_fe_mul (& s1 , & s1 , & b -> z );
50
- s2 = b -> y ;
51
- CHECK (secp256k1_fe_equal (& u1 , & u2 ));
52
- CHECK (secp256k1_fe_equal (& s1 , & s2 ));
35
+ CHECK (secp256k1_gej_eq_ge_var (b , a ));
53
36
}
54
37
55
38
#endif /* SECP256K1_TESTUTIL_H */
0 commit comments