summaryrefslogtreecommitdiff
path: root/modules/m2sci/macros/kernel/Cste.sci
blob: 8dd54986a34513bbb6f1266729bde3edfd402975 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) ???? - INRIA - Scilab
//
// 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 const=Cste(value)
    // Create a new constant tlist

    rhs=argn(2)

    if rhs~=1 then
        error(gettext("Wrong number of inputs."));
    end

    dims=list()

    if value=="" then
        dims=list(0,0)
    else
        sz=size(value)
        for k=1:size(sz,"*")
            dims($+1)=sz(k)
            if type(value)==String then
                if k==2 then
                    dims($)=sum(length(value))
                end
            end
        end
    end

    if type(value)==String then
        prop=Real
        value=value
    else
        if type(value)==1 then
            if isreal(value) then
                prop=Real
            else
                prop=Complex
            end
        else
            prop=Real
        end
    end

    const=tlist(["cste","value","infer"],value,Infer(dims,Type(type(value),prop)))
endfunction