| 4730 | } |
| 4731 | |
| 4732 | static 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 | |
| 4758 | static void run_ecmult_const_tests(void) { |
| 4759 | ecmult_const_mult_zero_one(); |
no test coverage detected