File: test183.m

package info (click to toggle)
suitesparse-graphblas 7.4.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 67,112 kB
  • sloc: ansic: 1,072,243; cpp: 8,081; sh: 512; makefile: 506; asm: 369; python: 125; awk: 10
file content (45 lines) | stat: -rw-r--r-- 1,185 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function test183
%TEST183 test GrB_eWiseMult with a hypersparse mask 

% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2022, All Rights Reserved.
% SPDX-License-Identifier: Apache-2.0

[~, ~, ~, types, ~, ~] = GB_spec_opsall ;
types = types.all ;

fprintf ('test183 -----------eWiseMult with hypersparse mask\n') ;

n = 10 ;

rng ('default') ;
dtt = struct ( 'inp0', 'tran', 'inp1', 'tran' ) ;

op.opname = 'times' ;
op.optype = 'double' ;
tol = 1e-12 ;

% for trial = 1:5

    A = GB_spec_random (n, n, inf, 1, 'double') ;
    A.matrix (1,1) = 0 ;
    A.pattern = logical (A.matrix) ;
    A.pattern (1,1) = false ;
    A.sparsity = 2 ;    % sparse
    B = GB_spec_random (n, n, inf, 1, 'double') ;
    B.sparsity = 2 ;    % sparse
    M = GB_spec_random (n, n, 0.001, 1, 'logical') ;
    M.sparsity = 1 ;    % hypersparse
    C = sparse (n, n) ;

    %---------------------------------------
    % A'.*B', with mask
    %---------------------------------------

    C0 = GB_spec_Matrix_eWiseMult (C, M, [ ], op, A, B, dtt) ;
    C1 = GB_mex_Matrix_eWiseMult  (C, M, [ ], op, A, B, dtt) ;
    GB_spec_compare (C0, C1, 0, tol) ;

% end

fprintf ('\ntest183: all tests passed\n') ;