Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / log1p.tst
1 //
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2015 - Scilab Enterprises - John GLIKSBERG
4 //
5 // Copyright (C) 2012 - 2016 - Scilab Enterprises
6 //
7 // This file is hereby licensed under the terms of the GNU GPL v2.0,
8 // pursuant to article 5.3.4 of the CeCILL v.2.1.
9 // This file was originally licensed under the terms of the CeCILL v2.1,
10 // and continues to be available under such terms.
11 // For more information, see the COPYING file which you should have received
12 // along with this program.
13 //
14 //
15 // <-- CLI SHELL MODE -->
16 //
17
18 // this corresponds to log(0.7) and should therefore be authorized.
19 // it was not on some versions of Scilab
20 log1p(-0.3);
21
22 // check that log1p(x) is close to log(1+x) on a few defined values
23 assert_checkalmostequal( log1p(-0.4), log(-0.4 + 1), 1e-5);
24 assert_checkalmostequal( log1p(-0.0), log(-0.0 + 1), 1e-5);
25 assert_checkalmostequal( log1p(+1.2), log(+1.2 + 1), 1e-5);
26 assert_checkalmostequal( log1p(+5.6), log(+5.6 + 1), 1e-5);
27
28 // this corresponds to log(0) which is and should be undefined
29 ieee(0);
30 errmsg = msprintf(_("%s: Wrong value for input argument #%d : Singularity of the function.\n"), "log1p", 1);
31 assert_checkerror("log1p(-1)", errmsg);
32 ieee(2);