Difference between revisions of "Afacc.cin"
Jump to navigation
Jump to search
m (]) |
|||
Line 1: | Line 1: | ||
− | // [[afacc.cin]] is routine for the complex double evaluation of [[ArcFactorial]. |
+ | // [[afacc.cin]] is routine for the complex double evaluation of [[ArcFactorial]]. |
z_type afacb(z_type z){ |
z_type afacb(z_type z){ |
Latest revision as of 18:46, 3 September 2023
// afacc.cin is routine for the complex double evaluation of ArcFactorial.
z_type afacb(z_type z){ DB z0=0.461632144968362341262659542325721328468196204; DB F0=-0.12148629053584960809551455717769158215135617313; DB c2=.483836122723810585213722380854825370205628608; DB p=0.2090973242496979633924701135209125815611056; DB q=0.0565790271828431799463572817754001404669620; DB A=0.0008685913050832152753870514845664790993724; DB B=0.0002046727298252365296379380008904113017495; z_type t=(log(z)-F0)/c2; z_type v=sqrt(t); z_type u=v*(1.+v*(p+A*t)) /(1.+v*(q+B*t)) + z0; return u;} z_type afacc(z_type z){ z_type a,c,d; a=afacb(z); d=facp(a); c=z-fac(a); a+=c/d; if(abs(c)<1.e-12) return a; d=facp(a); c=z-fac(a); a+=c/d; if(abs(c)<1.e-12) return a; d=facp(a); c=z-fac(a); a+=c/d; if(abs(c)<1.e-12) return a; d=facp(a); c=z-fac(a); a+=c/d; if(abs(c)<1.e-12) return a; d=facp(a); c=z-fac(a); a+=c/d; return a; }