1function gbtest9
2%GBTEST9 test eye and speye
3
4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
5% SPDX-License-Identifier: GPL-3.0-or-later
6
7types = gbtest_types ;
8
9A = eye ;
10G = GrB.eye ;
11assert (gbtest_eq (A, G)) ;
12G = GrB.speye ;
13assert (gbtest_eq (A, G)) ;
14
15for m = -1:10
16    fprintf ('.') ;
17
18    A = eye (m) ;
19    G = GrB.eye (m) ;
20    assert (gbtest_eq (A, G)) ;
21    G = GrB.speye (m) ;
22    assert (gbtest_eq (A, G)) ;
23
24    for n = -1:10
25
26        A = eye (m, n) ;
27        G = GrB.eye (m, n) ;
28        assert (gbtest_eq (A, G)) ;
29        G = GrB.speye (m, n) ;
30        assert (gbtest_eq (A, G)) ;
31
32        for k = 1:length (types)
33            type = types {k} ;
34
35            A = gbtest_cast (eye (m, n), type) ;
36
37            G = GrB.eye (m, n, type) ;
38            assert (gbtest_eq (A, G)) ;
39            G = GrB.speye (m, n, type) ;
40            assert (gbtest_eq (A, G)) ;
41
42            G = GrB.eye ([m n], type) ;
43            assert (gbtest_eq (A, G)) ;
44            G = GrB.speye ([m n], type) ;
45            assert (gbtest_eq (A, G)) ;
46
47            A = gbtest_cast (eye (m, m), type) ;
48
49            G = GrB.eye (m, type) ;
50            assert (gbtest_eq (A, G)) ;
51            G = GrB.speye (m, type) ;
52            assert (gbtest_eq (A, G)) ;
53
54        end
55    end
56end
57
58fprintf ('\ngbtest9: all tests passed\n') ;
59
60