// 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;
}
Esempio n. 2
0
void Clipping::addPolys(const vector<ExPoly> &expolys, PolyType type)
{
  for (uint i = 0; i < expolys.size(); i++)
    addPolys(expolys[i], type);
}
Esempio n. 3
0
void Clipping::addPolys(const ExPoly &expoly, PolyType type)
{
  vector<Poly> polys = getPolys(expoly);
  addPolys(polys, type);
}