MCPcopy Create free account
hub / github.com/ElementsProject/elements / ecmult_const_chain_multiply

Function ecmult_const_chain_multiply

src/secp256k1/src/tests.c:4732–4756  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4730}
4731
4732static void ecmult_const_chain_multiply(void) {
4733 /* Check known result (randomly generated test problem from sage) */
4734 const secp256k1_scalar scalar = SECP256K1_SCALAR_CONST(
4735 0x4968d524, 0x2abf9b7a, 0x466abbcf, 0x34b11b6d,
4736 0xcd83d307, 0x827bed62, 0x05fad0ce, 0x18fae63b
4737 );
4738 const secp256k1_gej expected_point = SECP256K1_GEJ_CONST(
4739 0x5494c15d, 0x32099706, 0xc2395f94, 0x348745fd,
4740 0x757ce30e, 0x4e8c90fb, 0xa2bad184, 0xf883c69f,
4741 0x5d195d20, 0xe191bf7f, 0x1be3e55f, 0x56a80196,
4742 0x6071ad01, 0xf1462f66, 0xc997fa94, 0xdb858435
4743 );
4744 secp256k1_gej point;
4745 secp256k1_ge res;
4746 int i;
4747
4748 secp256k1_gej_set_ge(&point, &secp256k1_ge_const_g);
4749 for (i = 0; i < 100; ++i) {
4750 secp256k1_ge tmp;
4751 secp256k1_ge_set_gej(&tmp, &point);
4752 secp256k1_ecmult_const(&point, &tmp, &scalar);
4753 }
4754 secp256k1_ge_set_gej(&res, &point);
4755 ge_equals_gej(&res, &expected_point);
4756}
4757
4758static void run_ecmult_const_tests(void) {
4759 ecmult_const_mult_zero_one();

Callers 1

run_ecmult_const_testsFunction · 0.85

Calls 4

secp256k1_ecmult_constFunction · 0.85
secp256k1_gej_set_geFunction · 0.70
secp256k1_ge_set_gejFunction · 0.70
ge_equals_gejFunction · 0.70

Tested by

no test coverage detected