*Bug #13655 fixed - acos([2 %nan]) and asin([2 %nan]) returned wrong results (0 inste...
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / asin.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
4 // Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8 // <-- CLI SHELL MODE -->
9 // unit tests for asin() function (element wise coasine inverse)
10 // =============================================================================
11 // 1. Interface
12 // ============
13 assert_checkfalse(execstr("asin()", "errcatch") == 0);
14 assert_checkfalse(execstr("asin(1,2)", "errcatch") == 0);
15 // 2. Singular Values
16 // ==================
17 rt2 = sqrt(2);
18 rt3 = sqrt(3);
19 v   = [0 , %pi/6 , %pi/4 , %pi/3 , %pi/2    , %pi/3 , %pi/4 , %pi/6 , 0 ];
20 x   = [0 , 1/2   , rt2/2 , rt3/2 , 1        , rt3/2 , rt2/2 , 1/2   , 0 ];
21 y = asin(x);
22 assert_checkalmostequal(y,v);
23 // 3. Not A Number
24 // ===============
25 assert_checktrue(isnan(asin(%nan)));
26 assert_checktrue(isnan(asin(-%nan)));
27 // 4. Limit values
28 // ===============
29 assert_checkequal(imag(asin(%inf)),-%inf);
30 assert_checkequal(imag(asin(-%inf)),%inf);
31 // 5. Properties
32 // =============
33 A = rand(100,100);
34 // asin(-x) = - asin(x)
35 assert_checkalmostequal(asin(-A), -asin(A));
36 // asin(x) = acos(-x) - pi/2
37 assert_checkalmostequal(asin(A), acos(-A) - %pi / 2);