Graphics: fix datatip rendering after 5f1861ec
[scilab.git] / scilab / modules / overloading / macros / %ce_c_ce.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
13 function r=%ce_c_ce(a,b)
14     da = size(a);
15     if size(da,"*") < 2 then
16         da(2) = 1;
17     end
18     db = size(b);
19     if size(db,"*") < 2 then
20         db(2) = 1;
21     end
22     if size(da,"*") <> size(db,"*") then
23         error(msprintf(_("%s: In concatenation the number of dimensions for each component must match.\n"),"ce_c_ce"));
24     end
25
26     kd = find(da<>db);
27     kd(find(kd==2)) = [];
28     if kd <> [] then
29         error(5);
30     end
31     v = [matrix(1:prod(da),da(1)*da(2),prod(da)/(da(1)*da(2)));
32     -matrix(1:prod(db),db(1)*db(2),prod(db)/(db(1)*db(2)))];
33     val = list();
34     for k = 1:size(v,"*")
35         if v(k) > 0 then
36             val(k) = a{v(k)};
37         else
38             val(k) = b{-v(k)};
39         end
40     end
41     da(2) = da(2)+db(2);
42     r = makecell(da, val(:));
43 endfunction
44
45
46