File I2.F4

Directory of image this file is from
This file as a plain text file

      SUBROUTINE ELI2(R,TH,EM)
	CK=SQRT(ABS(1.-EM**2))
	IF(ABS(EM).GT.1.0) CK=-CK
	A=1.0
	B= 1.-EM**2
	IF(ABS(COS(TH)).LT..1E-5) GO TO 116
	X=SIN(TH)/COS(TH)
	GO TO 117
116	X=.1E10*SIN(TH)/ABS(SIN(TH))
C---- TEST ARGUEMENT
117      IF(X) 2,1,2
 1    R=0.
      RETURN
C---- TEST MODULUS
 2    C=0.
      D=0.5
      IF(CK) 7,3,7
 3    R=SQRT(ABS(1.+X*X))
      R=(A-B)*ABS(X)/R+B*ALOG(ABS(X)+R)
C---- TEST SIGN OF ARGUEMENT
 4    R=R+C*(A-B)
      IF(X) 5,6,6
 5    R=-R
 6    RETURN
C---- INITIALIZATION
 7    AN=(B+A)*.5
      AA=A
      R=B
	ANG=.1E10
	IF(ABS(X).LT..1E-5) GO TO 18
      ANG=ABS(1.0/X)
18      PIM=0.
      ISI=0
      ARI=1.
      GEC=ABS(CK)
C---- LANDEN TRANSFORM
 8    R=AA*GEC+R
      SGEC=ARI*GEC
      AA=AN
      AARI=ARI
C---- ARITHMETIC MEAN
      ARI=GEC+ARI
C---- SUM OF SINE VALUES
	AN=.1E10
	IF(ABS(ARI).LT..1E-5) GO TO 19
      AN=(R/ARI+AA)*0.5
19      AANG=ABS(ANG)
      ANG=-SGEC/ANG+ANG
      PIMA=PIM
      IF(ANG) 10,9,11
 9    ANG=-1.E-8*AANG
 10   PIM=PIM+3.1415927
      ISI=ISI+1
 11   AANG=ARI*ARI+ANG*ANG
	P=.1E10
	IF(ABS(AANG).LT..1E-5) GO TO 20
      P=D/SQRT(ABS(AANG))
20      IF(ISI-4) 13,12,12
 12   ISI=ISI-4
 13   IF(ISI-2) 15,14,14
 14   P=-P
 15   C=C+P
	IF(ABS(ARI).LT..1E-5) GO TO 21
      D=D*(AARI-GEC)*0.5/ARI
	GO TO 22
21	D=.1E10
22      IF(ABS(AARI-GEC)-1.0E-4*AARI) 17,17,16
 16   SGEC=SQRT(ABS(SGEC))
C---- GEOMETRIC MEAN
      GEC=SGEC+SGEC
      PIM=PIM+PIMA
      ISI=ISI+ISI
      GO TO 8
C---- ACCURACY WAS SUFFICIENT
 17   R=(ATAN(ARI/ANG)+PIM)*AN/ARI
      C=C+D*ANG/AANG
      GO TO 4
      END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search