* Deactivate images generation during documentation build since graphics functions...
[scilab.git] / scilab / modules / compatibility_functions / macros / %b_cumsum.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2010 -  INRIA - Serge Steer 
3 // 
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at    
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 function a=%b_cumsum(varargin)
11   if varargin($)=='native' then
12     if size(varargin)==2 then
13       d='*'
14     elseif size(varargin)==3 then 
15       d=varargin(2)
16     end
17     if size(d,'*')<>1 then 
18       if type(d)==10 then
19         error(msprintf(_("%s: Wrong size for input argument #%d: A string expected.\n"),"cumsum",2))
20       else
21         error(msprintf(_("%s: Wrong size for input argument #%d: A scalar expected.\n"),"cumsum",2))
22       end
23     end
24     a=varargin(1)
25     if type(d)==10 then
26       d=find(d==['m','*','r','c'])
27       if d==[] then
28         error(msprintf(_("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"),..
29                        "cumsum",2,"""*"",""r"",""c"",""m"",1:"+string(ndims(a))))
30       end
31       d=d-2
32     end
33     dims=size(a);
34     
35     if d==-1 then //'m'
36       d=find(dims>1,1)
37       if d==[] then d=0,end
38     end
39     if d<0 then
40       error(msprintf(_("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"),..
41                      "cumsum",2,"""*"",""r"",""c"",""m"",1:"+string(ndims(a))))
42     end
43     select d
44     case 0 then
45       k=find(a,1)
46       if k<>[] then a(k:$)=%t,end
47     case 1 then
48       for k=1:dims(2)
49         a(:,k)=cumsum(a(:,k),'native')
50       end
51     case 2 then
52       for k=1:dims(1)
53         a(k,:)=cumsum(a(k,:),'native')
54       end
55     else
56       a=a
57     end
58   else
59     varargin(1)=bool2s(varargin(1))
60     a=cumsum(varargin(:))
61   end
62 endfunction