Пример #1
0
void UniDivFC(poly_fc & q,poly_fc & f,poly_fc & g)
{
	poly_fc r;
	int k,n;
	r.resize(f.size());
	for(int i=0;i<f.size();i++)mpfc_set(r[i],f[i]);
	n=g.size()-1;
	k=r.size()-g.size();
	if(k<0)
	{
		q.resize(0);return;
	}
	q.resize(k+1);
	mpfc_t t;
	mpfc_init(t);
	do 
	{
		mpfc_div(q[k],r[n+k],g[n]);
		if(!mpfc_iszero(q[k]))
		{
			for(int i=0;i<n;i++)
			{
				uint j=n+k-1-i;
				mpfc_mul(t,q[k],g[j-k]);
				mpfc_sub(r[j],r[j],t);
			}
		}
	} while (k--);
	mpfc_clear(t);
	r.resize(0);
}
Пример #2
0
inline complexAP complexAP::operator /(complexAP c)
{
  complexAP tmp;
  mpfc_div(&tmp.value, &value, &c.value);
  return tmp;
}
Пример #3
0
 void divide(elem &result, elem a, elem b) const { mpfc_div(&result,&a,&b); }