CURVES_MAX_P_BIT_LEN
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN > 65535)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BIGN256V1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BIGN384V1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BIGN512V1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP192R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP192T1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP224R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP224T1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP256R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP256T1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP320R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP320T1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP384R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP384T1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP512R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_BRAINPOOLP512T1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_FRP256V1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST256_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST512_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_A_PARAMSET_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_B_PARAMSET_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_C_PARAMSET_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_XCHA_PARAMSET_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2001_CRYPTOPRO_XCHB_PARAMSET_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2001_TESTPARAMSET_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETA_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETB_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETC_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_256_PARAMSETD_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETA_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETB_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETC_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETTEST_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP192K1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP192R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP224K1_P_BITLEN)
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP224R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP256K1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP256R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP384R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SECP521R1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SM2P192TEST_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SM2P256TEST_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_SM2P256V1_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_WEI25519_P_BITLEN)
#ifndef CURVES_MAX_P_BIT_LEN
#if (CURVES_MAX_P_BIT_LEN < CURVE_WEI448_P_BITLEN)
#define NN_MAX_BIT_LEN MAX_BIT_LEN_ROUNDING(CURVES_MAX_P_BIT_LEN, WORD_BITS)
#define NN_MAX_BASE CURVES_MAX_P_BIT_LEN
#if CURVES_MAX_P_BIT_LEN >= CURVES_MAX_CURVE_ORDER_BIT_LEN
#define NN_MAX_BIT_LEN MAX_BIT_LEN_ROUNDING(CURVES_MAX_P_BIT_LEN, WORD_BITS)
#define NN_MAX_BASE CURVES_MAX_P_BIT_LEN
#if CURVES_MAX_P_BIT_LEN >= CURVES_MAX_CURVE_ORDER_BIT_LEN
#if USER_NN_BIT_LEN >= CURVES_MAX_P_BIT_LEN
#define BIP0340_MAX_SIGLEN BIP0340_SIGLEN(CURVES_MAX_P_BIT_LEN, CURVES_MAX_Q_BIT_LEN)
#define EC_PUB_KEY_MAX_SIZE (3 * BYTECEIL(CURVES_MAX_P_BIT_LEN))
#define EC_PRIV_KEY_MAX_SIZE (LOCAL_MAX(MAX_DIGEST_SIZE, LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), BYTECEIL(CURVES_MAX_P_BIT_LEN))))
#define EC_PRIV_KEY_MAX_SIZE (LOCAL_MAX(BYTECEIL(CURVES_MAX_Q_BIT_LEN), BYTECEIL(CURVES_MAX_P_BIT_LEN)))
#define ECFSDSA_MAX_SIGLEN ECFSDSA_SIGLEN(CURVES_MAX_P_BIT_LEN, \
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
u8 FE2OS_W[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), 2 * BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN))];
u8 FE2OS_W[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), 2 * BIGN_S0_LEN(CURVES_MAX_Q_BIT_LEN))];
MUST_HAVE(((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
u8 tmp_buf[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), MAX_BLOCK_SIZE)];
u8 tmp_buf[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
u8 tmp_buf[LOCAL_MAX(2 * BYTECEIL(CURVES_MAX_P_BIT_LEN), MAX_BLOCK_SIZE)];
u8 tmp_buf[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
u8 Wx[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
u8 Wy[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
u8 Wprimex[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
u8 Wprimey[BYTECEIL(CURVES_MAX_P_BIT_LEN)];
MUST_HAVE(((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
MUST_HAVE((p_bit_len <= CURVES_MAX_P_BIT_LEN) &&
#define Z_INPUT_MAX_LEN (2 + SM2_MAX_ID_LEN + (6 * BYTECEIL(CURVES_MAX_P_BIT_LEN)))
u8 buf[2 * BYTECEIL(CURVES_MAX_P_BIT_LEN)];