// Length = t? struct Fq_poly *getPolyFromCodewords(mpz_t *codewords, int *delta_i, int length, mpz_t q) { struct Fq_poly **lagrangePolys, *output; int i; lagrangePolys = generateAllLagrangePolys(length, delta_i, q); output = initPolyWithDegree(length); for(i = 1; i <= length; i ++) { scalarMultiInPlace(lagrangePolys[i-1], codewords[i-1], q); output = addPolys(lagrangePolys[i-1], output, q); // gmp_printf("%Zd\n", codewords[i-1]); } return output; }
void Clipping::addPolys(const vector<ExPoly> &expolys, PolyType type) { for (uint i = 0; i < expolys.size(); i++) addPolys(expolys[i], type); }
void Clipping::addPolys(const ExPoly &expoly, PolyType type) { vector<Poly> polys = getPolys(expoly); addPolys(polys, type); }