X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;ds=sidebyside;f=sw%2Ff4%2FFRTSRC%2Facos.ra;fp=sw%2Ff4%2FFRTSRC%2Facos.ra;h=0ce825118ca4d21e31a2ad4462fc0d2aad0f0146;hb=7af5ad59491ddf2066641aef1e0025a337c0f247;hp=0000000000000000000000000000000000000000;hpb=919757fd611e482003ce51f366f6783cab73dea3;p=pdp8.git diff --git a/sw/f4/FRTSRC/acos.ra b/sw/f4/FRTSRC/acos.ra new file mode 100644 index 0000000..0ce8251 --- /dev/null +++ b/sw/f4/FRTSRC/acos.ra @@ -0,0 +1,78 @@ +/ +/ +/ A C O S +/ - - - - +/ +/SUBROUTINE ACOS(X) +/ +/ VERSION 5A 4-27-77 PT +/ + SECT ACOS + JA #ACOS + TEXT +ACOS + +ACOSXR, SETX XRACOS + SETB BPACOS +BPACOS, FNOP + 0 + 0 +XRACOS, F 0.0 +ACOS8, F 0.0 +ACOS7, F 0.0 +FPI2AC, 1 /PI OVER 2 + 3110 + 3755 +F1ACOS, F 1. +FPIACS, 2 /PI + 3110 + 3755 + ORG 10*3+BPACOS + FNOP + JA ACOSXR + 0 +ACSRTN, JA . + BASE 0 +#ACOS, STARTD + FLDA 10*3 + FSTA ACSRTN + FLDA 0 + SETX XRACOS + SETB BPACOS + BASE BPACOS + LDX 1,1 + FSTA BPACOS + FLDA% BPACOS,1 /ADDR OF X + FSTA BPACOS + STARTF + FLDA% BPACOS /GET X + FSTA ACOS8 /SAVE IT + JEQ ACOSEQ /IF 0 RTN PI OVER 2 + LDX -1,0 /JUMP TIME + JGE .+5 + LDX 0,0 + FNEG + FSUB F1ACOS /1-!X! + JLE ACOSOK /IS IT <1.? + EXTERN #ARGER + TRAP4 #ARGER + JA ACSRTN /AND RETURN +ACOSOK, FLDA ACOS8 /X + FMUL ACOS8 /X^2 + FNEG /-X^2 + FADD F1ACOS /1-X^2 + FSTA ACOS7 + EXTERN SQRT + JSR SQRT /CALL SQRT + JA .+4 /SQRT (1-X^2) + JA ACOS7 + FDIV ACOS8 /SQRT (1-X^2)/X + FSTA ACOS7 + EXTERN ATAN + JSR ATAN /CALL ATAN + JA .+4 /ATAN (SQRT(1-X^2)/X) + JA ACOS7 + JXN ACSRTN,0 /NO SIGN CHG NECESSARY + FADD FPIACS /ADD PI IF MINUE + JA ACSRTN +ACOSEQ, FLDA FPI2AC /RTN PI OVER 2 IF 0 + JA ACSRTN +