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