File: Contents.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 (283 lines) | stat: -rw-r--r-- 13,497 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
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
% GraphBLAS Test/ folder: test GraphBLAS
% See the README.txt file for more details.

% Primary functiuns

%   make          - compiles the interface to GraphBLAS (for testing only)
%   testall       - run all GraphBLAS tests
%   nthreads_get  - get # of threads and chunk to use in GraphBLAS
%   nthreads_set  - set # of threads and chunk to use in GraphBLAS

% mimics of GraphBLAS operations:
%
%   GB_spec_Col_assign            - a mimic of GrB_Col_assign
%   GB_spec_Col_extract           - a mimic of GrB_Col_extract
%   GB_spec_Matrix_extract        - a mimic of GrB_Matrix_extract
%   GB_spec_Matrix_extractElement - a mimic of GrB_Matrix_extractElement
%   GB_spec_Row_assign            - a mimic of GrB_Row_assign
%   GB_spec_Vector_extract        - a mimic of GrB_Vector_extract
%   GB_spec_Vector_extractElement - a mimic of GrB_Matrix_extractElement
%   GB_spec_accum                 - mimic of the Z=accum(C,T) operation in GraphBLAS
%   GB_spec_accum_mask            - apply the accumulator and mask
%   GB_spec_apply                 - a mimic of GrB_apply
%   GB_spec_assign                - a mimic of GrB_assign (but not Row or Col variants)
%   GB_spec_build                 - a version of GrB_Matrix_build and GrB_vector_build
%   GB_spec_compare               - compare mimic result with GraphBLAS result
%   GB_spec_descriptor            - return components of a descriptor
%   GB_spec_Matrix_eWiseAdd       - a mimic of GrB_Matrix_eWiseAdd
%   GB_spec_Vector_eWiseAdd       - a mimic of GrB_Vector_eWiseAdd
%   GB_spec_Matrix_eWiseMult      - a mimic of GrB_Matrix_eWiseMult
%   GB_spec_Vector_eWiseMult      - a mimic of GrB_Vector_eWiseMult
%   GB_spec_extractTuples         - a mimic of GrB_*_extractTuples
%   GB_spec_identity              - the additive identity of a monoid
%   GB_spec_kron                  - a mimic of GrB_kronecker
%   GB_spec_mask                  - a pure implementation of GrB_mask
%   GB_spec_matrix                - a mimic that conforms a matrix to the GraphBLAS spec
%   GB_spec_mxm                   - a mimic of GrB_mxm
%   GB_spec_mxv                   - a mimic of GrB_mxv
%   GB_spec_op                    - apply a unary or binary operator
%   GB_spec_operator              - get the contents of an operator
%   GB_spec_opsall                - return a list of all operators, types, and semirings
%   GB_spec_random                - generate random matrix
%   GB_spec_reduce_to_scalar      - a mimic of GrB_reduce (to scalar)
%   GB_spec_reduce_to_vector      - a mimic of GrB_reduce (to vector)
%   GB_spec_resize                - a mimic of GxB_resize
%   GB_spec_select                - a mimic of GxB_select
%   GB_spec_semiring              - create a semiring
%   GB_spec_subassign             - a mimic of GxB_subassign
%   GB_spec_transpose             - a mimic of GrB_transpose
%   GB_spec_vxm                   - a mimic of GrB_vxm
%   GB_complex_compare            - compare GraphBLAS results for complex types
%   GB_user_op                    - apply a complex binary and unary operator
%   GB_user_opsall                - return list of complex operators
%   accum_mask                    - apply the mask
%   accum_mask2                   - a simpler version of GB_spec_accum_mask
%   GB_random_mask                - Mask = GB_random_mask (m, n, d, M_is_csc, M_is_hyper)
%   GB_spec_getmask               - return the mask, typecasted to logical

% Test scripts:

