File: putrev.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 (47 lines) | stat: -rw-r--r-- 1,823 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
C     Last change:  BCM  25 Nov 97   10:36 am
      SUBROUTINE putrev(Inrev,Outrev,Outch,Outind,Iptr,Lrv,Lrvch,Muladd,
     &                  Itype,Rvdiff,Indrev)
      IMPLICIT NONE
c-----------------------------------------------------------------------
c     This subroutine puts the values into the proper vector or matrix
c     for the revisions history analysis
c-----------------------------------------------------------------------
      DOUBLE PRECISION PCT,ZERO
      LOGICAL F
      PARAMETER(PCT=100D0,ZERO=0D0,F=.false.)
c-----------------------------------------------------------------------
      INCLUDE 'agr.cmn'
c-----------------------------------------------------------------------
      LOGICAL Lrv,Lrvch
      DOUBLE PRECISION Inrev,Outrev,Outch,Outind
      INTEGER Iptr,Itype,Muladd,Rvdiff,Indrev
      DIMENSION Inrev(*)
c-----------------------------------------------------------------------
      IF(Lrv)THEN
       Outrev=Inrev(Iptr)
       IF(Itype.eq.0)THEN
        IF(Muladd.ne.1)Outrev=Outrev*PCT
       ELSE IF(Itype.eq.1)THEN
        IF(Iagr.eq.2.and.Iag.ge.0.and.Indrev.gt.0)THEN
         IF(Iag.eq.0)Outind=Outind+(Inrev(Iptr)*W)
         IF(Iag.eq.1)Outind=Outind-(Inrev(Iptr)*W)
         IF(Iag.eq.2)Outind=Outind*(Inrev(Iptr)*W)
         IF(Iag.eq.3)Outind=Outind/(Inrev(Iptr)*W)
        END IF
       END IF
      END IF
c-----------------------------------------------------------------------
      IF(Lrvch)THEN
       Outch=Inrev(Iptr)-Inrev(Iptr-1)
       IF(Muladd.eq.1.and.Rvdiff.eq.2)THEN
        IF(Inrev(Iptr-1).le.ZERO)THEN
         Lrvch=F
         Rvdiff=-1
        END IF
       END IF
       IF(Muladd.ne.1.or.Rvdiff.eq.2)Outch=(Outch/Inrev(Iptr-1))*PCT
      END IF
c-----------------------------------------------------------------------
      RETURN
      END