1 : C ENDW1 SOURCE CHAT 05/01/12 23:39:20 5004 2 : FUNCTION ENDW1 (N,ALPHA,BETA) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : REAL*8 ALPHA,BETA 6 : ZERO = 0.D0 7 : ONE = 1.D0 8 : TWO = 2.D0 9 : THREE = 3.D0 10 : FOUR = 4.D0 11 : APB = ALPHA+BETA 12 : IF (N.EQ.0) THEN 13 : ENDW1 = ZERO 14 : RETURN 15 : ENDIF 16 : F1 = GAMMAF(ALPHA+TWO)*GAMMAF(BETA+ONE)/GAMMAF(APB+THREE) 17 : F1 = F1*(APB+TWO)*TWO**(APB+TWO)/TWO 18 : IF (N.EQ.1) THEN 19 : ENDW1 = F1 20 : RETURN 21 : ENDIF 22 : FINT1 = GAMMAF(ALPHA+TWO)*GAMMAF(BETA+ONE)/GAMMAF(APB+THREE) 23 : FINT1 = FINT1*TWO**(APB+TWO) 24 : FINT2 = GAMMAF(ALPHA+TWO)*GAMMAF(BETA+TWO)/GAMMAF(APB+FOUR) 25 : FINT2 = FINT2*TWO**(APB+THREE) 26 : F2 = (-TWO*(BETA+TWO)*FINT1 + (APB+FOUR)*FINT2) 27 : $ * (APB+THREE)/FOUR 28 : IF (N.EQ.2) THEN 29 : ENDW1 = F2 30 : RETURN 31 : ENDIF 32 : DO 100 I=3,N 33 : DI = DBLE(I-1) 34 : ABN = ALPHA+BETA+DI 35 : ABNN = ABN+DI 36 : A1 = -(TWO*(DI+ALPHA)*(DI+BETA))/(ABN*ABNN*(ABNN+ONE)) 37 : A2 = (TWO*(ALPHA-BETA))/(ABNN*(ABNN+TWO)) 38 : A3 = (TWO*(ABN+ONE))/((ABNN+TWO)*(ABNN+ONE)) 39 : F3 = -(A2*F2+A1*F1)/A3 40 : F1 = F2 41 : F2 = F3 42 : 100 CONTINUE 43 : ENDW1 = F3 44 : RETURN 45 : END 46 : 47 :
© Cast3M 2003 - All rights reserved.
Disclaimer