File: endsf.f

package info (click to toggle)
x13as 1.1-B39-2
  • links: PTS, VCS
  • area: non-free
  • in suites: bullseye
  • size: 8,700 kB
  • sloc: fortran: 110,641; makefile: 14
file content (39 lines) | stat: -rw-r--r-- 1,164 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
      SUBROUTINE endsf(Simon,Savg,K,W,Nend)
      IMPLICIT NONE
C-----------------------------------------------------------------------
C --- APPLY END WEIGHTS FOR THE 3X9 or 3X15
C-----------------------------------------------------------------------
      DOUBLE PRECISION Simon,Savg,W,totals,Sumwt
      INTEGER K,kk,jj,j1,j2,jk,l,Nend
      DIMENSION Simon(*),Savg(*),W(*)
      EXTERNAL totals
C-----------------------------------------------------------------------
      kk=0
      jj=1
      j1=jj
      j2=K
      DO WHILE (jj.le.Nend.and.j1.le.j2)
       jk=jj+Nend
       IF(jk.gt.K)THEN
        Savg(j1)=totals(Simon,1,K,1,1)
        IF(j1.ne.j2)Savg(j2)=Savg(j1)
       ELSE
        Savg(j1)=0D0
        Savg(j2)=0D0
        Sumwt=0D0
        DO l=1,jk
         Savg(j1)=Savg(j1)+W(kk+l)*Simon(l)
         IF(j1.ne.j2)Savg(j2)=Savg(j2)+W(kk+l)*Simon(K-l+1)
         Sumwt=Sumwt+W(kk+l)
        END DO
        Savg(j1)=Savg(j1)/Sumwt
        Savg(j2)=Savg(j2)/Sumwt
       END IF
       kk=kk+jk
       jj=jj+1
       j1=jj
       j2=K-jj+1
      END DO
C-----------------------------------------------------------------------
      RETURN
      END