File: test230.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 (85 lines) | stat: -rw-r--r-- 1,765 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
function test230
%TEST230 test GrB_apply with idxunop

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

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

fprintf ('\n--- testing apply with idxunops\n') ;
rng ('default') ;

defaults = [ ] ;
desc.inp0 = 'tran' ;

for k2 = 1:length(ops)
    opname = ops {k2} ;
    fprintf ('\n%-10s ', opname) ;

    for k1 = 1:length (types)
    type = types {k1} ;

    % create the op
    clear op
    op.opname = opname ;
    op.optype = type ;

    [is_idxunop, ztype] = GB_spec_is_idxunop (opname, type) ;
    if (~is_idxunop)
        continue ;
    end

    fprintf ('.') ;

    for m = [1 4] % [ 1 10 ]% 100]
    for n = [1 4] % [1 10 ]% 100]
    for hi = [1 5] % [-1:2:5 ]
    for lo = [-1 0] % [-3:2:5 ]

    Amat = (hi*sprand (m,n,0.8)-lo) .* sprand (m,n,0.5) ;
    Bmat = (hi*sprand (m,n,0.8)-lo) .* sprand (m,n,0.5) ;

    Cmat = sparse (m, n) ;

    C.matrix = Cmat ;
    C.class = ztype ;

    CT.matrix = Cmat' ;
    CT.class = ztype ;

    A.matrix = Amat ;
    A.class = type ;

    for ythunk = -3 % -3:3
    y.matrix = ythunk ;
    y.class = type ;

    for how = 0 % 0:1
    for csc = 0:1

    A.is_csc = csc ;
    C.is_csc = csc ;
    CT.is_csc = csc ;

    C1 = GB_mex_apply_idxunop (C, [ ], [ ], op, how, A,           y, defaults) ;
    C2 = GB_spec_apply        (C, [ ], [ ], op,      A, defaults, y) ;
    GB_spec_compare (C1, C2) ;

    C1 = GB_mex_apply_idxunop (CT, [ ], [ ], op, how, A,           y, desc) ;
    C2 = GB_spec_apply        (CT, [ ], [ ], op,      A, desc    , y) ;
    GB_spec_compare (C1, C2) ;

end
end
end
end
end
end
end
end
end

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