File: sci_rand.sci

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 (23 lines) | stat: -rw-r--r-- 785 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
function [stk,txt,top]=sci_rand()
// Copyright INRIA
txt=[]
if rhs==0 then
  stk=list('rand(1,''u'')','0','1','1','1','?')
  top=top+1
elseif rhs==1 then
  if stk(top)(3)=='1'&stk(top)(4)=='1' then
    stk=list('rand('+stk(top)(1)+','+stk(top)(1)+',''u'')','0',stk(top)(1),stk(top)(1),'1','?')
  elseif (stk(top)(3)=='1'&stk(top)(4)=='2')|(stk(top)(3)=='2'&stk(top)(4)=='1') then
    temp=gettempvar()
    txt=temp+'='+stk(top)(1)
    stk=list('rand('+temp+'(1),'+temp+'(2),''u'')','0','?','?','1','?')
  else
    write(logfile,'Warning: Not enough information using mtlb_rand instead of rand')
    stk=list('mtlb_rand('+stk(top)(1)+')','0','?','?','1','?')
  end
else
  stk=list('rand('+stk(top-1)(1)+','+stk(top)(1)+',''u'')','0',stk(top-1)(1),stk(top)(1),'1','?')
  top=top-1
end