1function test67 2%TEST67 test GrB_apply 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: Apache-2.0 6 7fprintf ('\n---------------------------- quick test of GrB_apply\n') ; 8 9A = sparse (rand (4,3)) ; 10C = sparse (rand (4,3)) ; 11 12C0 = GB_mex_apply (C, [ ], '', 'ainv', A) ; 13C1 = -A ; 14assert (isequal (full (C0.matrix), C1)) 15 16C0 = GB_mex_apply (C, [ ], 'plus', 'identity', A) ; 17C1 = C + A ; 18assert (isequal (full (C0.matrix), C1)) 19 20C0 = GB_mex_apply (C, [ ], 'times', 'minv', A) ; 21C1 = C .* (1./ A) ; 22assert (isequal (full (C0.matrix), C1)) 23 24d = struct ('inp0', 'tran') ; 25C0 = GB_mex_apply (C', [ ], 'times', 'ainv', A, d) ; 26C1 = C' .* (-A') ; 27assert (isequal (full (C0.matrix), C1)) 28 29A = sparse (zeros (4,3)) ; 30C0 = GB_mex_apply (A', [ ], 'plus', 'ainv', A, d) ; 31assert (nnz (C0.matrix) == 0) 32C0 = GB_mex_apply (A, [ ], '', 'ainv', A) ; 33assert (nnz (C0.matrix) == 0) 34 35fprintf ('\ntest67: all tests passed\n') ; 36 37