2
c ====================================================================
4
c evaluate scicos utility functions
6
c ====================================================================
21
write(buf(1:4),'(i4)') fin
22
call basout(io,wte,' coselm '//buf(1:4))
26
c var2vec vec2var get_import set_import get_curblk getlabel
30
goto(10,20,30,40,50,60) fin
42
c if(istk(il).eq.1) return
46
n=lstk(top+1)-lstk(top)
47
call unsfdcopy(n,stk(lstk(top)),-1,stk(l1),-1)
66
if(istk(il1).ne.1) then
74
call unsfdcopy(n,stk(l1),1,stk(lstk(top)),1)
75
lstk(top+1)=lstk(top)+n
121
subroutine intgetscicosvars
125
integer vol,type,getscicosvars,ierr
127
external getscicosvars
141
if(istk(il1).ne.10) then
147
if(istk(il1+1)*istk(il1+2).ne.1) then
157
call cvstr(vol,istk(l1),buf,1)
159
if(buf(1:vol).eq.'x') then
160
ierr=getscicosvars(1,ptr,nv,type)
161
elseif(buf(1:vol).eq.'xptr') then
162
ierr=getscicosvars(2,ptr,nv,type)
163
elseif(buf(1:vol).eq.'z') then
164
ierr=getscicosvars(3,ptr,nv,type)
165
elseif(buf(1:vol).eq.'zptr') then
166
ierr=getscicosvars(4,ptr,nv,type)
167
elseif(buf(1:vol).eq.'rpar') then
168
ierr=getscicosvars(5,ptr,nv,type)
169
elseif(buf(1:vol).eq.'rpptr') then
170
ierr=getscicosvars(6,ptr,nv,type)
171
elseif(buf(1:vol).eq.'ipar') then
172
ierr=getscicosvars(7,ptr,nv,type)
173
elseif(buf(1:vol).eq.'ipptr') then
174
ierr=getscicosvars(8,ptr,nv,type)
175
elseif(buf(1:vol).eq.'outtb') then
176
ierr=getscicosvars(9,ptr,nv,type)
177
elseif(buf(1:vol).eq.'inpptr') then
178
ierr=getscicosvars(10,ptr,nv,type)
179
elseif(buf(1:vol).eq.'outptr') then
180
ierr=getscicosvars(11,ptr,nv,type)
181
elseif(buf(1:vol).eq.'inplnk') then
182
ierr=getscicosvars(12,ptr,nv,type)
183
elseif(buf(1:vol).eq.'outlnk') then
184
ierr=getscicosvars(13,ptr,nv,type)
185
elseif(buf(1:vol).eq.'lnkptr') then
186
ierr=getscicosvars(14,ptr,nv,type)
188
buf='Undefined field'
193
buf='scicosim is not running'
199
call cint(nv,ptr,stk(l))
201
call cdouble(nv,ptr,stk(l))
205
istk(il1+2)=min(nv,1)
212
subroutine intsetscicosvars
216
integer vol,type,getscicosvars,ierr
218
external getscicosvars
234
if(istk(il2).ne.1) then
239
if(istk(il2+3).ne.0) then
244
nv2=istk(il2+1)*istk(il2+2)
249
if(istk(il1+1)*istk(il1+2).ne.1) then
259
call cvstr(vol,istk(l1),buf,1)
261
if(buf(1:vol).eq.'x') then
262
ierr=getscicosvars(1,ptr,nv,type)
263
elseif(buf(1:vol).eq.'xptr') then
264
ierr=getscicosvars(2,ptr,nv,type)
265
elseif(buf(1:vol).eq.'z') then
266
ierr=getscicosvars(3,ptr,nv,type)
267
elseif(buf(1:vol).eq.'zptr') then
268
ierr=getscicosvars(4,ptr,nv,type)
269
elseif(buf(1:vol).eq.'rpar') then
270
ierr=getscicosvars(5,ptr,nv,type)
271
elseif(buf(1:vol).eq.'rpptr') then
272
ierr=getscicosvars(6,ptr,nv,type)
273
elseif(buf(1:vol).eq.'ipar') then
274
ierr=getscicosvars(7,ptr,nv,type)
275
elseif(buf(1:vol).eq.'ipptr') then
276
ierr=getscicosvars(8,ptr,nv,type)
277
elseif(buf(1:vol).eq.'outtb') then
278
ierr=getscicosvars(9,ptr,nv,type)
279
elseif(buf(1:vol).eq.'inpptr') then
280
ierr=getscicosvars(10,ptr,nv,type)
281
elseif(buf(1:vol).eq.'outptr') then
282
ierr=getscicosvars(11,ptr,nv,type)
283
elseif(buf(1:vol).eq.'inplnk') then
284
ierr=getscicosvars(12,ptr,nv,type)
285
elseif(buf(1:vol).eq.'outlnk') then
286
ierr=getscicosvars(13,ptr,nv,type)
287
elseif(buf(1:vol).eq.'lnkptr') then
288
ierr=getscicosvars(14,ptr,nv,type)
290
buf='Undefined field'
295
buf='scicosim is not running'
307
call entier(nv,stk(lv),istk(iadr(lv)))
308
call int2cint(nv,ptr,istk(iadr(lv)))
310
call dbl2cdbl(nv,ptr,stk(lv))
315
lstk(top+1)=lstk(top)+1
319
subroutine intgetlabel
340
if(istk(il).ne.1) then
345
if(istk(il+1)*istk(il+2).ne.1) then
363
err=sadr(l1+50)-lstk(bot)
368
ierr=getscilabel(kf,istk(l1),n)
370
buf='scicosim is not running'
380
lstk(top+1)=sadr(l1+n)