blob: abcc02542eeb3e1a16a960e79687507a9fa07422 (
plain)
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
|
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) INRIA
//
// This file must be used under the terms of the CeCILL.
// This source file is licensed as described in the file COPYING, which
// you should have received as part of this distribution. The terms
// are also available at
// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
//
function [r,ind]=aplat(l,r)
//flattens a list. If l is constant it puts it in a list
//ind contains the list structure
if type(l)<>15 then r=list(l);ind=-1;return;end
n=size(l)
[lhs,rhs]=argn(0)
if rhs==1 then r=list(),nr=0,end
ind=list()
i=0
nind=0
for li=l
i=i+1
if type(li)==15 then
[r,ind1]=aplat(li,r)
ni=size(ind1)
for j=1:ni,nind=nind+1;ind(nind)=[i,ind1(j)];end
nr=size(r)
else
nr=nr+1
r(nr)=li
nind=nind+1
ind(nind)=i
end
end
endfunction
|