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