|
static void | secp256k1_fe_normalize (secp256k1_fe *r) |
| Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, represented as 5 uint64_t's in base 2^52. More...
|
|
static void | secp256k1_fe_normalize_weak (secp256k1_fe *r) |
|
static void | secp256k1_fe_normalize_var (secp256k1_fe *r) |
|
static int | secp256k1_fe_normalizes_to_zero (secp256k1_fe *r) |
|
static int | secp256k1_fe_normalizes_to_zero_var (secp256k1_fe *r) |
|
static SECP256K1_INLINE void | secp256k1_fe_set_int (secp256k1_fe *r, int a) |
|
static SECP256K1_INLINE int | secp256k1_fe_is_zero (const secp256k1_fe *a) |
|
static SECP256K1_INLINE int | secp256k1_fe_is_odd (const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_clear (secp256k1_fe *a) |
|
static int | secp256k1_fe_cmp_var (const secp256k1_fe *a, const secp256k1_fe *b) |
|
static int | secp256k1_fe_set_b32 (secp256k1_fe *r, const unsigned char *a) |
|
static void | secp256k1_fe_get_b32 (unsigned char *r, const secp256k1_fe *a) |
| Convert a field element to a 32-byte big endian value. More...
|
|
static SECP256K1_INLINE void | secp256k1_fe_negate (secp256k1_fe *r, const secp256k1_fe *a, int m) |
|
static SECP256K1_INLINE void | secp256k1_fe_mul_int (secp256k1_fe *r, int a) |
|
static SECP256K1_INLINE void | secp256k1_fe_add (secp256k1_fe *r, const secp256k1_fe *a) |
|
static void | secp256k1_fe_mul (secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe *SECP256K1_RESTRICT b) |
|
static void | secp256k1_fe_sqr (secp256k1_fe *r, const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_cmov (secp256k1_fe *r, const secp256k1_fe *a, int flag) |
|
static SECP256K1_INLINE void | secp256k1_fe_storage_cmov (secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag) |
|
static void | secp256k1_fe_to_storage (secp256k1_fe_storage *r, const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_from_storage (secp256k1_fe *r, const secp256k1_fe_storage *a) |
|
static void | secp256k1_fe_from_signed62 (secp256k1_fe *r, const secp256k1_modinv64_signed62 *a) |
|
static void | secp256k1_fe_to_signed62 (secp256k1_modinv64_signed62 *r, const secp256k1_fe *a) |
|
static void | secp256k1_fe_inv (secp256k1_fe *r, const secp256k1_fe *x) |
|
static void | secp256k1_fe_inv_var (secp256k1_fe *r, const secp256k1_fe *x) |
|
Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, represented as 5 uint64_t's in base 2^52.
The values are allowed to contain >52 each. In particular, each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations accept any input with magnitude at most M, and have different rules for propagating magnitude to their output.
Definition at line 54 of file field_5x52_impl.h.