1function test177 2%TEST177 C<!M>=A*B, C bitmap, M sparse, A bitmap, B sparse 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: Apache-2.0 6 7fprintf ('test177: C<!M>=A*B, C bitmap, M sparse, A bitmap, B sparse\n') ; 8 9n = 20 ; 10 11rng ('default') ; 12 13desc.mask = 'complement' ; 14semiring.class = 'double' ; 15 16for trial = 1:10 17 18 clear M Cin 19 M.matrix = logical (spones (sprand (n, n, 0.5))) ; 20 M.sparsity = 2 ; % bitmap 21 22 Cin = GB_spec_random (n, n, 0.5, 1, 'double') ; 23 Cin.sparsity = 4 ; % bitmap 24 25 A = GB_spec_random (n, n, 0.5, 1, 'double') ; 26 A.sparsity = 4 ; % bitmap 27 28 B = GB_spec_random (n, n, 0.5, 1, 'double') ; 29 B.sparsity = 2 ; % sparse 30 31 semiring.add = 'plus' ; 32 semiring.multiply = 'times' ; 33 34 C1 = GB_spec_mxm (Cin, M, [ ], semiring, A, B, desc) ; 35 C2 = GB_mex_mxm (Cin, M, [ ], semiring, A, B, desc) ; 36 GB_spec_compare (C1, C2) ; 37 38 semiring.add = 'max' ; 39 semiring.multiply = 'plus' ; 40 41 C1 = GB_spec_mxm (Cin, M, [ ], semiring, A, B, desc) ; 42 C2 = GB_mex_mxm (Cin, M, [ ], semiring, A, B, desc) ; 43 GB_spec_compare (C1, C2) ; 44 45end 46 47fprintf ('\ntest177: all tests passed\n') ; 48 49