f2c0e5701e965b2dbd476d9b0c6b554e6f94cf6a
[scilab.git] / scilab / modules / elementary_functions / macros / dec2hex.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 // Copyright (C) DIGITEO - 2010 - 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 //
13 // dec2hex(d) returns the hexadecimal representation corresponding to the
14 // numbers in vector v.
15 //
16 // =============================================================================
17
18 function h = dec2hex(v)
19
20   rhs = argn(2);
21
22   // check the number of input arguments
23   if rhs <> 1 then
24     error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"dec2hex",1));
25   end
26
27   [nr, nc] = size(v);
28
29   if (find(v<0) <> []) | (norm(round(v)-v,1) > norm(round(v),1)*2*%eps) then
30     error(msprintf(gettext("%s: Wrong value for input argument #%d: Non-negative integer matrix expected.\n"),"dec2hex",1));
31   end
32
33   h = [];
34   for ii = 1:size(v,'*')
35     h(ii) = msprintf("%X", v(ii));
36   end
37   h = matrix(h, nr, nc);
38
39 endfunction