add 'dec2base' function and optimize dec2bin, dec2oct, dec2hex functions.
[scilab.git] / scilab / modules / elementary_functions / macros / dec2oct.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA - Pierre MARECHAL
3 // Copyright (C) DIGITEO - 2010-2011 - Allan CORNET
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10
11 // =============================================================================
12 // dec2oct function
13 // =============================================================================
14
15 function y = dec2oct(x)
16
17   rhs = argn(2);
18
19   // check the number of input arguments
20   if rhs <> 1 then
21     error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"), "dec2oct", 1));
22   end
23
24   if or(type(x) <> 8) & (or(type(x) <> 1) | or(x < 0) ) then
25     error(msprintf(gettext("%s: Wrong value for input argument #%d: Scalar/vector/matrix of positive integers expected.\n"), "dec2oct", 1));
26   end
27
28   y = dec2base(double(x), 8);
29
30 endfunction