1function test97 2%TEST97 test GB_assign, scalar expansion and zombies 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: Apache-2.0 6 7rng ('default') ; 8 9 n = 20 ; 10 C = sparse (rand (n)) ; 11 C (:,1) = sparse (rand (n,1) > 0.5) ; 12 13 ntrials = 10 ; 14 15 for k = 1:2:ntrials 16 17 % make some zombies 18 Work (k).A = sprandn (n, n, 0.1) ; 19 Work (k).I = [ ] ; 20 Work (k).J = [ ] ; 21 Work (k).Mask = sparse (ones (n)) ; 22 Work (k).accum = [ ] ; 23 Work (k).desc = [ ] ; 24 Work (k).scalar = 0 ; 25 26 % scalar expansion 27 Work (k+1).A = sparse (pi) ; 28 Work (k+1).I = [ ] ; 29 Work (k+1).J = [ ] ; 30 Work (k+1).Mask = sparse (ones (n)) ; 31 Work (k+1).accum = [ ] ; 32 Work (k+1).desc = [ ] ; 33 Work (k+1).scalar = 1 ; 34 end 35 36 C1 = GB_mex_assign (C, Work) ; 37 38 C2 = C ; 39 for k = 1:ntrials 40 M = Work (k).Mask ; 41 A = Work (k).A ; 42 scalar = Work (k).scalar ; 43 C2 = GB_spec_subassign (C2, M, [ ], A, [ ], [ ], [ ], scalar) ; 44 end 45 46 GB_spec_compare (C1, C2) ; 47 48fprintf ('\ntest97: all tests passed\n') ; 49 50