Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Go to the source code of this file.
Macros | |
#define | SECP256K1_N_0 ((uint32_t)0xD0364141UL) |
#define | SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) |
#define | SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) |
#define | SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) |
#define | SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) |
#define | SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) |
#define | SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) |
#define | SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) |
#define | SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) |
#define | SECP256K1_N_C_1 (~SECP256K1_N_1) |
#define | SECP256K1_N_C_2 (~SECP256K1_N_2) |
#define | SECP256K1_N_C_3 (~SECP256K1_N_3) |
#define | SECP256K1_N_C_4 (1) |
#define | SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) |
#define | SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) |
#define | SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) |
#define | SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) |
#define | SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) |
#define | SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) |
#define | SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) |
#define | SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) |
#define | muladd(a, b) |
Add a*b to the number defined by (c0,c1,c2). More... | |
#define | muladd_fast(a, b) |
Add a*b to the number defined by (c0,c1). More... | |
#define | muladd2(a, b) |
Add 2*a*b to the number defined by (c0,c1,c2). More... | |
#define | sumadd(a) |
Add a to the number defined by (c0,c1,c2). More... | |
#define | sumadd_fast(a) |
Add a to the number defined by (c0,c1). More... | |
#define | extract(n) |
Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. More... | |
#define | extract_fast(n) |
Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. More... | |
Macro Definition Documentation
◆ extract
#define extract | ( | n | ) |
Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits.
Definition at line 334 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_mul_512(), secp256k1_scalar_reduce_512(), and secp256k1_scalar_sqr_512().
◆ extract_fast
#define extract_fast | ( | n | ) |
Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits.
c2 is required to be zero.
Definition at line 342 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_mul_512(), secp256k1_scalar_reduce_512(), and secp256k1_scalar_sqr_512().
◆ muladd
#define muladd | ( | a, | |
b | |||
) |
Add a*b to the number defined by (c0,c1,c2).
c2 must never overflow.
Definition at line 266 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_mul_512(), secp256k1_scalar_reduce_512(), and secp256k1_scalar_sqr_512().
◆ muladd2
#define muladd2 | ( | a, | |
b | |||
) |
Add 2*a*b to the number defined by (c0,c1,c2).
c2 must never overflow.
Definition at line 295 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_sqr_512().
◆ muladd_fast
#define muladd_fast | ( | a, | |
b | |||
) |
Add a*b to the number defined by (c0,c1).
c1 must never overflow.
Definition at line 281 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_mul_512(), secp256k1_scalar_reduce_512(), and secp256k1_scalar_sqr_512().
◆ SECP256K1_N_0
#define SECP256K1_N_0 ((uint32_t)0xD0364141UL) |
Definition at line 11 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_1
#define SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) |
Definition at line 12 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_2
#define SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) |
Definition at line 13 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_3
#define SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) |
Definition at line 14 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_4
#define SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) |
Definition at line 15 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_5
#define SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) |
Definition at line 16 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_6
#define SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) |
Definition at line 17 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_7
#define SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) |
Definition at line 18 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_check_overflow(), secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ SECP256K1_N_C_0
#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) |
Definition at line 21 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce(), and secp256k1_scalar_reduce_512().
◆ SECP256K1_N_C_1
#define SECP256K1_N_C_1 (~SECP256K1_N_1) |
Definition at line 22 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce(), and secp256k1_scalar_reduce_512().
◆ SECP256K1_N_C_2
#define SECP256K1_N_C_2 (~SECP256K1_N_2) |
Definition at line 23 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce(), and secp256k1_scalar_reduce_512().
◆ SECP256K1_N_C_3
#define SECP256K1_N_C_3 (~SECP256K1_N_3) |
Definition at line 24 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce(), and secp256k1_scalar_reduce_512().
◆ SECP256K1_N_C_4
#define SECP256K1_N_C_4 (1) |
Definition at line 25 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce().
◆ SECP256K1_N_H_0
#define SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) |
Definition at line 28 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_1
#define SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) |
Definition at line 29 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_2
#define SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) |
Definition at line 30 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_3
#define SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) |
Definition at line 31 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_4
#define SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) |
Definition at line 32 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_5
#define SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) |
Definition at line 33 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_6
#define SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) |
Definition at line 34 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ SECP256K1_N_H_7
#define SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) |
Definition at line 35 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_is_high().
◆ sumadd
#define sumadd | ( | a | ) |
Add a to the number defined by (c0,c1,c2).
c2 must never overflow.
Definition at line 317 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce_512().
◆ sumadd_fast
#define sumadd_fast | ( | a | ) |
Add a to the number defined by (c0,c1).
c1 must never overflow, c2 must be zero.
Definition at line 326 of file scalar_8x32_impl.h.
Referenced by secp256k1_scalar_reduce_512().
Function Documentation
◆ secp256k1_scalar_add()
|
static |
Definition at line 115 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, secp256k1_scalar_check_overflow(), secp256k1_scalar_reduce(), and VERIFY_CHECK.
◆ secp256k1_scalar_cadd_bit()
|
static |
Definition at line 139 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, secp256k1_scalar_check_overflow(), and VERIFY_CHECK.
Referenced by secp256k1_scalar_mul_shift_var().
◆ secp256k1_scalar_check_overflow()
|
static |
Definition at line 75 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, SECP256K1_N_0, SECP256K1_N_1, SECP256K1_N_2, SECP256K1_N_3, SECP256K1_N_4, SECP256K1_N_5, SECP256K1_N_6, and SECP256K1_N_7.
Referenced by secp256k1_scalar_add(), secp256k1_scalar_cadd_bit(), secp256k1_scalar_reduce_512(), and secp256k1_scalar_set_b32().
◆ secp256k1_scalar_clear()
|
static |
Definition at line 37 of file scalar_8x32_impl.h.
References secp256k1_scalar::d.
◆ secp256k1_scalar_cond_negate()
|
static |
Definition at line 238 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, immer::detail::hamts::mask, SECP256K1_N_0, SECP256K1_N_1, SECP256K1_N_2, SECP256K1_N_3, SECP256K1_N_4, SECP256K1_N_5, SECP256K1_N_6, SECP256K1_N_7, and secp256k1_scalar_is_zero().
◆ secp256k1_scalar_eq()
|
static |
Definition at line 696 of file scalar_8x32_impl.h.
References secp256k1_scalar::d.
◆ secp256k1_scalar_get_b32()
|
static |
Definition at line 181 of file scalar_8x32_impl.h.
References secp256k1_scalar::d.
◆ secp256k1_scalar_get_bits()
|
static |
Definition at line 59 of file scalar_8x32_impl.h.
References count, secp256k1_scalar::d, and VERIFY_CHECK.
Referenced by secp256k1_scalar_get_bits_var().
◆ secp256k1_scalar_get_bits_var()
|
static |
Definition at line 64 of file scalar_8x32_impl.h.
References count, secp256k1_scalar::d, secp256k1_scalar_get_bits(), and VERIFY_CHECK.
◆ secp256k1_scalar_is_high()
|
static |
Definition at line 220 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, SECP256K1_N_H_0, SECP256K1_N_H_1, SECP256K1_N_H_2, SECP256K1_N_H_3, SECP256K1_N_H_4, SECP256K1_N_H_5, SECP256K1_N_H_6, and SECP256K1_N_H_7.
◆ secp256k1_scalar_is_one()
|
static |
Definition at line 216 of file scalar_8x32_impl.h.
References secp256k1_scalar::d.
◆ secp256k1_scalar_is_zero()
|
static |
Definition at line 192 of file scalar_8x32_impl.h.
References secp256k1_scalar::d.
Referenced by secp256k1_scalar_cond_negate(), and secp256k1_scalar_negate().
◆ secp256k1_scalar_mul()
|
static |
Definition at line 647 of file scalar_8x32_impl.h.
References secp256k1_scalar_mul_512(), and secp256k1_scalar_reduce_512().
◆ secp256k1_scalar_mul_512()
|
static |
Definition at line 491 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, extract, extract_fast, muladd, muladd_fast, and VERIFY_CHECK.
Referenced by secp256k1_scalar_mul(), and secp256k1_scalar_mul_shift_var().
◆ secp256k1_scalar_mul_shift_var()
|
static |
Definition at line 700 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, secp256k1_scalar_cadd_bit(), secp256k1_scalar_mul_512(), and VERIFY_CHECK.
◆ secp256k1_scalar_negate()
|
static |
Definition at line 196 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, SECP256K1_N_0, SECP256K1_N_1, SECP256K1_N_2, SECP256K1_N_3, SECP256K1_N_4, SECP256K1_N_5, SECP256K1_N_6, SECP256K1_N_7, and secp256k1_scalar_is_zero().
◆ secp256k1_scalar_reduce()
|
static |
Definition at line 93 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, SECP256K1_N_C_0, SECP256K1_N_C_1, SECP256K1_N_C_2, SECP256K1_N_C_3, SECP256K1_N_C_4, and VERIFY_CHECK.
Referenced by secp256k1_scalar_add(), secp256k1_scalar_reduce_512(), and secp256k1_scalar_set_b32().
◆ secp256k1_scalar_reduce_512()
|
static |
Definition at line 349 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, extract, extract_fast, muladd, muladd_fast, SECP256K1_N_C_0, SECP256K1_N_C_1, SECP256K1_N_C_2, SECP256K1_N_C_3, secp256k1_scalar_check_overflow(), secp256k1_scalar_reduce(), sumadd, sumadd_fast, and VERIFY_CHECK.
Referenced by secp256k1_scalar_mul(), and secp256k1_scalar_sqr().
◆ secp256k1_scalar_set_b32()
|
static |
Definition at line 165 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, secp256k1_scalar_check_overflow(), and secp256k1_scalar_reduce().
◆ secp256k1_scalar_set_int()
|
static |
Definition at line 48 of file scalar_8x32_impl.h.
References secp256k1_scalar::d.
◆ secp256k1_scalar_shr_int()
|
static |
Definition at line 653 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, and VERIFY_CHECK.
◆ secp256k1_scalar_sqr()
|
static |
Definition at line 669 of file scalar_8x32_impl.h.
References secp256k1_scalar_reduce_512(), and secp256k1_scalar_sqr_512().
◆ secp256k1_scalar_sqr_512()
|
static |
Definition at line 579 of file scalar_8x32_impl.h.
References secp256k1_scalar::d, extract, extract_fast, muladd, muladd2, muladd_fast, and VERIFY_CHECK.
Referenced by secp256k1_scalar_sqr().