File: test137.m

package info (click to toggle)
suitesparse 1%3A7.10.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 254,920 kB
  • sloc: ansic: 1,134,743; cpp: 46,133; makefile: 4,875; fortran: 2,087; java: 1,826; sh: 996; ruby: 725; python: 495; asm: 371; sed: 166; awk: 44
file content (40 lines) | stat: -rw-r--r-- 1,020 bytes parent folder | download | duplicates (2)
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
function test137
%TEST137 GrB_eWiseMult with FIRST and SECOND operators

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

fprintf ('test137: GrB_eWiseMult with FIRST and SECOND operators\n') ;

rng ('default') ;

n = 100 ;
for k = [false true]
    fprintf ('builtin_complex: %d\n', k) ;
    GB_builtin_complex_set (k) ;

    A = sprand (n, n, 0.1) ;
    Z = sprand (n, n, 0.1) + 1i * sprand (n, n, 0.1) ;
    S = spones (Z) ;
    C = sparse (n, n) ;

    try
        % this is an error
        C1 = GB_mex_Matrix_eWiseMult (C, [ ], [ ], 'times', A, Z, [ ]) ;
        assert (false) ;
    catch
        assert (true) ;
    end

    C0 = A .* S ;
    C1 = GB_mex_eWiseMult_first (C, [ ], [ ], [ ], A, Z, [ ]) ;
    assert (isequal (C0, C1.matrix)) ;

    C0 = S .* A ;
    C1 = GB_mex_eWiseMult_second (C, [ ], [ ], [ ], Z, A, [ ]) ;
    assert (isequal (C0, C1.matrix)) ;
end


GB_builtin_complex_set (true) ;
fprintf ('test137: all tests passed\n') ;