Lines Matching refs:felem
64 * A 4-limb representation is an 'felem';
67 * reduce the representations: we ensure that inputs to each felem
70 * again partially reduced to obtain an felem satisfying a_i < 2^57.
79 typedef limb felem[4];
138 static const felem gmul[2][16][3] = {
239 felem g_pre_comp[2][16][3];
311 static void bin28_to_felem(felem out, const u8 in[28])
319 static void felem_to_bin28(u8 out[28], const felem in)
331 static int BN_to_felem(felem out, const BIGNUM *bn)
350 static BIGNUM *felem_to_BN(BIGNUM *out, const felem in)
368 static void felem_one(felem out)
376 static void felem_assign(felem out, const felem in)
385 static void felem_sum(felem out, const felem in)
395 static void felem_diff(felem out, const felem in)
444 static void felem_diff_128_64(widefelem out, const felem in)
469 static void felem_scalar(felem out, const limb scalar)
493 static void felem_square(widefelem out, const felem in)
509 static void felem_mul(widefelem out, const felem in1, const felem in2)
527 static void felem_reduce(felem out, const widefelem in)
591 static void felem_square_reduce(felem out, const felem in)
598 static void felem_mul_reduce(felem out, const felem in1, const felem in2)
609 static void felem_contract(felem out, const felem in)
666 static void felem_neg(felem out, const felem in)
680 static limb felem_is_zero(const felem in)
702 static void felem_inv(felem out, const felem in)
704 felem ftmp, ftmp2, ftmp3, ftmp4;
786 static void copy_conditional(felem out, const felem in, limb icopy)
819 point_double(felem x_out, felem y_out, felem z_out,
820 const felem x_in, const felem y_in, const felem z_in)
823 felem delta, gamma, beta, alpha, ftmp, ftmp2;
907 static void point_add(felem x3, felem y3, felem z3,
908 const felem x1, const felem y1, const felem z1,
909 const int mixed, const felem x2, const felem y2,
910 const felem z2)
912 felem ftmp, ftmp2, ftmp3, ftmp4, ftmp5, x_out, y_out, z_out;
1105 const felem pre_comp[][3], felem out[3])
1139 static void batch_mul(felem x_out, felem y_out, felem z_out,
1142 const int mixed, const felem pre_comp[][17][3],
1143 const felem g_pre_comp[2][16][3])
1148 felem nq[3], tmp[4];
1182 memcpy(nq, tmp, 3 * sizeof(felem));
1221 memcpy(nq, tmp, 3 * sizeof(felem));
1342 felem z1, z2, x_in, y_in, x_out, y_out;
1378 static void make_points_affine(size_t num, felem points[ /* num */ ][3],
1379 felem tmp_felems[ /* num+1 */ ])
1387 sizeof(felem),
1423 felem (*pre_comp)[17][3] = NULL;
1424 felem *tmp_felems = NULL;
1428 felem x_in, y_in, z_in, x_out, y_out, z_out;
1430 const felem(*g_pre_comp)[16][3] = NULL;
1447 g_pre_comp = (const felem(*)[16][3])pre->g_pre_comp;
1488 OPENSSL_malloc(sizeof(felem) * (num_points * 17 + 1));
1581 mixed, (const felem(*)[17][3])pre_comp, g_pre_comp);
1586 NULL, mixed, (const felem(*)[17][3])pre_comp, NULL);
1616 felem tmp_felems[32];