1function test65
2%TEST65 test type casting
3
4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
5% SPDX-License-Identifier: Apache-2.0
6
7X = logical (rand (4) > 0.5) ;
8C = GB_mex_cast (X, 'logical', 1) ;
9assert (isequal (X,C)) ;
10
11    A = 100 * randn (4) ;
12
13    X = int8 (A) ;
14    C = GB_mex_cast (X, 'int8', 1) ;
15    assert (isequal (X,C)) ;
16
17    X = uint8 (A) ;
18    C = GB_mex_cast (X, 'uint8', 1) ;
19    assert (isequal (X,C)) ;
20
21    X = int16 (A) ;
22    C = GB_mex_cast (X, 'int16', 1) ;
23    assert (isequal (X,C)) ;
24
25    X = uint16 (A) ;
26    C = GB_mex_cast (X, 'uint16', 1) ;
27    assert (isequal (X,C)) ;
28
29    X = int32 (A) ;
30    C = GB_mex_cast (X, 'int32', 1) ;
31    assert (isequal (X,C)) ;
32
33    X = uint32 (A) ;
34    C = GB_mex_cast (X, 'uint32', 1) ;
35    assert (isequal (X,C)) ;
36
37    X = int32 (A) ;
38    C = GB_mex_cast (X, 'int32', 1) ;
39    assert (isequal (X,C)) ;
40
41    X = uint32 (A) ;
42    C = GB_mex_cast (X, 'uint32', 1) ;
43    assert (isequal (X,C)) ;
44
45    X = single (A) ;
46    C = GB_mex_cast (X, 'single', 1) ;
47    assert (isequal (X,C)) ;
48
49    X = double (A) ;
50    C = GB_mex_cast (X, 'double', 1) ;
51    assert (isequal (X,C)) ;
52
53    fprintf ('\ntest65: all tests passed\n') ;
54
55