static void fq_set_multiz(element_ptr e, multiz m) { eptr p = e->data; if (multiz_is_z(m)) { element_set_multiz(p->x, m); element_set0(p->y); return; } element_set_multiz(p->x, multiz_at(m, 0)); if (2 > multiz_count(m)) element_set0(p->y); else element_set_multiz(p->y, multiz_at(m, 1)); }
static void curve_set_multiz(element_ptr a, multiz m) { if (multiz_is_z(m)) { if (multiz_is0(m)) { element_set0(a); return; } pbc_warn("bad multiz"); return; } else { if (multiz_count(m) < 2) { pbc_warn("multiz has too few coefficients"); return; } point_ptr p = (point_ptr)a->data; p->inf_flag = 0; element_set_multiz(p->x, multiz_at(m, 0)); element_set_multiz(p->y, multiz_at(m, 1)); } }