* Bug #9385 fixed - The type checking in trigonometric functions has been added.
[scilab.git] / scilab / modules / elementary_functions / macros / cosd.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA, Serge Steer
3 // Copyright (C) - 2010 - DIGITEO - Michael Baudin
4 // Copyright (C) DIGITEO - 2011 - Allan CORNET
5 //
6 // This file must be used under the terms of the CeCILL.
7 // This source file is licensed as described in the file COPYING, which
8 // you should have received as part of this distribution.  The terms
9 // are also available at
10 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 function x = cosd(x)
12     //Element wise cosine , argument in degree.
13
14     rhs = argn(2);
15     if rhs <> 1 then
16         error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"cosd", 1));
17     end
18     
19     if type(x) <> 1 | ~isreal(x) then
20         error(msprintf(gettext("%s: Wrong type for input argument #%d: Real matrix expected.\n"),"cosd",1));
21     end
22
23     n = round(x/90);
24     x = x - n*90;
25     m = pmodulo(n,4);
26     x(m==0) = cos(%pi/180*x(m==0));
27     x(m==1) = -sin(%pi/180*x(m==1));
28     x(m==2) = -cos(%pi/180*x(m==2));
29     x(m==3) = sin(%pi/180*x(m==3));
30 endfunction