File: gbtest98.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 (52 lines) | stat: -rw-r--r-- 1,174 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
function gbtest98
%GBTEST98 test row/col degree for hypersparse matrices

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

rng ('default') ;

n = 2^12 ;
G = GrB (n, n) ;
I = randperm (n, 8) ;
G (I,I) = magic (8) ;

d = double (GrB.entries (G, 'row', 'degree')) ;
A = double (G) ;
d2 = sum (spones (A))' ;
assert (isequal (d, d2)) ;

G = GrB (G, 'by row') ;
d = double (GrB.entries (G, 'col', 'degree')) ;
assert (isequal (d, d2)) ;

G = G + GrB.eye (n) ;
A = double (G) ;
d2 = sum (spones (A))' ;
d = double (GrB.entries (G, 'col', 'degree')) ;
assert (isequal (d, d2)) ;

n = 2 * flintmax ;
G = GrB (n, n) ;
m = flintmax / 2 ;
I = sort (randperm (m, 8)) ;
A = magic (8) ;
G (I,I) = A ;
x1 = nonzeros (A) ;
x2 = nonzeros (G) ;
assert (isequal (x1, x2)) ;

[i1,j1,x1] = GrB.extracttuples (G) ;
[~ ,~ ,x2] = GrB.extracttuples (A) ;
assert (isequal (x1, x2)) ;

assert (isequal (class (i1), 'int64')) ;
assert (isequal (class (j1), 'int64')) ;

G = GrB.random (8, 8, 0.5) ;
A = double (G) ;
G = full (G, 'double', 1) ;
A (A == 0) = 1 ;
assert (isequal (A, G)) ;

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