00001 00009 #include "basics.h" 00010 #include "specfun_stdcplx.h" 00011 #include <iostream> 00012 00013 NAMESPACE_TBCI 00022 CPLX__ complex<double> hyper2geom1 (const CPLX__ complex<double> a, 00023 const CPLX__ complex<double> b, 00024 const CPLX__ complex<double> c, 00025 const CPLX__ complex<double> z) 00026 { 00027 CPLX__ complex<double> oldres, res, fac; 00028 res = 1.0; fac = 1.0; 00029 for (int n = 0; n < 120; n++) { 00030 oldres = res; 00031 fac *= (a+(double)n) * (b+(double)n) * z / ((c+(double)n) * (double)(n+1)); 00032 res += fac; 00033 if (res == oldres) 00034 return res; 00035 } 00036 STD__ cerr << "hyper2geo1: Accuracy not reached!" << STD__ endl; 00037 return res; 00038 } 00039 NAMESPACE_END
1.5.6