1function gbtest5
2%GBTEST5 test GrB.descriptorinfo
3
4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
5% SPDX-License-Identifier: GPL-3.0-or-later
6
7list_out  = { [ ], 'default', 'replace' } ;
8list_in   = { [ ], 'default', 'transpose' } ;
9list_mask = { [ ], 'default', 'complement', ...
10                   'structural complement', 'structure' } ;
11list_axb  = { [ ], 'default', 'gustavson', 'dot', 'hash', 'saxpy' } ;
12list_kind = { [ ], 'sparse', 'full', 'grb', 'default' } ;
13
14ntrials = 0;
15
16d = struct %#ok<*NASGU,*NOPRT>
17
18for k1 = 1:length (list_out)
19    out = list_out {k1} ;
20    for k2 = 1:length (list_in)
21        in0 = list_in {k2} ;
22        for k3 = 1:length (list_in)
23            in1 = list_in {k3} ;
24            for k4 = 1:length (list_mask)
25                mask = list_mask {k4} ;
26                for k5 = 1:length (list_axb)
27                    axb = list_axb {k5} ;
28                    for k6 = 1:length (list_kind)
29                        kind = list_kind {k6} ;
30
31                        for nthreads = [0 2]
32                            for chunk = [0 10000]
33
34                                clear d
35                                d = struct ;
36
37                                if (~isempty (out))
38                                    d.out = out ;
39                                end
40
41                                if (~isempty (mask))
42                                    d.mask = mask ;
43                                end
44
45                                if (~isempty (in0))
46                                    d.in0 = in0 ;
47                                end
48
49                                if (~isempty (in1))
50                                    d.in1 = in1 ;
51                                end
52
53                                if (~isempty (axb))
54                                    d.axb = axb ;
55                                end
56
57                                if (~isempty (kind))
58                                    d.kind = kind ;
59                                end
60
61                                if (nthreads > 0)
62                                    d.nthreads = nthreads ;
63                                end
64
65                                if (chunk > 0)
66                                    d.chunk = chunk ;
67                                end
68
69                                d
70                                GrB.descriptorinfo (d) ;
71                                ntrials = ntrials + 1 ;
72                            end
73                        end
74                    end
75                end
76            end
77        end
78    end
79end
80
81fprintf ('testing error handling (errors expected):\n') ;
82
83GrB.descriptorinfo
84
85ntrials
86fprintf ('gbtest5: all tests passed\n') ;
87
88