bug #14144 and #12928 : %nan, %inf in intXX() functions and crash on int64(2^63)
[scilab.git] / scilab / modules / integer / tests / nonreg_tests / bug_12928.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2015 - Scilab Enterprises - Antoine ELIAS
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ===========================================================================
7 //
8 // <-- Non-regression test for bug 12928 -->
9 //
10 // <-- CLI SHELL MODE -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/12928
14 //
15 // <-- Short Description -->
16 // int32, int16 and int8 with %nan and %inf
17
18 //int8
19 ref = int8([-128 -128  0  127 -128]);
20 computed = int8([2^7, -2^7, %nan, %inf, -%inf]);
21 assert_checkequal(computed, ref);
22
23 //uint8
24 ref = uint8([0, 255, 0, 255, 0]);
25 computed = uint8([2^8, -1, %nan, %inf, -%inf]);
26 assert_checkequal(computed, ref);
27
28 //int16
29 ref = int16([-32768 -32768  0  32767 -32768]);
30 computed = int16([2^15, -2^15, %nan, %inf, -%inf]);
31 assert_checkequal(computed, ref);
32
33 //uint16
34 ref = uint16([0  65535  0  65535  0]);
35 computed = uint16([2^16, -1, %nan, %inf, -%inf]);
36 assert_checkequal(computed, ref);
37
38 //int32
39 ref = int32([-2147483648 -2147483648  0  2147483647 -2147483648]);
40 computed = int32([2^31, -2^31, %nan, %inf, -%inf]);
41 assert_checkequal(computed, ref);
42
43 //uint32
44 ref = uint32([0  4294967295  0  4294967295  0]);
45 computed = uint32([2^32, -1, %nan, %inf, -%inf]);
46 assert_checkequal(computed, ref);
47
48 //int64
49 ref = int64([-9223372036854775808 -9223372036854775808  0  9223372036854775807 -9223372036854775808]);
50 computed = int64([2^63, -2^63, %nan, %inf, -%inf]);
51 //assert_checkequal(computed, ref);
52
53 //uint64
54 ref = uint64([9223372036854775808  18446744073709551615  0  18446744073709551615  0]);
55 computed = uint64([2^64, -1, %nan, %inf, -%inf]);
56 //assert_checkequal(computed, ref);
57