#include #include "nr.h" using namespace std; void NR::hypser(const complex &a, const complex &b, const complex &c, const complex &z, complex &series, complex &deriv) { int n; complex aa,bb,cc,fac,temp; deriv=0.0; fac=1.0; temp=fac; aa=a; bb=b; cc=c; for (n=1;n<=1000;n++) { fac *= ((aa*bb)/cc); deriv += fac; fac *= ((1.0/n)*z); series=temp+fac; if (series == temp) return; temp=series; aa += 1.0; bb += 1.0; cc += 1.0; } nrerror("convergence failure in hypser"); }