1function gbtest66 2%GBTEST66 test graph 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 A = A + A' ; 15 G = GrB (A) ; 16 17 D1 = graph (A) ; 18 D2 = graph (G) ; 19 assert (isequal (D1, D2)) ; 20 21 D1 = graph (A, 'upper') ; 22 D2 = graph (G, 'upper') ; 23 D3 = graph (triu (A), 'upper') ; 24 D4 = graph (triu (G), 'upper') ; 25 assert (isequal (D1, D2)) ; 26 assert (isequal (D1, D3)) ; 27 assert (isequal (D1, D4)) ; 28 29 D1 = graph (A, 'lower') ; 30 D2 = graph (G, 'lower') ; 31 D3 = graph (tril (A), 'lower') ; 32 D4 = graph (tril (G), 'lower') ; 33 assert (isequal (D1, D2)) ; 34 assert (isequal (D1, D3)) ; 35 assert (isequal (D1, D4)) ; 36 37 D1 = graph (A, 'omitselfloops') ; 38 D2 = graph (G, 'omitselfloops') ; 39 assert (isequal (D1, D2)) ; 40 41 D1 = graph (A, 'lower', 'omitselfloops') ; 42 D2 = graph (G, 'lower', 'omitselfloops') ; 43 D3 = graph (tril (A), 'lower', 'omitselfloops') ; 44 D4 = graph (tril (G), 'lower', 'omitselfloops') ; 45 assert (isequal (D1, D2)) ; 46 assert (isequal (D1, D3)) ; 47 assert (isequal (D1, D4)) ; 48 49 D1 = graph (A, 'upper', 'omitselfloops') ; 50 D2 = graph (G, 'upper', 'omitselfloops') ; 51 D3 = graph (triu (A), 'upper', 'omitselfloops') ; 52 D4 = graph (triu (G), 'upper', 'omitselfloops') ; 53 assert (isequal (D1, D2)) ; 54 assert (isequal (D1, D3)) ; 55 assert (isequal (D1, D4)) ; 56 57 D1 = graph (logical (A)) ; 58 D2 = graph (GrB (A, 'logical')) ; 59 assert (isequal (D1, D2)) ; 60 61 D1 = graph (logical (A), 'omitselfloops') ; 62 D2 = graph (GrB (A, 'logical'), 'omitselfloops') ; 63 assert (isequal (D1, D2)) ; 64end 65 66types = gbtest_types ; 67 68for k = 1:length (types) 69 type = types {k} ; 70 71 A = gbtest_cast (rand (4), type) ; 72 A = A + A' ; 73 G = GrB (A) ; 74 75 if (isequal (type, 'double') || isequal (type, 'single') || ... 76 isequal (type, 'logical')) 77 D1 = graph (A) ; 78 else 79 D1 = graph (double (A)) ; 80 end 81 82 D2 = graph (G) ; 83 assert (isequal (D1, D2)) ; 84end 85 86fprintf ('\ngbtest66: all tests passed\n') ; 87 88