1function gbtest91 2%GBTEST91 test GrB.trans 3% 4% C = GrB.trans (A) 5% C = GrB.trans (A, desc) 6% C = GrB.trans (C, accum, A, desc) 7% C = GrB.trans (C, M, A, desc) 8% C = GrB.trans (C, M, accum, A, desc) 9 10% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 11% SPDX-License-Identifier: GPL-3.0-or-later 12 13rng ('default') 14 15C = GrB.random (8, 9, 0.5) ; 16M = GrB.random (8, 9, 0.5, 'range', logical ([false true])) ; 17accum = '+' ; 18A = GrB.random (9, 8, 0.5) ; 19desc = struct ; 20 21c = double (C) ; 22a = double (A) ; 23m = logical (M) ; 24 25%---------------------------------------------------------------------- 26% C = GrB.trans (A) 27%---------------------------------------------------------------------- 28 29% 1 matrix: A 30% 0 string: 31 32C2 = A.' ; 33c2 = a.' ; 34assert (isequal (c2, C2)) ; 35 36C1 = GrB.trans (A) ; assert (isequal (C1, C2)) ; 37C1 = GrB.trans (a) ; assert (isequal (C1, C2)) ; 38 39%---------------------------------------------------------------------- 40% C = GrB.trans (A, desc) 41%---------------------------------------------------------------------- 42 43% 1 matrix: A 44% 0 string: 45 46C2 = A.' ; 47c2 = a.' ; 48assert (isequal (c2, C2)) ; 49 50C1 = GrB.trans (A, desc) ; assert (isequal (C1, C2)) ; 51C1 = GrB.trans (a, desc) ; assert (isequal (C1, C2)) ; 52 53%---------------------------------------------------------------------- 54% C = GrB.trans (C, accum, A, desc) 55%---------------------------------------------------------------------- 56 57% 2 matrices C, A 58% 1 string: accum 59 60C2 = C + A.' ; 61c2 = c + a.' ; 62assert (isequal (c2, C2)) ; 63 64C1 = GrB.trans (C, accum, A, desc) ; assert (isequal (C1, C2)) ; 65C1 = GrB.trans (C, A, accum, desc) ; assert (isequal (C1, C2)) ; 66C1 = GrB.trans (accum, C, A, desc) ; assert (isequal (C1, C2)) ; 67 68C1 = GrB.trans (c, accum, a, desc) ; assert (isequal (C1, C2)) ; 69C1 = GrB.trans (c, a, accum, desc) ; assert (isequal (C1, C2)) ; 70C1 = GrB.trans (accum, c, a, desc) ; assert (isequal (C1, C2)) ; 71 72%---------------------------------------------------------------------- 73% C = GrB.trans (C, M, A, desc) 74%---------------------------------------------------------------------- 75 76% 3 matrices C, M, A 77 78% C<M> = A.' 79 80C2 = C ; 81T = A.' ; 82C2 (M) = T (M) ; 83 84c2 = c ; 85t = a.' ; 86c2 (m) = t (m) ; 87assert (isequal (c2, C2)) ; 88 89C1 = GrB.trans (C, M, A, desc) ; assert (isequal (C1, C2)) ; 90C1 = GrB.trans (c, m, a, desc) ; assert (isequal (C1, C2)) ; 91 92%---------------------------------------------------------------------- 93% C = GrB.trans (C, M, accum, A, desc) 94%---------------------------------------------------------------------- 95 96% 3 matrices C, M, A 97% 1 string: accum 98 99% C<M> += A.' 100 101C2 = C ; 102T = C + A.' ; 103C2 (M) = T (M) ; 104 105c2 = c ; 106t = c + a.' ; 107c2 (m) = t (m) ; 108assert (isequal (c2, C2)) ; 109 110C1 = GrB.trans (C, M, accum, A, desc) ; assert (isequal (C1, C2)) ; 111C1 = GrB.trans (accum, C, M, A, desc) ; assert (isequal (C1, C2)) ; 112C1 = GrB.trans (C, accum, M, A, desc) ; assert (isequal (C1, C2)) ; 113C1 = GrB.trans (C, M, A, accum, desc) ; assert (isequal (C1, C2)) ; 114 115C1 = GrB.trans (c, m, accum, a, desc) ; assert (isequal (C1, C2)) ; 116C1 = GrB.trans (accum, c, m, a, desc) ; assert (isequal (C1, C2)) ; 117C1 = GrB.trans (c, accum, m, a, desc) ; assert (isequal (C1, C2)) ; 118C1 = GrB.trans (c, m, a, accum, desc) ; assert (isequal (C1, C2)) ; 119 120fprintf ('gbtest91: all tests passed\n') ; 121