1function gbtest25
2%GBTEST25 test diag, tril, triu
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') ;
8for trials = 1:10
9    fprintf ('.') ;
10
11    for m = 2:6
12        for n = 2:6
13            A = sprand (m, n, 0.5) ;
14            G = GrB (A) ;
15            for k = -m:n
16                B = diag (A, k) ;
17                C = diag (G, k) ;
18                assert (gbtest_eq (B, C)) ;
19                B = tril (A, k) ;
20                C = tril (A, k) ;
21                assert (gbtest_eq (B, C)) ;
22                B = triu (A, k) ;
23                C = triu (A, k) ;
24                assert (gbtest_eq (B, C)) ;
25            end
26            B = diag (A) ;
27            C = diag (G) ;
28            assert (gbtest_eq (B, C)) ;
29        end
30    end
31
32    for m = 1:6
33        A = sprandn (m, 1, 0.5) ;
34        G = GrB (A) ;
35        for k = -6:6
36            B = diag (A, k) ;
37            C = diag (G, k) ;
38            assert (gbtest_eq (B, C)) ;
39            B = tril (A, k) ;
40            C = tril (G, k) ;
41            assert (gbtest_eq (B, C)) ;
42            B = triu (A, k) ;
43            C = triu (G, k) ;
44            assert (gbtest_eq (B, C)) ;
45        end
46
47        B = diag (A) ;
48        C = diag (G) ;
49        assert (gbtest_eq (B, C)) ;
50        B = tril (A) ;
51        C = tril (G) ;
52        assert (gbtest_eq (B, C)) ;
53        B = triu (A) ;
54        C = triu (G) ;
55        assert (gbtest_eq (B, C)) ;
56    end
57end
58
59fprintf ('\ngbtest25: all tests passed\n') ;
60
61