SUBROUTINE GAULEG(X1,X2,X,W,N,M) C ================================ C C set up angle points C INCLUDE 'IMPLIC.FOR' DIMENSION X(M),W(M) PARAMETER (EPS=3.D-14,half=0.5d0,pi=3.141592654d0,quart=0.25, * un=1.d0, two=2.d0) c N2=(N+1)/2 XM=HALF*(X2+X1) XL=HALF*(X2-X1) DO I=1,N2 Z=COS(PI*(I-quart)/(N+half)) 1 CONTINUE P1=1.D0 P2=0.D0 DO J=1,N P3=P2 P2=P1 P1=((TWO*J-UN)*Z*P2-(J-UN)*P3)/J END DO PP=N*(Z*P1-P2)/(Z*Z-un) Z1=Z Z=Z1-P1/PP IF(ABS(Z-Z1).GT.EPS) GO TO 1 X(I)=XM-XL*Z X(N+1-I)=XM+XL*Z W(I)=TWO*XL/((UN-Z*Z)*PP*PP) W(N+1-I)=W(I) END DO RETURN END