2021-12-17 14:21:38 -05:00
|
|
|
/*****************************************************************************************************
|
|
|
|
* Copyright (c) 2013, 2014, 2017, 2021 Pieter Wuille, Andrew Poelstra, Jonas Nick, Russell O'Connor *
|
|
|
|
* Distributed under the MIT software license, see the accompanying *
|
|
|
|
* file COPYING or https://www.opensource.org/licenses/mit-license.php. *
|
|
|
|
*****************************************************************************************************/
|
|
|
|
|
2021-12-17 11:28:48 -05:00
|
|
|
#ifndef SECP256K1_PRECOMPUTED_ECMULT_H
|
|
|
|
#define SECP256K1_PRECOMPUTED_ECMULT_H
|
2021-12-17 14:34:15 -05:00
|
|
|
|
2021-12-17 15:43:50 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2023-06-06 09:07:36 +01:00
|
|
|
#include "ecmult.h"
|
2021-06-28 16:33:03 -04:00
|
|
|
#include "group.h"
|
|
|
|
#if defined(EXHAUSTIVE_TEST_ORDER)
|
2023-01-10 16:10:45 -05:00
|
|
|
# if EXHAUSTIVE_TEST_ORDER == 7
|
|
|
|
# define WINDOW_G 3
|
|
|
|
# elif EXHAUSTIVE_TEST_ORDER == 13
|
2021-12-17 14:34:15 -05:00
|
|
|
# define WINDOW_G 4
|
|
|
|
# elif EXHAUSTIVE_TEST_ORDER == 199
|
|
|
|
# define WINDOW_G 8
|
|
|
|
# else
|
|
|
|
# error No known generator for the specified exhaustive test group order.
|
|
|
|
# endif
|
2021-12-17 12:07:42 -05:00
|
|
|
static secp256k1_ge_storage secp256k1_pre_g[ECMULT_TABLE_SIZE(WINDOW_G)];
|
|
|
|
static secp256k1_ge_storage secp256k1_pre_g_128[ECMULT_TABLE_SIZE(WINDOW_G)];
|
2021-06-28 16:33:03 -04:00
|
|
|
#else /* !defined(EXHAUSTIVE_TEST_ORDER) */
|
2021-12-17 14:34:15 -05:00
|
|
|
# define WINDOW_G ECMULT_WINDOW_SIZE
|
2021-12-17 14:21:38 -05:00
|
|
|
extern const secp256k1_ge_storage secp256k1_pre_g[ECMULT_TABLE_SIZE(WINDOW_G)];
|
|
|
|
extern const secp256k1_ge_storage secp256k1_pre_g_128[ECMULT_TABLE_SIZE(WINDOW_G)];
|
2021-12-17 12:07:42 -05:00
|
|
|
#endif /* defined(EXHAUSTIVE_TEST_ORDER) */
|
2021-12-17 14:34:15 -05:00
|
|
|
|
2021-12-17 15:43:50 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2021-12-17 11:28:48 -05:00
|
|
|
#endif /* SECP256K1_PRECOMPUTED_ECMULT_H */
|