File: frmtrs.f

package info (click to toggle)
scilab 4.0-12
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 100,640 kB
  • ctags: 57,333
  • sloc: ansic: 377,889; fortran: 242,862; xml: 179,819; tcl: 42,062; sh: 10,593; ml: 9,441; makefile: 4,377; cpp: 1,354; java: 621; csh: 260; yacc: 247; perl: 130; lex: 126; asm: 72; lisp: 30
file content (92 lines) | stat: -rw-r--r-- 3,053 bytes parent folder | download | duplicates (5)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
      subroutine frmtrs(cfcl,cfcp,cw,inf,lp1,lpft,ls1,lsft,m,
     &     mftdim,n,nc,nfcomp,nn,num,p,p1,pile,s,
     &     sdim,som,suc)
      implicit integer (a-z)
      dimension lp1(*),cfcp(*),ls1(m)
      dimension p(n),nn(n),nfcomp(n)
      dimension pile(n),num(n),inf(n),cfcl(n)
      dimension som(*),suc(m),p1(*),s(sdim),cw(n)
      dimension lpft(*),lsft(mftdim)
      n1=n+1
      do 10 i=1,n1
         cfcp(i)=1
 10   continue
      call compfc(inf,lp1,ls1,m,n,nc,nfcomp,nn,
     &     num,p,pile)
      do 20 i=1,nc
 20      som(i)=0
         do 21 j=1,n
            i=nfcomp(j)
            som(i)=som(i)+1
 21      continue
         cfcp(1)=1
         do 22 i=1,nc
            cfcp(i+1)=cfcp(i)+som(i)
 22      continue
         do 23 i=1,nc
 23         som(i)=cfcp(i)
            do 24 j=1,n
               i=nfcomp(j)
               ll=som(i)
               cfcl(ll)=j
               som(i)=som(i)+1
 24         continue
            do 30 i=1,nc+1
 30            som(i)=1
               do 80 ncfc=1,nc
                  nsuc=0
                  ind1=cfcp(ncfc)
                  ind2=cfcp(ncfc+1)-1
                  if(ind2.lt.ind1) goto 80
                  do 70 l=ind1,ind2
                     i=cfcl(l)
                     ind3=lp1(i)
                     ind4=lp1(i+1)-1
                     if(ind4.lt.ind3) goto 70
                     do 60 ll=ind3,ind4
                        j=ls1(ll)
                        ncfc1=nfcomp(j)
                        if(ncfc.eq.ncfc1) goto 60
                        if(nsuc.eq.0) goto 50
                        ind5=som(ncfc)+nsuc-1
                        do 40 lll=som(ncfc),ind5
                           if(suc(lll).eq.ncfc1) goto 60
 40                     continue
 50                     continue
                        ind6=som(ncfc)+nsuc
                        suc(ind6)=ncfc1
                        nsuc=nsuc+1
 60                  continue
 70               continue
                  som(ncfc+1)=som(ncfc)+nsuc
 80            continue
               nq=nc
               mq=som(nc+1)-1
               call ftrans(cw,m,mq,n,nq,p1,s,sdim,som,suc)
               do 301 i=1,n+1
                  lpft(i)=1
 301           continue
               do 330 i=1,n
                  ids=lpft(i)
                  nbsom=0
                  ncfc=nfcomp(i)
                  ind1=cfcp(ncfc+1)-1
                  do 302 i1=cfcp(ncfc),ind1
                     is=ids+nbsom
                     if(cfcl(i1).eq.i) goto 302
                     lsft(is)=cfcl(i1)
                     nbsom=nbsom+1
 302              continue
                  ind2=p1(ncfc+1)-1
                  do 320 ics=p1(ncfc),ind2
                     nscfc=s(ics)
                     ind3=cfcp(nscfc+1)-1
                     do 310 i1=cfcp(nscfc),ind3
                        is=ids+nbsom
                        lsft(is)=cfcl(i1)
                        nbsom=nbsom+1
 310                 continue
 320              continue
                  lpft(i+1)=lpft(i)+nbsom
 330           continue
               end