7 #ifndef SECP256K1_SCALAR_H 8 #define SECP256K1_SCALAR_H 12 #if defined HAVE_CONFIG_H 16 #if defined(EXHAUSTIVE_TEST_ORDER) 18 #elif defined(USE_SCALAR_4X64) 20 #elif defined(USE_SCALAR_8X32) 23 #error "Please select scalar implementation" 30 static unsigned int secp256k1_scalar_get_bits(
const secp256k1_scalar *
a,
unsigned int offset,
unsigned int count);
33 static unsigned int secp256k1_scalar_get_bits_var(
const secp256k1_scalar *
a,
unsigned int offset,
unsigned int count);
36 static void secp256k1_scalar_set_b32(
secp256k1_scalar *r,
const unsigned char *bin,
int *overflow);
42 static void secp256k1_scalar_get_b32(
unsigned char *bin,
const secp256k1_scalar*
a);
48 static void secp256k1_scalar_cadd_bit(
secp256k1_scalar *r,
unsigned int bit,
int flag);
96 #ifdef USE_ENDOMORPHISM
A scalar modulo the group order of the secp256k1 curve.