|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 913 (0x391) Types: TextFile Notes: UNIX file Names: »atan.c«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code └─⟦f4b8d8c84⟧ UNIX Filesystem └─⟦this⟧ »libm/atan.c«
/* * Compute the inverse tangent function. * (Hart 5100, 17.24) */ #include <math.h> static double tanntab[] ={ 0.12097470017580907217240715e+04, 0.30310745956115083044212807e+04, 0.27617198246138834959053784e+04, 0.11141290728455183546172942e+04, 0.19257920144815596134742860e+03, 0.11322159411676465523624500e+02, 0.97627215917176330369830000e-01 }; static double tanmtab[] ={ 0.12097470017580907287514197e+04, 0.34343235961975351716547069e+04, 0.36645449563283749893504796e+04, 0.18216003392918464941509225e+04, 0.42307164648090478045242060e+03, 0.39917884248653798150199900e+02, 0.10000000000000000000000000e+01 }; double atan(x) double x; { double r; register int i, s; s = 0; i = 0; if (x < 0.0) { s = 1; x = -x; } if (x > 1.0) { i = 1; x = 1/x; } r = x * x; r = x * (_pol(r, tanntab, 7)/_pol(r, tanmtab, 7)); if (i) r = PI/2.0 - r; if (s) r = -r; return (r); }