1function gbtest67
2%GBTEST67 test digraph
3
4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
5% SPDX-License-Identifier: GPL-3.0-or-later
6
7rng ('default') ;
8
9n = 32 ;
10for trial = 1:40
11    fprintf ('.') ;
12
13    A = sprand (n, n, 0.5) ;
14    G = GrB (A) ;
15
16    D1 = digraph (A) ;
17    D2 = digraph (G) ;
18    assert (isequal (D1, D2)) ;
19
20    D1 = digraph (A, 'omitselfloops') ;
21    D2 = digraph (G, 'omitselfloops') ;
22    assert (isequal (D1, D2)) ;
23
24    D1 = digraph (logical (A)) ;
25    D2 = digraph (GrB (A, 'logical')) ;
26    assert (isequal (D1, D2)) ;
27
28    D1 = digraph (logical (A), 'omitselfloops') ;
29    D2 = digraph (GrB (A, 'logical'), 'omitselfloops') ;
30    assert (isequal (D1, D2)) ;
31
32end
33
34types = gbtest_types ;
35
36for k = 1:length (types)
37    type = types {k} ;
38
39    A = gbtest_cast (rand (4), type) ;
40    G = GrB (A) ;
41
42    if (isequal (type, 'double') || isequal (type, 'single') || ...
43        isequal (type, 'logical'))
44        D1 = digraph (A) ;
45    else
46        D1 = digraph (double (A)) ;
47    end
48
49    D2 = digraph (G) ;
50    assert (isequal (D1, D2)) ;
51end
52
53fprintf ('\ngbtest67: all tests passed\n') ;
54
55