1function test03
2%TEST03 test GB_*_check functions
3
4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
5% SPDX-License-Identifier: Apache-2.0
6
7[~, ~, ~, types, ~, ~] = GB_spec_opsall ;
8types = types.all ;
9
10rng ('default') ;
11
12for k = 1:length (types)
13    aclass = types {k} ;
14    for is_hyper = 0:1
15        for is_csc = 0:1
16            A = GB_spec_random (10,30,0.2,100,aclass, is_csc, is_hyper) ;
17            C = GB_mex_dump (A,2) ;
18            GB_spec_compare (C, A) ;
19        end
20    end
21    for hyper_switch = -0.1:0.1:0.4
22        A = GB_spec_random (10,30,0.02,100,aclass, is_csc, [ ], hyper_switch) ;
23        C = GB_mex_dump (A,2) ;
24        GB_spec_compare (C, A) ;
25    end
26end
27
28for is_hyper = 0:1
29    for is_csc = 0:1
30        A = GB_spec_random (100,2,0.5,100,'int8', is_csc, is_hyper) ;
31        C = GB_mex_dump (A,2) ;
32        GB_spec_compare (C, A) ;
33    end
34end
35
36for k = [false true]
37    fprintf ('builtin_complex: %d\n', k) ;
38    GB_builtin_complex_set (k) ;
39
40    % complex case:
41    A = GB_mex_random (10, 30, 15, 1, 1, 0, 0, 0) ;
42    C = GB_mex_dump (A,2) ;
43    GB_spec_compare (C, A) ;
44    A = GB_mex_random (10, 30, 15, 1, 1, 0, 0, 1) ;
45    C = GB_mex_dump (A,2) ;
46    GB_spec_compare (C, A) ;
47    A = GB_mex_random (10, 30, 15, 1, 1, 1, 0, 1) ;
48    C = GB_mex_dump (A,2) ;
49    GB_spec_compare (C, A) ;
50    A = GB_mex_random (10, 30, 15, 1, 1, 1, 0, 0) ;
51    C = GB_mex_dump (A,2) ;
52    GB_spec_compare (C, A) ;
53    A = GB_mex_random (10, 30, 15, 1, 1, 1, 1, 1) ;
54    C = GB_mex_dump (A,2) ;
55    GB_spec_compare (C, A) ;
56    A = GB_mex_random (3, 3, 5, 0, 1, 1, 1, 3)
57    C = GB_mex_dump (A)
58    GB_spec_compare (C, A) ;
59end
60
61fprintf ('\ntest03: all object check tests passed\n') ;
62
63