58aa06b691e2784958e5c081eee0881c7fb763ce
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / zeros.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2018 - ESI - Antoine ELIAS
4 // Copyright (C) 2018 - St├ęphane MOTTELET
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8
9 // <-- CLI SHELL MODE -->
10 // <-- NO CHECK REF -->
11
12 res(2,3,4) = 0;
13 computed = list([], 1, 10, list(2,3), list(2,3,4));
14 expected = list([], 0, 0, [0 0 0;0 0 0], res);
15
16 for i = 1:size(computed)
17     assert_checkequal(zeros(computed(i)(:)), expected(i));
18 end
19
20 data = rand(4, 3, 2) * 1000;
21 dataz = zeros(data);
22
23 // boolean
24 ref = isinf(dataz);
25 assert_checkequal(zeros(1,0, "boolean"), []);
26 assert_checkequal(zeros([], "boolean"), []);
27 assert_checkequal(zeros(data, "boolean"), ref);
28 assert_checkequal(zeros(4,3,2, "boolean"), ref);
29 assert_checkequal(zeros(isinf(data)), dataz);
30
31 // int8
32 ref = int8(dataz);
33 assert_checkequal(zeros(1,0, "int8"), []);
34 assert_checkequal(zeros([], "int8"), []);
35 assert_checkequal(zeros(data, "int8"), ref);
36 assert_checkequal(zeros(4,3,2, "int8"), ref);
37 assert_checkequal(zeros(int8(data)), dataz);
38
39 // uint8
40 ref = uint8(dataz);
41 assert_checkequal(zeros(1,0, "uint8"), []);
42 assert_checkequal(zeros([], "uint8"), []);
43 assert_checkequal(zeros(data, "uint8"), ref);
44 assert_checkequal(zeros(4,3,2, "uint8"), ref);
45 assert_checkequal(zeros(uint8(data)), dataz);
46
47 // int16
48 ref = int16(dataz);
49 assert_checkequal(zeros(1,0, "int16"), []);
50 assert_checkequal(zeros([], "int16"), []);
51 assert_checkequal(zeros(data, "int16"), ref);
52 assert_checkequal(zeros(4,3,2, "int16"), ref);
53 assert_checkequal(zeros(int16(data)), dataz);
54
55 // uint16
56 ref = uint16(dataz);
57 assert_checkequal(zeros(1,0, "uint16"), []);
58 assert_checkequal(zeros([], "uint16"), []);
59 assert_checkequal(zeros(data, "uint16"), ref);
60 assert_checkequal(zeros(4,3,2, "uint16"), ref);
61 assert_checkequal(zeros(uint16(data)), dataz);
62
63 // int32
64 ref = int32(dataz);
65 assert_checkequal(zeros(1,0, "int32"), []);
66 assert_checkequal(zeros([], "int32"), []);
67 assert_checkequal(zeros(data, "int32"), ref);
68 assert_checkequal(zeros(4,3,2, "int32"), ref);
69 assert_checkequal(zeros(int32(data)), dataz);
70
71 // uint32
72 ref = uint32(dataz);
73 assert_checkequal(zeros(1,0, "uint32"), []);
74 assert_checkequal(zeros([], "uint32"), []);
75 assert_checkequal(zeros(data, "uint32"), ref);
76 assert_checkequal(zeros(4,3,2, "uint32"), ref);
77 assert_checkequal(zeros(uint32(data)), dataz);
78
79 // int64
80 ref = int64(dataz);
81 assert_checkequal(zeros(1,0, "int64"), []);
82 assert_checkequal(zeros([], "int64"), []);
83 assert_checkequal(zeros(data, "int64"), ref);
84 assert_checkequal(zeros(4,3,2, "int64"), ref);
85 assert_checkequal(zeros(int64(data)), dataz);
86
87 // uint64
88 ref = uint64(dataz);
89 assert_checkequal(zeros(1,0, "uint64"), []);
90 assert_checkequal(zeros([], "uint64"), []);
91 assert_checkequal(zeros(data, "uint64"), ref);
92 assert_checkequal(zeros(4,3,2, "uint64"), ref);
93 assert_checkequal(zeros(uint64(data)), dataz);
94