Added test with additions resulting in infinity
This commit is contained in:
parent
387d723c3f
commit
61d1ecb028
34
src/tests.c
34
src/tests.c
|
@ -2258,6 +2258,39 @@ void test_ge(void) {
|
||||||
free(zinv);
|
free(zinv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_intialized_inf(void) {
|
||||||
|
secp256k1_ge p;
|
||||||
|
secp256k1_gej pj, npj, infj1, infj2, infj3;
|
||||||
|
secp256k1_fe zinv;
|
||||||
|
|
||||||
|
/* Test that adding P+(-P) results in a fully initalized infinity*/
|
||||||
|
random_group_element_test(&p);
|
||||||
|
secp256k1_gej_set_ge(&pj, &p);
|
||||||
|
secp256k1_gej_neg(&npj, &pj);
|
||||||
|
|
||||||
|
secp256k1_gej_add_var(&infj1, &pj, &npj, NULL);
|
||||||
|
CHECK(secp256k1_gej_is_infinity(&infj1));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj1.x));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj1.y));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj1.z));
|
||||||
|
|
||||||
|
secp256k1_gej_add_ge_var(&infj2, &npj, &p, NULL);
|
||||||
|
CHECK(secp256k1_gej_is_infinity(&infj2));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj2.x));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj2.y));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj2.z));
|
||||||
|
|
||||||
|
secp256k1_fe_set_int(&zinv, 1);
|
||||||
|
secp256k1_gej_add_zinv_var(&infj3, &npj, &p, &zinv);
|
||||||
|
CHECK(secp256k1_gej_is_infinity(&infj3));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj3.x));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj3.y));
|
||||||
|
CHECK(secp256k1_fe_is_zero(&infj3.z));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void test_add_neg_y_diff_x(void) {
|
void test_add_neg_y_diff_x(void) {
|
||||||
/* The point of this test is to check that we can add two points
|
/* The point of this test is to check that we can add two points
|
||||||
* whose y-coordinates are negatives of each other but whose x
|
* whose y-coordinates are negatives of each other but whose x
|
||||||
|
@ -2331,6 +2364,7 @@ void run_ge(void) {
|
||||||
test_ge();
|
test_ge();
|
||||||
}
|
}
|
||||||
test_add_neg_y_diff_x();
|
test_add_neg_y_diff_x();
|
||||||
|
test_intialized_inf();
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_ec_combine(void) {
|
void test_ec_combine(void) {
|
||||||
|
|
Loading…
Reference in New Issue