* Bug #9385 fixed - The type checking in trigonometric functions has been added.
[scilab.git] / scilab / modules / elementary_functions / macros / tanh.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 function [t]=tanh(z)
11     //
12     //  PURPOSE
13     //    element wise hyperbolic tangent
14     //
15     //  METHOD
16     //    based on the formula  tanh(z) = -i tan(i z)
17     //
18
19     rhs = argn(2);
20
21     if rhs <> 1 then
22         error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"tanh",1));
23     end
24
25     if type(z)<>1 then
26         error(msprintf(gettext("%s: Wrong type for input argument #%d: Real or complex matrix expected.\n"),"tanh",1));
27     end
28
29     if isreal(z) then
30         t = imag(tan(imult(z)));
31     else
32         t = -imult(tan(imult(z)));
33     end
34
35 endfunction