fp_t
ATTRIBUTE_WARN_UNUSED_RET int aff_pt_montgomery_v_from_u(fp_t v1, fp_t v2, fp_src_t u, ec_montgomery_crv_src_t crv);
ATTRIBUTE_WARN_UNUSED_RET int aff_pt_y_from_x(fp_t y1, fp_t y2, fp_src_t x, ec_shortw_crv_src_t curve);
ATTRIBUTE_WARN_UNUSED_RET int aff_pt_edwards_y_from_x(fp_t y1, fp_t y2, fp_src_t x, ec_edwards_crv_src_t crv);
ATTRIBUTE_WARN_UNUSED_RET int aff_pt_edwards_x_from_y(fp_t x1, fp_t x2, fp_src_t y, ec_edwards_crv_src_t crv);
ATTRIBUTE_WARN_UNUSED_RET int fp_init(fp_t A, fp_ctx_src_t fpctx);
ATTRIBUTE_WARN_UNUSED_RET int fp_init_from_buf(fp_t A, fp_ctx_src_t fpctx, const u8 *buf, u16 buflen);
void fp_uninit(fp_t A);
ATTRIBUTE_WARN_UNUSED_RET int fp_set_nn(fp_t out, nn_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_zero(fp_t out);
ATTRIBUTE_WARN_UNUSED_RET int fp_one(fp_t out);
ATTRIBUTE_WARN_UNUSED_RET int fp_set_word_value(fp_t out, word_t val);
ATTRIBUTE_WARN_UNUSED_RET int fp_copy(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_tabselect(fp_t out, u8 idx, fp_src_t *tab, u8 tabsize);
ATTRIBUTE_WARN_UNUSED_RET int fp_import_from_buf(fp_t out_fp, const u8 *buf, u16 buflen);
ATTRIBUTE_WARN_UNUSED_RET int fp_add(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_inc(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_sub(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_dec(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_neg(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_add_monty(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_sub_monty(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_mul_monty(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_sqr_monty(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_div_monty(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_mul(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_sqr(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_inv(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_inv_word(fp_t out, word_t w);
ATTRIBUTE_WARN_UNUSED_RET int fp_div(fp_t out, fp_src_t num, fp_src_t den);
ATTRIBUTE_WARN_UNUSED_RET int fp_mul_redc1(fp_t out, fp_src_t in1, fp_src_t in2);
ATTRIBUTE_WARN_UNUSED_RET int fp_sqr_redc1(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_redcify(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_unredcify(fp_t out, fp_src_t in);
ATTRIBUTE_WARN_UNUSED_RET int fp_pow(fp_t out, fp_src_t base, nn_src_t exp);
ATTRIBUTE_WARN_UNUSED_RET int fp_get_random(fp_t out, fp_ctx_src_t ctx);
ATTRIBUTE_WARN_UNUSED_RET int fp_sqrt(fp_t sqrt1, fp_t sqrt2, fp_src_t n);
fp_t name##_ptr[] = {NULL};
fp_t name##_ptr[] = { &name##0 };\
fp_t name##_ptr[] = { &name##0, &name##1 };\
fp_t name##_ptr[] = { &name##0, &name##1, &name##2 };\
fp_t name##_ptr[] = { &name##0, &name##1, &name##2, &name##3 };\
fp_t name##_ptr[] = { &name##0, &name##1, &name##2, &name##3, &name##4 };\
fp_t name##_ptr[] = { &name##0, &name##1, &name##2, &name##3, &name##4, &name##5 };\
#define FP_T_GENERIC_IN(num) ((fp_t)params[num])
int aff_pt_y_from_x(fp_t y1, fp_t y2, fp_src_t x, ec_shortw_crv_src_t curve)
int aff_pt_edwards_y_from_x(fp_t y1, fp_t y2, fp_src_t x, ec_edwards_crv_src_t crv)
int aff_pt_edwards_x_from_y(fp_t x1, fp_t x2, fp_src_t y, ec_edwards_crv_src_t crv)
int aff_pt_montgomery_v_from_u(fp_t v1, fp_t v2, fp_src_t u, ec_montgomery_crv_src_t crv)
ATTRIBUTE_WARN_UNUSED_RET static int compute_v_from_u(fp_src_t u, fp_t v, ec_montgomery_crv_src_t crv)
fp_t u_coord, v_coord;
fp_t x = NULL;
ATTRIBUTE_WARN_UNUSED_RET static int _sss_derive_seed(fp_t out, const u8 seed[SSS_SECRET_SIZE], u16 idx)
int fp_init(fp_t in, fp_ctx_src_t fpctx)
int fp_init_from_buf(fp_t in, fp_ctx_src_t fpctx, const u8 *buf, u16 buflen)
void fp_uninit(fp_t in)
int fp_set_nn(fp_t out, nn_src_t in)
int fp_zero(fp_t out)
int fp_one(fp_t out)
int fp_set_word_value(fp_t out, word_t val)
int fp_copy(fp_t out, fp_src_t in)
int fp_tabselect(fp_t out, u8 idx, fp_src_t *tab, u8 tabsize)
int fp_import_from_buf(fp_t out_fp, const u8 *buf, u16 buflen)
int fp_dec(fp_t out, fp_src_t in)
int fp_neg(fp_t out, fp_src_t in)
int fp_add(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_inc(fp_t out, fp_src_t in)
int fp_sub(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_add_monty(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_sub_monty(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_mul_monty(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_sqr_monty(fp_t out, fp_src_t in)
int fp_div_monty(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_div(fp_t out, fp_src_t num, fp_src_t den)
int fp_mul(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_sqr(fp_t out, fp_src_t in)
int fp_inv(fp_t out, fp_src_t in)
int fp_inv_word(fp_t out, word_t w)
int fp_mul_redc1(fp_t out, fp_src_t in1, fp_src_t in2)
int fp_sqr_redc1(fp_t out, fp_src_t in)
int fp_redcify(fp_t out, fp_src_t in)
int fp_unredcify(fp_t out, fp_src_t in)
ATTRIBUTE_WARN_UNUSED_RET static int _fp_pow(fp_t out, fp_src_t base, nn_src_t exp)
ATTRIBUTE_WARN_UNUSED_RET static int _fp_pow_aliased(fp_t out, nn_src_t exp)
int fp_pow(fp_t out, fp_src_t base, nn_src_t exp)
int fp_get_random(fp_t out, fp_ctx_src_t ctx)
int fp_sqrt(fp_t sqrt1, fp_t sqrt2, fp_src_t n)
fp_t _n = &__n;
fp_t y;