Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/src/field.h
Show All 16 Lines | |||||
* always have a magnitude of 1, but a magnitude of 1 doesn't imply | * always have a magnitude of 1, but a magnitude of 1 doesn't imply | ||||
* normality. | * normality. | ||||
*/ | */ | ||||
#if defined HAVE_CONFIG_H | #if defined HAVE_CONFIG_H | ||||
#include "libsecp256k1-config.h" | #include "libsecp256k1-config.h" | ||||
#endif | #endif | ||||
#if defined(USE_FIELD_10X26) | #include "util.h" | ||||
#include "field_10x26.h" | |||||
#elif defined(USE_FIELD_5X52) | #if defined(SECP256K1_WIDEMUL_INT128) | ||||
#include "field_5x52.h" | #include "field_5x52.h" | ||||
#elif defined(SECP256K1_WIDEMUL_INT64) | |||||
#include "field_10x26.h" | |||||
#else | #else | ||||
#error "Please select field implementation" | #error "Please select wide multiplication implementation" | ||||
#endif | #endif | ||||
#include "util.h" | |||||
/** Normalize a field element. This brings the field element to a canonical representation, reduces | /** Normalize a field element. This brings the field element to a canonical representation, reduces | ||||
* its magnitude to 1, and reduces it modulo field size `p`. | * its magnitude to 1, and reduces it modulo field size `p`. | ||||
*/ | */ | ||||
static void secp256k1_fe_normalize(secp256k1_fe *r); | static void secp256k1_fe_normalize(secp256k1_fe *r); | ||||
/** Weakly normalize a field element: reduce its magnitude to 1, but don't fully normalize. */ | /** Weakly normalize a field element: reduce its magnitude to 1, but don't fully normalize. */ | ||||
static void secp256k1_fe_normalize_weak(secp256k1_fe *r); | static void secp256k1_fe_normalize_weak(secp256k1_fe *r); | ||||
▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines |