00001 00009 #include "cplx.h" 00010 #include "specfun.h" 00011 #include <iostream> 00012 00013 NAMESPACE_TBCI 00022 TBCI__ cplx<double> hyper2geom1 (const TBCI__ cplx<double> a, 00023 const TBCI__ cplx<double> b, 00024 const TBCI__ cplx<double> c, 00025 const TBCI__ cplx<double> z) 00026 { 00027 TBCI__ cplx<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+n) * (b+n) * z / ((c+n) * (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