1function gbtest35 2%GBTEST35 test reshape 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') 8 9for m = 0:6 10 for n = 0:10 11 A = rand (m, n) ; 12 G = GrB (A) ; 13 mn = m*n ; 14 if (mn == 0) 15 C1 = reshape (A, n, m) ; 16 C2 = reshape (G, n, m) ; 17 assert (gbtest_eq (C1, C2)) ; 18 else 19 f = factor (mn) ; 20 for k = 1:length (f) 21 S = nchoosek (f, k) ; 22 for i = 1:size(S,1) 23 m2 = prod (S (i,:)) ; 24 n2 = mn / m2 ; 25 C1 = reshape (A, m2, n2) ; 26 C2 = reshape (G, m2, n2) ; 27 assert (gbtest_eq (C1, C2)) ; 28 C1 = reshape (A, [m2 n2]) ; 29 C2 = reshape (G, [m2 n2]) ; 30 assert (gbtest_eq (C1, C2)) ; 31 end 32 end 33 end 34 end 35end 36 37fprintf ('gbtest35: all tests passed\n') ; 38