Funktion ARCUS TANGENS in Clipper
Ersatz für Funktion ATAN() in CA-Clipper Tools III
FUNCTION ATANGENS(zahl,trigmode) LOCAL incr := 0 LOCAL pi := 3.14159265358979323846 LOCAL v0 := 0 LOCAL v1 := 216.06230789724 LOCAL v2 := 0 LOCAL v3 := 0 LOCAL v4 := 0 LOCAL v5 := 0 LOCAL x := 0 x=zahl v0=x IF v0<0 v0=-v0 ENDIF IF v0>2.4142135623731 v3=2 v0=-1/v0 ELSEIF v0>0.41421356237310 v3=1 v0=1-(2/(1+v0)) ELSE v3=0 ENDIF v2=v0*v0 v4=(((12.888383034157*v2+132.70239816398)*v2+322.66207001325)*v2+v1)*v0 v5=(((v2+38.501486508351)*v2+221.05088302842)*v2+394.68283931228)*v2+v1 v0=v4/v5 IF v3>1.5 v0+=1.5707963267949 ELSEIF v3>0.5 v0+=0.78539816339745 ENDIF IF x<0 v0=-v0 ENDIF IF UPPER(trigmode)=="DEG" x=v0 ELSEIF UPPER(trigmode)=="RAD" x=v0*180/pi ELSE x=v0 ENDIF RETURN(x)
original work for dBase II 7.2.1986 by Dave C. Oshel, Ames, Iowa.
from the Ashton-Tate "Advanced Programmer's Guide", pp. 460-462.
coming from an article in MICROSYSTEMS 4 (December, 1983), by Lurie.
after the algorithms in Hart et al, "Computer Approximations", Kreiger, 1978.