File: typ2cod.f

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (106 lines) | stat: -rw-r--r-- 2,251 bytes parent folder | download
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
      subroutine typ2cod(il,name,n)
c     returns in name(1:n) the code associated with the type of the
c     variable that began in istk(il)

c     Copyright INRIA
      INCLUDE '../stack.h'
      integer nmax
      parameter (nmax=8)
      integer name(*)
      integer iadr,sadr
c
      iadr(l)=l+l-1
      sadr(l)=(l/2)+1
c
      k=1
c      
      goto(01,02,9000,04,05,06,9000,9000,9000,10,
     $     11,9000,13,14,15,16,16),abs(istk(il))
      if(abs(istk(il)).eq.128) goto 128
      if(abs(istk(il)).eq.129) goto 129
      if(abs(istk(il)).gt.256.and.abs(istk(il)).le.384) goto 130
      goto 9000


c     --------------matrix of numbers (s)
 01   name(1)=28
      n=1
      return
c     --------------matrix of polynomials (p)
 02   name(1)=25
      n=1
      return
c     --------------booleen (b)
 04   name(1)=11
      n=1
      return
c     -------------- sparse (sp)
 05   name(1)=28
      name(2)=25
      n=2
      return
c     -------------- booleen sparse (spb)
 06   name(1)=28
      name(2)=25
      name(3)=11
      n=3
      return
c     --------------character string (c)
 10   name(1)=12
      n=1
      return
c     --------------macros non compilee (m)
 11   name(1)=22
      n=1
      return
c     --------------macros compilee (mc)
 13   name(1)=22
      name(2)=12
      n=2
      return
c     --------------libraries (f)
 14   name(1)=15
      n=1
      return
c     --------------list (l)
 15   continue
      name(1)=21
      n=1
      return
c     --------------tlist (tlist(1)(1))
 16   continue
      if(istk(il).lt.0) il=iadr(istk(il+1))
      n1=istk(il+1)
      iltyp=iadr(sadr(il+3+n1))
      nlt=min(nlgh-3,istk(iltyp+5)-1)
      iltyp=iltyp+5+istk(iltyp+1)*istk(iltyp+2)
      n=min(nlt,nmax)
      call icopy(n,istk(iltyp),1,name(1),1)
      return
c     --------------sparse lu pointer  (ptr)
 128  continue
      name(1)=25
      name(2)=29
      name(3)=27
      n=3
      return
c     --------------formal implicit vector (ip)
 129  continue
      name(1)=18
      name(2)=25
      n=2
      return

c     --------------tropical algebra (talg)
 130  continue
      name(1)=29
      name(2)=10
      name(3)=21
      name(4)=16
      n=4
      return
 9000 continue
      n=0
      return
      end