X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fos8%2Fv3d%2Fsources%2Ffortran%2Fdectapes%2Fdectape2%2Fdatan.ra;fp=sw%2Fos8%2Fv3d%2Fsources%2Ffortran%2Fdectapes%2Fdectape2%2Fdatan.ra;h=fcd488b3b76ee8bba6d961e87cb111bfd3ab4d19;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/os8/v3d/sources/fortran/dectapes/dectape2/datan.ra b/sw/os8/v3d/sources/fortran/dectapes/dectape2/datan.ra new file mode 100644 index 0000000..fcd488b --- /dev/null +++ b/sw/os8/v3d/sources/fortran/dectapes/dectape2/datan.ra @@ -0,0 +1,203 @@ +/ +/ +/ SUBROUTINE DATAN(X) +/ +/ VERSION 5A 4-26-77 (MH) +/ +/X,THE ARGUMENT, IS REDUCED TO +/01.0 THEN ATAN(X)=PI/2 - ATAN(1/X) +/IF .51? + FLDA DATFP1 /YES + FDIV X /X=1/X + LDX 0,1 /SET FLAG + FSTA X +DATB, FLDA X + FSUB DATP5 />= .5 + JLT DATC + FLDA X /X=(2X-1)/(X+2) + FADD DATFP2 + FSTA DT1 /TEMP + FLDA X + FMUL DATFP2 + FSUB DATFP1 + FDIV DT1 + FSTA X + FLDA ATN1S2 /C0=ATAN(1/2) + FSTA C0 +/COMPUTE ATAN USING ALGORITHM +DATC, FLDA X + FMUL X + FSTA Z /Z=X*X + FLDA Z + FADD DATB3 /Z+B3 + FSTA DT1 + FLDA DATA3 + FDIV DT1 /A3/(Z+B3) + FADD DATB2 + FADD Z /ADD Z+B2 + FSTA DT1 /TEMP + FLDA DATA2 /A2/TEMP + FDIV DT1 + FADD DATB1 + FADD Z /ADD Z +B1 + FSTA DT1 /TEMP + FLDA DATA1 /A1/TEMP + FDIV DT1 + FADD DATB0 /ADD Z+B0 + FADD Z + FSTA DT1 + FLDA LAMBDA /LAMBDA*X + FMUL X + FDIV DT1 /DIV BY THE REST + FADD C0 + FSTA X + JXN DATD,1 /WAS X>1 ORIGINALLY? + FLDA PIS2 /Y ATAN(X)=PI/2-ATAN(X) + FSUB X +DATD, JXN DATRTN,0 /WAS X<0? + FNEG /Y + JA DATRTN +DATGO, FLDA X + JA DATD +