Download endw2.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer