home *** CD-ROM | disk | FTP | other *** search
- FUNCTION bessi0(x: real): real;
- VAR
- ax: real; y,ans: double;
- BEGIN
- IF (abs(x) < 3.75) THEN BEGIN
- y := sqr(x/3.75);
- ans := 1.0+y*(3.5156229+y*(3.0899424+y*(1.2067492+y*
- (0.2659732+y*(0.360768e-1+y*0.45813e-2))))) END
- ELSE BEGIN
- ax := abs(x); y := 3.75/ax;
- ans := (exp(ax)/sqrt(ax))*(0.39894228+y*(0.1328592e-1
- +y*(0.225319e-2+y*(-0.157565e-2+y*(0.916281e-2
- +y*(-0.2057706e-1+y*(0.2635537e-1+y*(-0.1647633e-1
- +y*0.392377e-2)))))))) END;
- bessi0 := sngl(ans)
- END;
-