1function gbtest98 2%GBTEST98 test row/col degree for hypersparse matrices 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 = 2^12 ; 10G = GrB (n, n) ; 11I = randperm (n, 8) ; 12G (I,I) = magic (8) ; 13 14d = double (GrB.entries (G, 'row', 'degree')) ; 15A = double (G) ; 16d2 = sum (spones (A))' ; 17assert (isequal (d, d2)) ; 18 19G = GrB (G, 'by row') ; 20d = double (GrB.entries (G, 'col', 'degree')) ; 21assert (isequal (d, d2)) ; 22 23G = G + GrB.eye (n) ; 24A = double (G) ; 25d2 = sum (spones (A))' ; 26d = double (GrB.entries (G, 'col', 'degree')) ; 27assert (isequal (d, d2)) ; 28 29n = 2 * flintmax ; 30G = GrB (n, n) ; 31I = sort (randperm (flintmax-1, 8)) ; 32A = magic (8) ; 33G (I,I) = A ; 34x1 = nonzeros (A) ; 35x2 = nonzeros (G) ; 36assert (isequal (x1, x2)) ; 37 38[i1,j1,x1] = GrB.extracttuples (G) ; 39[~ ,~ ,x2] = GrB.extracttuples (A) ; 40assert (isequal (x1, x2)) ; 41 42assert (isequal (class (i1), 'int64')) ; 43assert (isequal (class (j1), 'int64')) ; 44 45G = GrB.random (8, 8, 0.5) ; 46A = double (G) ; 47G = full (G, 'double', 1) ; 48A (A == 0) = 1 ; 49assert (isequal (A, G)) ; 50 51fprintf ('\ngbtest98: all tests passed\n') ; 52