File: sci_min.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (34 lines) | stat: -rw-r--r-- 854 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
function [stk,txt,top]=sci_min()
// Copyright INRIA
txt=[]
v=stk(top+1-rhs)(1)
if stk(top+1-rhs)(5)=='4' then v='bool2s('+v+')';end
if rhs==1 then
  [m,n]=checkdims(stk(top))
  x=stk(top)(1)
  if m==-1&n==-1 then
    
    set_infos([
	 'mtlb_min('+x+') may be replaced by '
	 '  min('+x+')'+' if '+x+'is a vector'
	 '  min('+x+',''r'')'+' if '+x+'is a matrix'],1)
    stk=list('mtlb_min('+x+')','0','?','?','1')
  elseif m==1|n==1 then
    stk=list('min('+x+')','0','1','1','1')
  else
    stk=list('min('+x+',''r'')','0','1',stk(top)(4),'1')
  end
elseif rhs==2 then
  stk=list('min('+v+','+stk(top)(1)+')','0','?','?','1')
else
  if stk(top)(1)=='1' then
    stk=list('min('+v+',''r'')','0','1',stk(top+1-rhs)(4),'1')
  else
    stk=list('min('+v+',''c'')','0',stk(top+1-rhs)(3),'1','1')
  end
end
if lhs<>1 then
  stk(2)='-1'
  stk=list(stk,stk)
end