File: gbtest66.m

package info (click to toggle)
suitesparse-graphblas 7.4.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 67,112 kB
  • sloc: ansic: 1,072,243; cpp: 8,081; sh: 512; makefile: 506; asm: 369; python: 125; awk: 10
file content (87 lines) | stat: -rw-r--r-- 2,207 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
function gbtest66
%GBTEST66 test graph

% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2022, All Rights Reserved.
% SPDX-License-Identifier: Apache-2.0

rng ('default') ;

n = 32 ;
for trial = 1:40
    fprintf ('.') ;

    A = sprand (n, n, 0.5) ;
    A = A + A' ;
    G = GrB (A) ;

    D1 = graph (A) ;
    D2 = graph (G) ;
    assert (isequal (D1, D2)) ;

    D1 = graph (A, 'upper') ;
    D2 = graph (G, 'upper') ;
    D3 = graph (triu (A), 'upper') ;
    D4 = graph (triu (G), 'upper') ;
    assert (isequal (D1, D2)) ;
    assert (isequal (D1, D3)) ;
    assert (isequal (D1, D4)) ;

    D1 = graph (A, 'lower') ;
    D2 = graph (G, 'lower') ;
    D3 = graph (tril (A), 'lower') ;
    D4 = graph (tril (G), 'lower') ;
    assert (isequal (D1, D2)) ;
    assert (isequal (D1, D3)) ;
    assert (isequal (D1, D4)) ;

    D1 = graph (A, 'omitselfloops') ;
    D2 = graph (G, 'omitselfloops') ;
    assert (isequal (D1, D2)) ;

    D1 = graph (A, 'lower', 'omitselfloops') ;
    D2 = graph (G, 'lower', 'omitselfloops') ;
    D3 = graph (tril (A), 'lower', 'omitselfloops') ;
    D4 = graph (tril (G), 'lower', 'omitselfloops') ;
    assert (isequal (D1, D2)) ;
    assert (isequal (D1, D3)) ;
    assert (isequal (D1, D4)) ;

    D1 = graph (A, 'upper', 'omitselfloops') ;
    D2 = graph (G, 'upper', 'omitselfloops') ;
    D3 = graph (triu (A), 'upper', 'omitselfloops') ;
    D4 = graph (triu (G), 'upper', 'omitselfloops') ;
    assert (isequal (D1, D2)) ;
    assert (isequal (D1, D3)) ;
    assert (isequal (D1, D4)) ;

    D1 = graph (logical (A)) ;
    D2 = graph (GrB (A, 'logical')) ;
    assert (isequal (D1, D2)) ;

    D1 = graph (logical (A), 'omitselfloops') ;
    D2 = graph (GrB (A, 'logical'), 'omitselfloops') ;
    assert (isequal (D1, D2)) ;
end

types = gbtest_types ;

for k = 1:length (types)
    type = types {k} ;

    A = gbtest_cast (rand (4), type) ;
    A = A + A' ;
    G = GrB (A) ;

    if (isequal (type, 'double') || isequal (type, 'single') || ...
        isequal (type, 'logical'))
        D1 = graph (A) ;
    else
        D1 = graph (double (A)) ;
    end

    D2 = graph (G) ;
    assert (isequal (D1, D2)) ;
end

fprintf ('\ngbtest66: all tests passed\n') ;