1function gbtest23 2%GBTEST23 test min and max 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 fprintf ('.') ; 10 for m = 1:5 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) ; 23 24 c1 = max (MA) ; 25 c2 = max (GA) ; 26 assert (gbtest_eq (c1, c2)) ; 27 28 c1 = min (MA) ; 29 c2 = min (GA) ; 30 assert (gbtest_eq (c1, c2)) ; 31 32 C1 = max (MA,MB) ; 33 C2 = max (MA,GB) ; 34 C3 = max (GA,MB) ; 35 C4 = max (GA,GB) ; 36 assert (gbtest_eq (C1, C2)) ; 37 assert (gbtest_eq (C1, C3)) ; 38 assert (gbtest_eq (C1, C4)) ; 39 40 C1 = min (MA,MB) ; 41 C2 = min (MA,GB) ; 42 C3 = min (GA,MB) ; 43 C4 = min (GA,GB) ; 44 assert (gbtest_eq (C1, C2)) ; 45 assert (gbtest_eq (C1, C3)) ; 46 assert (gbtest_eq (C1, C4)) ; 47 48 % c1 = max (MA, [ ], 'all') ; 49 c1 = max (max (MA)) ; 50 c2 = max (GA, [ ], 'all') ; 51 assert (gbtest_eq (c1, c2)) ; 52 53 % c1 = min (MA, [ ], 'all') ; 54 c1 = min (min (MA)) ; 55 c2 = min (GA, [ ], 'all') ; 56 assert (gbtest_eq (c1, c2)) ; 57 58 C1 = max (MA, [ ], 1) ; 59 C2 = max (GA, [ ], 1) ; 60 assert (gbtest_eq (C1, C2)) ; 61 62 C1 = min (MA, [ ], 1) ; 63 C2 = min (GA, [ ], 1) ; 64 assert (gbtest_eq (C1, C2)) ; 65 66 C1 = max (MA, [ ], 2) ; 67 C2 = max (GA, [ ], 2) ; 68 assert (gbtest_eq (C1, C2)) ; 69 70 C1 = min (MA, [ ], 2) ; 71 C2 = min (GA, [ ], 2) ; 72 assert (gbtest_eq (C1, C2)) ; 73 74 end 75 end 76end 77 78fprintf ('\ngbtest23: all tests passed\n') ; 79 80