void add(ElementType& result, const ElementType& a, const ElementType& b) const { fq_zech_add(&result, &a, &b, mContext); // printf("zech add %lu + %lu = %lu\n", a.value, b.value, result.value); }
void fq_zech_set_fq_nmod(fq_zech_t rop, const fq_nmod_t op, const fq_zech_ctx_t ctx) { mp_limb_t i; fq_zech_t t; fq_zech_zero(rop, ctx); for (i = 0; i < op->length; i++) { if (op->coeffs[i] == 0) { continue; } t->value = i; fq_zech_mul_ui(t, t, op->coeffs[i], ctx); fq_zech_add(rop, rop, t, ctx); } }