File: aplat.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 (26 lines) | stat: -rw-r--r-- 504 bytes parent folder | download | duplicates (2)
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
function [r,ind]=aplat(l,r)
//flattens a list. If l is constant it puts it in a list
//ind contains the list structure
// Copyright INRIA
if type(l)==1|type(l)==5 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