1function test176 2%TEST176 test C(I,J)<M,repl> = scalar (method 09, 11), M bitmap 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: Apache-2.0 6 7fprintf ('test176 ------------ assign/subassign: methods 09, 11\n') ; 8 9m = 10 ; 10n = 14 ; 11 12rng ('default') ; 13desc.outp = 'replace' ; 14scalar = sparse (pi) ; 15I = [1 2 4 5 6 8] ; 16J = [3 2 4 9 7 1] ; 17I0 = uint64 (I) - 1 ; 18J0 = uint64 (J) - 1 ; 19 20for trial = 1:10 21 22 clear M Cin 23 M.matrix = logical (spones (sprand (m, n, 0.5))) ; 24 M.sparsity = 4 ; % bitmap 25 26 Cin = GB_spec_random (m, n, 0.5, 1, 'double') ; 27 Cin.sparsity = 2 ; % sparse 28 29 C1 = GB_spec_assign (Cin, M, [ ], scalar, I, J, desc, true) ; 30 C2 = GB_mex_assign (Cin, M, [ ], scalar, I0, J0, desc) ; 31 GB_spec_compare (C1, C2) ; 32 33 C1 = GB_spec_assign (Cin, M, 'plus', scalar, I, J, desc, true) ; 34 C2 = GB_mex_assign (Cin, M, 'plus', scalar, I0, J0, desc) ; 35 GB_spec_compare (C1, C2) ; 36 37 M.matrix = logical (spones (sprand (length (I), length (J), 0.5))) ; 38 M.sparsity = 4 ; % bitmap 39 40 C1 = GB_spec_subassign (Cin, M, [ ], scalar, I, J, desc, true) ; 41 C2 = GB_mex_subassign (Cin, M, [ ], scalar, I0, J0, desc) ; 42 GB_spec_compare (C1, C2) ; 43 44 C1 = GB_spec_subassign (Cin, M, 'plus', scalar, I, J, desc, true) ; 45 C2 = GB_mex_subassign (Cin, M, 'plus', scalar, I0, J0, desc) ; 46 GB_spec_compare (C1, C2) ; 47 48end 49 50fprintf ('\ntest176: all tests passed\n') ; 51