%   test01   - test GraphBLAS error handling
%   test02   - test GrB_*_dup
%   test03   - test GB_*_check functions
%   test04   - test and demo for accumulator/mask and transpose
%   test05   - test GrB_*_setElement
%   test06   - test GrB_mxm on all semirings
%   test07   - test GxB_subassign with a single pending tuple
%   test07b  - test GrB_assign with a single pending tuple
%   test08   - test GxB_subassign
%   test08b  - test GrB_assign
%   test09   - test GxB_subassign
%   test09b  - test GrB_assign
%   test10   - test GrB_apply
%   test11   - test GrB_*_extractTuples
%   test12   - test Wathen matrix generation
%   test13   - test GrB_tranpsose
%   test14   - test GrB_reduce
%   test15   - test AxB and AdotB internal functions
%   test16   - test user-defined complex type (runs all testc*.m)
%   test17   - test GrB_*_extractElement
%   test18   - test GrB_eWiseAdd and GrB_eWiseMult
%   test19   - test GxB_subassign and GrB_*_setElement with many pending operations
%   test19b  - test GrB_assign and GrB_*_setElement with many pending operations
%   test20   - test GrB_mxm, mxv, and vxm
%   test21   - test GxB_subassign
%   test21b  - test GrB_assign
%   test22   - test GrB_transpose
%   test23   - test GrB_*_build
%   test24   - test GrB_reduce
%   test25   - test GxB_select
%   test26   - performance test for GxB_select
%   test27   - test GxB_select with user-defined select op (LoHi_band)
%   test28   - test mxm with aliased inputs, C<C> = accum(C,C*C)
%   test29   - GrB_reduce with zombies
%   test30   - test GxB_subassign
%   test30b  - performance test GB_mex_assign, scalar expansionb
%   test31   - test GrB_transpose
%   test32   - test GrB_mxm
%   test33   - test a semiring
%   test34   - test GrB_eWiseAdd
%   test35   - test GrB_*_extractTuples
%   test36   - performance test of matrix subref
%   test38   - test GrB_transpose
%   test39   - performance test for GrB_transpose
%   test40   - test GrB_Matrix_extractElement
%   test41   - test AxB
%   test42   - test GrB_Matrix_build
%   test43   - test subref
%   test44   - test qsort
%   test45   - test GrB_*_setElement and GrB_*_*build
%   test46   - performance test of GxB_subassign
%   test46b  - performance test of GrB_assign
%   test47   - prformance test of GrB_vxm
%   test48   - performance test of GrB_mxm
%   test49   - performance test of GrB_mxm (dot product method, A'*B)
%   test50   - test AxB numeric and symbolic
%   test51   - test GxB_subassign, multiply operations
%   test51b  - test GrB_assign, multiply operations
%   test52   - test AdotB vs AxB
%   test53   - test GrB_Matrix_extract
%   test54   - test GB_subref (numeric case) with I=lo:hi, J=lo:hi
%   test55   - test GxB_subassign, illustrate duplicate indices
%   test55b  - test GrB_assign, illustrate duplicate indices
%   test56   - test GrB_*_build
%   test57   - test operator on large uint32 values
%   test58   - test GrB_eWiseAdd
%   test59   - test GrB_mxm
%   test60   - test min and max operators with NaNs
%   test61   - performance test of GrB_eWiseMult
%   test62   - test GrB_apply
%   test63   - test GraphBLAS binary operators
%   test64   - test GxB_*_subassign, scalar expansion, with and without duplicates
%   test64b  - test GrB_*_assign, scalar expansion, with and without duplicates
%   test65   - test type casting
%   test66   - test GrB_reduce
%   test67   - test GrB_apply
%   test68   - performance tests for eWiseMult
%   test69   - test GrB_assign with aliased inputs, C<C>(:,:) = accum(C(:,:),C)
%   test72   - special cases for mxm, ewise, ...
%   test73   - performance of C = A*B, with mask
%   test74   - test GrB_mxm: all built-in semirings
%   test75   - test GrB_mxm and GrB_vxm on all semirings
%   test75b  - GrB_mxm and GrB_vxm on all semirings (shorter test than test75)
%   test76   - test GxB_resize
%   test77   - test GrB_kronecker
%   test78   - test subref
%   test79   - run all matrices with test06
%   test80   - rerun test06 with different matrices
%   test81   - test GrB_Matrix_extract with index range, stride, & backwards
%   test82   - test GrB_Matrix_extract with index range (hypersparse)
%   test83   - test GrB_assign with J=lo:0:hi, an empty list, and C_replace true
%   test84   - test GrB_assign (row and column with C in CSR format)
%   test85   - test GrB_transpose: 1-by-n with typecasting
%   test86   - performance test of of GrB_Matrix_extract
%   test87   - performance test of GrB_mxm
%   test88   - test hypersparse matrices with hash-based method
%   test89   - performance test of complex A*B
%   test90   - test AxB with user-defined semirings: plus_rdiv and plus_rdiv2
%   test91   - test subref performance on dense vectors
%   test92   - test GB_subref (symbolic case)
%   test95   - performance test for GrB_transpose
%   test96   - test dot product
%   test97   - test GB_assign, scalar expansion and zombies
%   test98   - test GrB_mxm, typecasting on the fly
%   test99   - test GB_mex_transpose with explicit zeros in the Mask
%   test101  - test import/export
%   test102  - test GB_AxB_saxpy3_flopcount
%   test103  - test aliases in GrB_transpose
%   test104  - export/import
%   test105  - eWiseAdd with hypersparse matrices
%   test106  - GxB_subassign with alias
%   test107  - user-defined terminal monoid
%   test108  - test boolean monoids
%   test109  - terminal monoid with user-defined type
%   test110  - test accum/mask (binary search of M(:,j))
%   test111  - performance test for eWiseAdd
%   test112  - test row/col scale
%   test113  - performance tests for GrB_kron
%   test114  - performance of reduce-to-scalar
%   test115  - test GB_assign, scalar expansion and zombies, with duplicates
%   test116  - performance tests for GrB_assign
%   test117  - performance tests for GrB_assign
%   test118  - performance tests for GrB_assign
%   test119  - performance tests for GrB_assign
%   test120  - performance tests for GrB_assign
%   test121  - performance tests for GrB_assign
%   test122  - performance tests for GrB_assign
%   test124  - GrB_extract, trigger case 6
%   test125  - test GrB_mxm: row and column scaling
%   test126  - test GrB_reduce to vector on a very sparse matrix 
%   test127  - test GrB_eWiseAdd and GrB_eWiseMult (all types and operators)
%   test128  - test eWiseMult and eWiseAdd, special cases
%   test129  - test GxB_select (tril and nonzero, hypersparse)
%   test130  - test GrB_apply (hypersparse cases)
%   test131  - test GrB_Matrix_clear
%   test132  - test GrB_*_setElement and GrB_*_*build
%   test133  - test mask operations (GB_masker)
%   test134  - test GxB_select
%   test135  - reduce-to-scalar, built-in monoids with terminal values
%   test136  - GxB_subassign, method 08, 09, 11
%   test137  - GrB_eWiseMult with FIRST and SECOND operators
%   test138  - test assign, with coarse-only tasks in IxJ slice
%   test139  - merge sort, special cases
%   test140  - test assign with duplicates
%   test141  - test GrB_eWiseAdd (all types and operators) for dense matrices
%   test142  - test GrB_assign for dense matrices
%   test143  - test special cases for C<!M>=A*B and C<M>=A*B
%   test144  - test GB_cumsum
%   test145  - test dot4
%   test146  - test C<M,struct> = scalar
%   test147  - test C<M>A*B with very sparse M
%   test148  - eWiseAdd with aliases
%   test149  - test fine hash method for C<!M>=A*B
%   test150  - test GrB_mxm with typecasting and zombies (dot3 and saxpy)
%   test151  - test bitwise operators
%   test152  - test C = A+B for dense A, B, and C
%   test153  - list all possible semirings
%   test154  - test GrB_apply with scalar binding
%   test155  - test GrB_*_setElement and GrB_*_removeElement
%   test156  - test assign C=A with typecasting

% TODO:: add new tests here

%   testc1   - test complex operators
%   testc2   - test complex A*B, A'*B, A*B', A'*B', A+B
%   testc3   - test complex GrB_extract
%   testc4   - test complex extractElement and setElement
%   testc5   - test complex subref
%   testc6   - test complex apply
%   testc7   - test complex assign
%   testc8   - test complex eWiseAdd and eWiseMult
%   testc9   - test complex extractTuples
%   testca   - test complex mxm, mxv, and vxm
%   testcb   - test complex reduce
%   testcc   - test complex transpose

% Other tests:

%   t74       - run test20 and test74
%   testperf  - run all performance tests
%   atest     - test GrB_assign and GxB_subassign
%   atest11   - test GrB_assign and GxB_subassign
%   btest     - test GrB_build
%   etest     - test eWise
%   ee        - eWiseMult and eWiseAdd performance tests
%   grbinfo   - print info about the GraphBLAS version
%   mtest     - test mxm
%   longtests - very long tests

%   rtest     - test GrB_reduce to vector and scalar
%   ss        - test GxB_select
%   stest     - test GxB_select
%   testall2  - run testall with different # of threads
%   testall3  - run testall with different # of threads
%   tt        - test eWiseMult and A+B
%   ttest     - test GrB_extractTuples
%   xtest     - test GrB_extract
%   ztest     - test zombie deletion
%   testsort  - test qsort and msort

% Helper functions

%   debug_off        - turn off malloc debugging
%   debug_on         - turn on malloc debugging

%   irand            - construct a random integer matrix 
%   logstat          - run a GraphBLAS test and log the results to log.txt 
%   runtest          - run a single GraphBLAS test
%   stat             - report status of statement coverage and malloc debugging
%   GB_define        - create C source code for GraphBLAS.h

%   isequal_roundoff - compare two matrices, allowing for roundoff errors

%   test_other       - installs all packages needed for extensive tests

%   grb_clear_coverage - clear current statement coverage
%   grb_get_coverage   - return current statement coverage

%   flopcount        - cumulative sum of flop counts for A*B, C<M>=A*B, C<!M>=A*B
%   floptest         - compare flopcount with GB_mex_mxm_flops

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