1function gbtest11
2%GBTEST11 test GrB, sparse
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') ;
8A = 100 * rand (4) ;
9A (1,1:2) = 0 %#ok<*NOPRT>
10S = sparse (A)
11
12% x1 = GrB (S)
13% x2 = full (x1)
14% x3 = double (x2)
15% assert (gbtest_eq (S, x3))
16
17assert (gbtest_eq (S, double (full (GrB (S)))))
18
19% x1 = GrB (S)
20% x2 = full (x1)
21% x3 = full (x2)
22% x4 = double (x3)
23% assert (gbtest_eq (S, x4))
24
25assert (gbtest_eq (S, double (full (full (GrB (S))))))
26
27assert (gbtest_eq (S, double (full (double (full (GrB (S)))))))
28
29S2 = double (GrB (full (double (full (GrB (S))))))
30assert (norm (S-S2,1) == 0)
31% S2 = 1*S2 ;
32assert (gbtest_eq (S, S2))
33
34S2 = double (GrB (double (GrB (full (double (full (GrB (S))))))))
35assert (gbtest_eq (S, S2))
36
37S = logical (S) ;
38assert (gbtest_eq (S, full (GrB (S))))
39
40X = int8 (A)
41G = GrB (X)
42assert (gbtest_eq (X, full (int8 (G))))
43assert (gbtest_eq (X, int8 (full (G))))
44
45X = int16 (A)
46G = GrB (X)
47assert (gbtest_eq (X, full (int16 (G))))
48assert (gbtest_eq (X, int16 (full (G))))
49
50X = int32 (A)
51G = GrB (X)
52assert (gbtest_eq (X, full (int32 (G))))
53assert (gbtest_eq (X, int32 (full (G))))
54
55X = int64 (A)
56G = GrB (X)
57assert (gbtest_eq (X, full (int64 (G))))
58assert (gbtest_eq (X, int64 (full (G))))
59
60X = uint8 (A)
61G = GrB (X)
62assert (gbtest_eq (X, full (uint8 (G))))
63assert (gbtest_eq (X, uint8 (full (G))))
64
65X = uint16 (A)
66G = GrB (X)
67assert (gbtest_eq (X, full (uint16 (G))))
68assert (gbtest_eq (X, uint16 (full (G))))
69
70X = uint32 (A)
71G = GrB (X)
72assert (gbtest_eq (X, full (uint32 (G))))
73assert (gbtest_eq (X, uint32 (full (G))))
74
75X = uint64 (A)
76G = GrB (X)
77full (G)
78assert (gbtest_eq (X, full (uint64 (G))))
79assert (gbtest_eq (X, uint64 (full (G))))
80
81B = 100 * rand (4) ;
82B (1,[1 3]) = 0 ;
83
84X = complex (A)
85G = GrB (X)
86assert (gbtest_eq (X, full (complex (G))))
87assert (gbtest_eq (X, complex (full (G))))
88
89X = complex (A,B)
90G = GrB (X)
91assert (gbtest_eq (X, full (complex (G))))
92assert (gbtest_eq (X, complex (full (G))))
93
94X = rand (4) ;
95Y = GrB (X) ;
96Z = sparse (Y) ;
97W = sparse (Z) ;
98assert (gbtest_eq (X, Z)) ;
99assert (gbtest_eq (X, Y)) ;
100assert (gbtest_eq (X, W)) ;
101
102S = struct (Y) ;
103Z = GrB (S) ;
104assert (gbtest_eq (Z, Y)) ;
105
106assert (GrB.isfull (Z)) ;
107assert (GrB.isfull (double (Z))) ;
108assert (~GrB.isfull (speye (3))) ;
109assert (~GrB.isfull (GrB (speye (3)))) ;
110
111fprintf ('gbtest11: all tests passed\n') ;
112
113