void UniSubFC(poly_fc & r,poly_fc & f,poly_fc & g) { int sf=f.size(),sg=g.size(),ms=std::min<int>(sf,sg); r.resize(std::max<int>(sf,sg)); for(int i=0;i<ms;i++)mpfc_sub(r[i],f[i],g[i]); if(sf<sg) { for(int i=ms;i<sg;i++)mpfc_neg(r[i],g[i]); } else { for(int i=ms;i<sf;i++)mpfc_set(r[i],f[i]); } if(sf==sg)r.normalize(); return ; }
void negate(elem &result, elem a) const { mpfc_neg(&result,&a); }