85388cb056656a3488079a411032dbb2fcfc297e
[scilab.git] / scilab / modules / overloading / macros / %cblock_c_cblock.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
12 function a=%cblock_c_cblock(a,b)
13     na=length(a)
14     if na==1 then a=b,return,end
15     if length(b)==1 then return,end
16     v1=getfield(na,a)
17     v2=getfield(2,b)
18
19     if size(v1,1)<>size(v2,1) then error(5),end
20     if type(v1)==type(v2) then
21         a=setfield(na,[v1 v2],a)
22     else
23         a=setfield(na+1,v2,a);na=na+1
24     end
25
26     for k=3:length(b)
27         a=setfield(na+1,getfield(k,b),a)
28         na=na+1
29     end
30 endfunction