PROGRAM D6R27 C Driver for routine PLGNDR CHARACTER TEXT*27 OPEN(5,FILE='FNCVAL.DAT',STATUS='OLD') 10 READ(5,'(A)',ERR=99) TEXT IF (TEXT.EQ.'Legendre Polynomials') THEN READ(5,*) NVAL WRITE(*,*) TEXT WRITE(*,'(1X,T5,A,T9,A,T20,A,T35,A,T49,A)') * 'N','M','X','Actual','PLGNDR(N,M,X)' DO 12 I=1,NVAL READ(5,*) N,M,X,VALUE FAC=1.0 IF (M.GT.0) THEN DO 11 J=N-M+1,N+M FAC=FAC*J 11 CONTINUE ENDIF FAC=2.0*FAC/(2.0*N+1.0) VALUE=VALUE*SQRT(FAC) WRITE(*,'(1X,2I4,3E17.6)') N,M,X,VALUE,PLGNDR(N,M,X) 12 CONTINUE ENDIF GOTO 10 99 CLOSE(5) END