File: gbtest1.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 (64 lines) | stat: -rw-r--r-- 1,417 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
53
54
55
56
57
58
59
60
61
62
63
64
function gbtest1
%GBTEST1 test GrB

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

rng ('default') ;
X = 100 * sprand (3, 4, 0.4) %#ok<*NOPRT>

% types = { 'double' } ;

types = gbtest_types ;

m = 2 ;
n = 3 ;

for k = 1:length (types)
    type = types {k} ;

    fprintf ('\n---- A = GrB (X) :\n') ;
    A = GrB (X)
    Z = double (A)
    assert (gbtest_eq (Z, X)) ;

    fprintf ('\n---- A = GrB (X, ''%s'') :\n', type) ;
    A = GrB (X, type)
    Z = logical (A)
    if (isequal (type, 'logical'))
        assert (islogical (Z)) ;
        assert (gbtest_eq (Z, logical (X))) ;
    end

    fprintf ('\n---- A = GrB (%d, %d) :\n', m, n) ;
    A = GrB (m, n)
    Z = sparse (m, n)
    assert (isequal (A, Z)) ;
    A = GrB (m, n, 'by row') ;
    assert (isequal (A, Z)) ;

    fprintf ('\n---- A = GrB (%d, %d, ''%s'') :\n', m, n, type) ;
    A = GrB (m, n, type)
    Z = logical (A)
    if (isequal (type, 'logical'))
        assert (islogical (Z)) ;
        assert (gbtest_eq (Z, logical (sparse (m,n)))) ;
    end

    Z = full (fix (X)) ;
    A = GrB (Z, 'by row', type) ;
    Y = gbtest_cast (Z, type) ;
    assert (gbtest_eq (A, Y)) ;

end

X = [ ] ;
A = GrB (X, 'by row', 'double') ;
assert (isequal (A, X)) ;

A = GrB (m, n, 'by row', 'double') ;
X = sparse (m, n) ;
assert (isequal (A, X)) ;

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