Lines Matching full:fe

13 /* fe means field element. Here the field is \Z/(2^255-19). An element t,
16 * fe limbs are bounded by 1.125*2^26,1.125*2^25,1.125*2^26,1.125*2^25,etc.
17 * Multiplication and carrying produce fe from fe_loose.
19 typedef struct fe { u32 v[10]; } fe; argument
22 * Addition and subtraction produce fe_loose from (fe, fe).
49 static __always_inline void fe_frombytes(fe *h, const u8 *s) in fe_frombytes()
160 static __always_inline void fe_tobytes(u8 s[32], const fe *f) in fe_tobytes()
199 static __always_inline void fe_copy(fe *h, const fe *f) in fe_copy()
204 static __always_inline void fe_copy_lt(fe_loose *h, const fe *f) in fe_copy_lt()
210 static __always_inline void fe_0(fe *h) in fe_0()
216 static __always_inline void fe_1(fe *h) in fe_1()
260 static __always_inline void fe_add(fe_loose *h, const fe *f, const fe *g) in fe_add()
303 static __always_inline void fe_sub(fe_loose *h, const fe *f, const fe *g) in fe_sub()
424 static __always_inline void fe_mul_ttt(fe *h, const fe *f, const fe *g) in fe_mul_ttt()
429 static __always_inline void fe_mul_tlt(fe *h, const fe_loose *f, const fe *g) in fe_mul_tlt()
435 fe_mul_tll(fe *h, const fe_loose *f, const fe_loose *g) in fe_mul_tll()
546 static __always_inline void fe_sq_tl(fe *h, const fe_loose *f) in fe_sq_tl()
551 static __always_inline void fe_sq_tt(fe *h, const fe *f) in fe_sq_tt()
556 static __always_inline void fe_loose_invert(fe *out, const fe_loose *z) in fe_loose_invert()
558 fe t0; in fe_loose_invert()
559 fe t1; in fe_loose_invert()
560 fe t2; in fe_loose_invert()
561 fe t3; in fe_loose_invert()
606 static __always_inline void fe_invert(fe *out, const fe *z) in fe_invert()
618 static __always_inline void fe_cswap(fe *f, fe *g, unsigned int b) in fe_cswap()
747 static __always_inline void fe_mul121666(fe *h, const fe_loose *f) in fe_mul121666()
756 fe x1, x2, z2, x3, z3; in curve25519_generic()
797 fe tmp0, tmp1; in curve25519_generic()