File: bakusr.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 (59 lines) | stat: -rw-r--r-- 2,635 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
57
58
59
      SUBROUTINE bakusr(Userx,Usrtyp,Usrptr,Ncusrx,Usrttl,Regfx,B,
     &                  Rgvrtp,Ngrp,Grpttl,Grp,Grpptr,Ngrptl,Rind,Is1st)
      IMPLICIT NONE
c-----------------------------------------------------------------------
c     Making backup copy of user defined regressors for regARIMA, m.
c-----------------------------------------------------------------------
      LOGICAL T
      PARAMETER(T=.true.)
c-----------------------------------------------------------------------
      INCLUDE 'srslen.prm'
      INCLUDE 'model.prm'
      INCLUDE 'urgbak.cmn'
c-----------------------------------------------------------------------
      LOGICAL Regfx,Is1st
      CHARACTER Grpttl*(PGRPCR*PGRP),Usrttl*(PCOLCR*PUREG)
      DOUBLE PRECISION B,Userx
      INTEGER Usrtyp,Ncusrx,Usrptr,Rgvrtp,Ngrp,Grpptr,Ngrptl,Grp,disp,i,
     &        iuser,igrp,begcol,endcol,Rind
      DIMENSION B(PB),Regfx(PB),Rgvrtp(PB),Userx(PUSERX),Usrtyp(PUREG),
     &          Grp(0:PGRP),Grpptr(0:PGRP),Usrptr(0:PUREG)
c-----------------------------------------------------------------------
      INTEGER strinx
      EXTERNAL strinx
c-----------------------------------------------------------------------
c     remove the user defined regressors from the regression matrix.
c-----------------------------------------------------------------------
      iuser=(PUREG*Rind)
      DO igrp=1,Ngrp
      begcol=Grp(igrp-1)
      endcol=Grp(igrp)-1
       IF((Rgvrtp(begcol).ge.PRGTUH.and.Rgvrtp(begcol).le.PRGUH5).or.
     &     Rgvrtp(begcol).eq.PRGTUS.or.Rgvrtp(begcol).eq.PRGUTD.or.
     &     Rgvrtp(begcol).eq.PRGTUD.or.Rgvrtp(begcol).eq.PRGULM.or.
     &     Rgvrtp(begcol).eq.PRGULQ.or.Rgvrtp(begcol).eq.PRGULY.or.
     &     Rgvrtp(begcol).eq.PRGUAO.or.Rgvrtp(begcol).eq.PRGULS.or.
     &     Rgvrtp(begcol).eq.PRGUSO.or.Rgvrtp(begcol).eq.PRGUCN.or.
     &     Rgvrtp(begcol).eq.PRGUCY)THEN
        DO i=begcol,endcol
         iuser=iuser+1
         Buser(iuser)=B(i)
         Fxuser(iuser)=Regfx(i)
        END DO
       END IF
      END DO
c-----------------------------------------------------------------------
c     Make backup copy of user defined regressors.
c-----------------------------------------------------------------------
      IF(.not.Is1st)RETURN
      disp=(PUSERX*Rind)+1
      CALL copy(Userx(disp),PUSERX,1,Userx2)
      disp=(PUREG*Rind)+1
      CALL cpyint(Usrtyp(disp),PUREG,1,Usrty2)
      disp=((PUREG+1)*Rind)+1
      CALL cpyint(Usrptr(0),PUREG+1,1,Usrpt2(disp))
      Ncusx2(Rind)=Ncusrx
      Usrtt2(Rind)=Usrttl
c-----------------------------------------------------------------------
      RETURN
      END