PROGRAM D6R1 C Driver for routine GAMMLN CHARACTER TEXT*14 PARAMETER(PI=3.1415926) OPEN(5,FILE='FNCVAL.DAT',STATUS='OLD') 10 READ(5,'(A)') TEXT IF (TEXT.NE.'Gamma Function') GOTO 10 READ(5,*) NVAL WRITE(*,*) 'Log of gamma function:' WRITE(*,'(1X,T11,A1,T24,A6,T40,A10)') * 'X','Actual','GAMMLN(X)' DO 11 I=1,NVAL READ(5,*) X,ACTUAL IF (X.GT.0.0) THEN IF (X.GE.1.0) THEN CALC=GAMMLN(X) ELSE CALC=GAMMLN(X+1.0)-LOG(X) ENDIF WRITE(*,'(F12.2,2F18.6)') X,LOG(ACTUAL),CALC ENDIF 11 CONTINUE CLOSE(5) END