1function gbtest1 2%GBTEST1 test GrB 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') ; 8X = 100 * sprand (3, 4, 0.4) %#ok<*NOPRT> 9 10% types = { 'double' } ; 11 12types = gbtest_types ; 13 14m = 2 ; 15n = 3 ; 16 17for k = 1:length (types) 18 type = types {k} ; 19 20 fprintf ('\n---- A = GrB (X) :\n') ; 21 A = GrB (X) 22 Z = double (A) 23 assert (gbtest_eq (Z, X)) ; 24 25 fprintf ('\n---- A = GrB (X, ''%s'') :\n', type) ; 26 A = GrB (X, type) 27 Z = logical (A) 28 if (isequal (type, 'logical')) 29 assert (islogical (Z)) ; 30 assert (gbtest_eq (Z, logical (X))) ; 31 end 32 33 fprintf ('\n---- A = GrB (%d, %d) :\n', m, n) ; 34 A = GrB (m, n) 35 Z = sparse (m, n) 36 assert (isequal (A, Z)) ; 37 A = GrB (m, n, 'by row') ; 38 assert (isequal (A, Z)) ; 39 40 fprintf ('\n---- A = GrB (%d, %d, ''%s'') :\n', m, n, type) ; 41 A = GrB (m, n, type) 42 Z = logical (A) 43 if (isequal (type, 'logical')) 44 assert (islogical (Z)) ; 45 assert (gbtest_eq (Z, logical (sparse (m,n)))) ; 46 end 47 48 Z = full (fix (X)) ; 49 A = GrB (Z, 'by row', type) ; 50 Y = gbtest_cast (Z, type) ; 51 assert (gbtest_eq (A, Y)) ; 52 53end 54 55X = [ ] ; 56A = GrB (X, 'by row', 'double') ; 57assert (isequal (A, X)) ; 58 59A = GrB (m, n, 'by row', 'double') ; 60X = sparse (m, n) ; 61assert (isequal (A, X)) ; 62 63fprintf ('gbtest1: all tests passed\n') ; 64 65