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