File: bint.f

package info (click to toggle)
nastran 0.1.95-2
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye, sid
  • size: 122,540 kB
  • sloc: fortran: 284,409; sh: 771; makefile: 324
file content (56 lines) | stat: -rw-r--r-- 1,322 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
      FUNCTION BINT(I,J,A,B,IV,IW,R,Z)
      DIMENSION  R(1) , Z(1)
      BINT = 0.0
      IW1 = IW + 1
      C1P = B
      C2P = A
      C1 = C1P
       C2 = C2P
      AW = 0.0
      IF( R(I) .NE. 0.0E0 .AND. R(J) .NE. 0.0E0 ) AW = ALOG(R(J)/R(I))
      DO 100 IT = 1,IW1
      IC = IW - IT + 1
      IF (IC.EQ.0) C1 = 1.0
      IF (IT.EQ.1) C2 = 1.0
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C THE FOLLOWING CODE REPLACES REAL FUNCTION COEF
C
      IF(IT.EQ.1) GO TO 20
      IN = 1
      ID = 1
      DO 10 K=2,IT
      IN = IN*(IW-K+2)
      ID = ID*(K-1)
   10 CONTINUE
      COEF = IN/ID
      GO TO 30
   20 COEF = 1.0
   30 CONTINUE
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C THE FOLLOWING CODE REPLACES REAL FUNCTION AJ
C
      IS1 = IC+IV+1
      IF(IS1.EQ.0) GO TO 60
      SP1 = IS1
      AJ = (R(J)**IS1-R(I)**IS1) / SP1
      GO TO 70
   60 AJ = AW
   70 CONTINUE
C
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
      BINT = BINT + C1 ** IC * AJ * C2 ** (IT - 1) * COEF
      C1 = C1P
      C2 = C2P
  100 CONTINUE
      AW = IW
      BINT = BINT / AW
      RETURN
      END