Home | History | Annotate | Download | only in ec

Lines Matching refs:felem

59  * A field element with four limbs is an 'felem'. One with eight limbs is a
68 typedef limb felem[NLIMBS];
77 /* bin32_to_felem takes a little-endian byte array and converts it into felem
79 static void bin32_to_felem(felem out, const u8 in[32]) {
102 /* BN_to_felem converts an OpenSSL BIGNUM into an felem. */
103 static int BN_to_felem(felem out, const BIGNUM *bn) {
125 /* felem_to_BN converts an felem into an OpenSSL BIGNUM. */
135 static void felem_assign(felem out, const felem in) {
143 static void felem_sum(felem out, const felem in) {
151 static void felem_small_sum(felem out, const smallfelem in) {
159 static void felem_scalar(felem out, const u64 scalar) {
183 static const felem zero105 = {two105m41m9, two105, two105m41p9, two105m41p9};
188 static void smallfelem_neg(felem out, const smallfelem small) {
201 static void felem_diff(felem out, const felem in) {
221 static const felem zero107 = {two107m43m11, two107, two107m43p11, two107m43p11};
229 static void felem_diff_zero107(felem out, const felem in) {
283 static const felem zero110 = {two64m0, two110p32m0, two64m46, two64m32};
285 /* felem_shrink converts an felem into a smallfelem. The result isn't quite
292 static void felem_shrink(smallfelem out, const felem in) {
293 felem tmp;
370 /* smallfelem_expand converts a smallfelem to an felem */
371 static void smallfelem_expand(felem out, const smallfelem in) {
459 static void felem_square(longfelem out, const felem in) {
579 static void felem_mul(longfelem out, const felem in1, const felem in2) {
593 const felem in2) {
604 static const felem zero100 = {two100m36m4, two100, two100m36p4, two100m36p4};
618 static void felem_reduce_(felem out, const longfelem in) {
651 /* felem_reduce converts a longfelem into an felem.
658 static void felem_reduce(felem out, const longfelem in) {
677 /* felem_reduce_zero105 converts a larger longfelem into an felem.
682 static void felem_reduce_zero105(felem out, const longfelem in) {
712 static void felem_contract(smallfelem out, const felem in) {
808 static void felem_inv(felem out, const felem in) {
809 felem ftmp, ftmp2;
811 felem e2, e4, e8, e16, e32, e64;
914 static void point_double(felem x_out, felem y_out, felem z_out,
915 const felem x_in, const felem y_in, const felem z_in) {
917 felem delta, gamma, beta, alpha, ftmp, ftmp2;
995 felem felem_x_out, felem_y_out, felem_z_out;
996 felem felem_x_in, felem_y_in, felem_z_in;
1009 static void copy_conditional(felem out, const felem in, limb mask) {
1017 static void copy_small_conditional(felem out, const smallfelem in, limb mask) {
1034 static void point_add(felem x3, felem y3, felem z3, const felem x1,
1035 const felem y1, const felem z1, const int mixed,
1038 felem ftmp, ftmp2, ftmp3, ftmp4, ftmp5, ftmp6, x_out, y_out, z_out;
1197 felem felem_x3, felem_y3, felem_z3;
1198 felem felem_x1, felem_y1, felem_z1;
1434 static void batch_mul(felem x_out, felem y_out, felem z_out, const u8 *p_scalar,
1436 felem nq[3], ftmp;
1442 OPENSSL_memset(nq, 0, 3 * sizeof(felem));
1536 felem z1, z2, x_in, y_in;
1588 felem x_out, y_out, z_out;