35 lines
942 B
OpenEdge ABL
35 lines
942 B
OpenEdge ABL
|
66300 #include "rundecs.h"
|
||
|
66310 (* COPYRIGHT 1983 C.H.LINDSEY, UNIVERSITY OF MANCHESTER *)
|
||
|
66320 (**)
|
||
|
66330 (**)
|
||
|
66340 FUNCTION TAN(X: REAL): REAL;
|
||
|
66350 BEGIN TAN := SIN(X)/COS(X) END;
|
||
|
66360 (**)
|
||
|
66370 (**)
|
||
|
66380 FUNCTION ARCCOS(X: REAL): REAL;
|
||
|
66390 BEGIN
|
||
|
66400 IF ABS(X)>0.5 THEN
|
||
|
66410 ARCCOS := ARCTAN(SQRT(1-SQR(X))/X)+ORD(X<0)*(HALFPI.ACTUALPI+HALFPI.ACTUALPI)
|
||
|
66420 ELSE
|
||
|
66430 ARCCOS := HALFPI.ACTUALPI-ARCTAN(X/SQRT(1-SQR(X)));
|
||
|
66440 END;
|
||
|
66450 (**)
|
||
|
66460 (**)
|
||
|
66470 FUNCTION ARCSIN(X: REAL): REAL;
|
||
|
66480 BEGIN
|
||
|
66490 IF ABS(X)<0.5 THEN
|
||
|
66500 ARCSIN := ARCTAN(X/SQRT(1-SQR(X)))
|
||
|
66510 ELSE
|
||
|
66520 ARCSIN := (1-2*ORD(X<0))*HALFPI.ACTUALPI-ARCTAN(SQRT(1-SQR(X))/X);
|
||
|
66530 END;
|
||
|
66540 (**)
|
||
|
66550 (**)
|
||
|
66560 (*-02()
|
||
|
66570 BEGIN (* OF A68 *)
|
||
|
66580 END (* OF A68 *);
|
||
|
66590 ()-02*)
|
||
|
66600 (*+01()
|
||
|
66610 BEGIN (* OF MAIN PROGRAM *)
|
||
|
66620 END (* OF MAIN PROGRAM *).
|
||
|
66630 ()+01*)
|