* Bug #14649 fixed: isnan(complex(%inf, %inf)) was %F while phase is NaN
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / isnan.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2016 - Samuel GOUGEON
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 //
10 // unit tests for isnan() function
11 // ===============================
12 assert_checkequal(isnan([]), []);
13 // With decimal real numbers
14 // -------------------------
15 assert_checktrue(isnan(%nan));
16 M = [%pi %inf -1 %nan 3 -%nan -%inf];
17 R = [%f %f %f %t %f %t %f];
18 assert_checkequal(isnan(M), R);
19 assert_checkequal(isnan(M'),R');
20 M = sparse(M);
21 R = sparse(R);
22 assert_checkequal(isnan(M), R);
23 assert_checkequal(isnan(M'),R');
24 M = [%pi %inf -1   %nan
25       3 -%nan  0  -%inf];
26 R = [%f %f %f %t ; %f %t %f %f];
27 assert_checkequal(isnan(M),R);
28 M = sparse(M);
29 R = sparse(R);
30 assert_checkequal(isnan(M), R);
31 clear M R
32 M(:,:,1) = [%pi %inf ; -1  %nan];
33 M(:,:,2) = [ 3 -%nan ;  0  -%inf];
34 R(:,:,1) = [%f %f ; %f %t ];
35 R(:,:,2) = [%f %t ; %f %f ];
36 assert_checkequal(isnan(M),R);
37 // no sparse hypermatrix
38 // With complex numbers
39 // --------------------
40 G = [ -%inf -10 0 %nan 10 %inf];
41 [R,I] = meshgrid(G,G);
42 C = complex(R,I);
43 res = [
44    1.   0.   0.   1.   0.   1.
45    0.   0.   0.   1.   0.   0.
46    0.   0.   0.   1.   0.   0.
47    1.   1.   1.   1.   1.   1.
48    0.   0.   0.   1.   0.   0.
49    1.   0.   0.   1.   0.   1.
50    ]==1;
51 assert_checkequal(isnan(C), res);
52 C = sparse(C);
53 res = sparse(res);
54 assert_checkequal(isnan(C), res);