summaryrefslogtreecommitdiff
path: root/modules/compatibility_functions/macros/mtlb_prod.sci
blob: 5789182fa3ee9325ff1292fa83c9dabb805dd01b (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
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) 2002-2004 - INRIA - Vincent COUVERT
//
// 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=mtlb_prod(a,dim)
    // Emulation function for prod() Matlab function

    rhs=argn(2)

    if rhs==1 then
        // Scalar, vector or empty matrix
        if find(size(a)==1)<>[] | find(size(a)==0)<>[] then
            r=prod(a)
        else
            r=prod(a,1)
        end
    else
        if dim<=size(size(a),"*") then
            r=prod(a,dim)
        else
            r=a
        end
    end
endfunction