1function gbtest24
2%GBTEST24 test any, all
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 trial = 1:10
9    for m = 1:5
10        fprintf ('.') ;
11        for n = 1:5
12
13            MA = sprand (m, n, 0.5) ;
14            S = -(sprand (m, n, 0.5) > 0.5) ;
15            MA = MA .* S ;
16
17            MB = sprand (m, n, 0.5) ;
18            S = -(sprand (m, n, 0.5) > 0.5) ;
19            MB = MB .* S ;
20
21            GA = GrB (MA) ;
22            GB = GrB (MB) ; %#ok<*NASGU>
23
24            c1 = all (MA) ;
25            c2 = all (GA) ;
26            assert (gbtest_eq (c1, c2)) ;
27
28            c1 = any (MA) ;
29            c2 = any (GA) ;
30            assert (gbtest_eq (c1, c2)) ;
31
32            % c1 = all (MA, 'all') ;
33            c1 = all (all (MA)) ;
34            c2 = all (GA, 'all') ;
35            assert (gbtest_eq (c1, c2)) ;
36
37            % c1 = any (MA, 'all') ;
38            c1 = any (any (MA)) ;
39            c2 = any (GA, 'all') ;
40            assert (gbtest_eq (c1, c2)) ;
41
42            C1 = all (MA, 1) ;
43            C2 = all (GA, 1) ;
44            assert (gbtest_eq (C1, C2)) ;
45
46            C1 = any (MA, 1) ;
47            C2 = any (GA, 1) ;
48            assert (gbtest_eq (C1, C2)) ;
49
50            C1 = all (MA, 2) ;
51            C2 = all (GA, 2) ;
52            assert (gbtest_eq (C1, C2)) ;
53
54            C1 = any (MA, 2) ;
55            C2 = any (GA, 2) ;
56            assert (gbtest_eq (C1, C2)) ;
57
58        end
59    end
60end
61
62fprintf ('\ngbtest24: all tests passed\n') ;
63
64