1function test174 2%TEST174 bitmap assignment, C<!,repl>+=A 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: Apache-2.0 6 7rng ('default') ; 8 9n = 100 ; 10A = GB_spec_random (n, n, 0.05, 1, 'double') ; 11A.sparsity = 2 ; 12 13C = GB_spec_random (n, n, 0.05, 1, 'double') ; 14C.sparsity = 4 ; 15 16desc.mask = 'complement' ; 17desc.outp = 'replace' ; 18 19% C<!,repl> += A 20C1 = GB_spec_assign (C, [ ], 'plus', A, [ ], [ ], desc, false) ; 21C2 = GB_mex_assign (C, [ ], 'plus', A, [ ], [ ], desc, false) ; 22GB_spec_compare (C1, C2) ; 23 24k = 10 ; 25I = randperm (n, k) ; 26J = randperm (n, k) ; 27I0 = uint64 (I) - 1 ; 28J0 = uint64 (J) - 1 ; 29 30A = GB_spec_random (k, k, 0.05, 1, 'double') ; 31A.sparsity = 2 ; 32 33% C<!,repl>(I,J) += A 34C1 = GB_spec_assign (C, [ ], 'plus', A, I, J, desc, false) ; 35C2 = GB_mex_assign (C, [ ], 'plus', A, I0, J0, desc, false) ; 36GB_spec_compare (C1, C2) ; 37 38I = 2 ; 39I0 = uint64 (I) - 1 ; 40Arow = sprand (n, 1, 0.5) ; 41Acol = sprand (n, 1, 0.5) ; 42 43% C<!,repl>(i,:) = A 44C1 = GB_spec_Row_assign (C, [ ], 'plus', Arow, I, [ ], desc) ; 45C2 = GB_mex_assign (C, [ ], 'plus', Arow, I0, [ ], desc, 2) ; 46GB_spec_compare (C1, C2) ; 47 48% C<!,repl>(:,i) = A 49C1 = GB_spec_Col_assign (C, [ ], 'plus', Acol, [ ], I, desc) ; 50C2 = GB_mex_assign (C, [ ], 'plus', Acol, [ ], I0, desc, 1) ; 51GB_spec_compare (C1, C2) ; 52 53fprintf ('test174: all tests passed\n') ; 54