Electroneum
curve25519-donna-64bit.h File Reference

Go to the source code of this file.

Macros

#define F(s)
 
#define curve25519_contract_carry()
 
#define curve25519_contract_carry_full()
 
#define curve25519_contract_carry_final()
 
#define write51full(n, shift)
 
#define write51(n)   write51full(n,13*n)
 
#define ED25519_64BIT_TABLES
 

Typedefs

typedef uint64_t bignum25519[5]
 

Macro Definition Documentation

◆ curve25519_contract_carry

#define curve25519_contract_carry ( )
Value:
t[1] += t[0] >> 51; t[0] &= reduce_mask_51; \
t[2] += t[1] >> 51; t[1] &= reduce_mask_51; \
t[3] += t[2] >> 51; t[2] &= reduce_mask_51; \
t[4] += t[3] >> 51; t[3] &= reduce_mask_51;

◆ curve25519_contract_carry_final

#define curve25519_contract_carry_final ( )
Value:
t[4] &= reduce_mask_51;
#define curve25519_contract_carry()

◆ curve25519_contract_carry_full

#define curve25519_contract_carry_full ( )
Value:
t[0] += 19 * (t[4] >> 51); t[4] &= reduce_mask_51;
#define curve25519_contract_carry()

◆ ED25519_64BIT_TABLES

#define ED25519_64BIT_TABLES

Definition at line 412 of file curve25519-donna-64bit.h.

◆ F

#define F (   s)
Value:
((((uint64_t)in[s + 0]) ) | \
(((uint64_t)in[s + 1]) << 8) | \
(((uint64_t)in[s + 2]) << 16) | \
(((uint64_t)in[s + 3]) << 24) | \
(((uint64_t)in[s + 4]) << 32) | \
(((uint64_t)in[s + 5]) << 40) | \
(((uint64_t)in[s + 6]) << 48) | \
(((uint64_t)in[s + 7]) << 56))
unsigned __int64 uint64_t
Definition: stdint.h:136

◆ write51

#define write51 (   n)    write51full(n,13*n)

◆ write51full

#define write51full (   n,
  shift 
)
Value:
f = ((t[n] >> shift) | (t[n+1] << (51 - shift))); \
for (i = 0; i < 8; i++, f >>= 8) *out++ = (unsigned char)f;

Typedef Documentation

◆ bignum25519

typedef uint64_t bignum25519[5]

Definition at line 9 of file curve25519-donna-64bit.h.