1WildType size: 128
2    GraphBLAS type: WildType user-defined: [wildtype] size: 128
3
4a wildtype scalar: scalar1 [this is from scalar1]
5       0.0        1.0        2.0        3.0
6     100.0      101.0      102.0      103.0
7     200.0      201.0      202.0      203.0
8     300.0      301.0      302.0      303.0
9
10a wildtype scalar: got scalar2 = C(7,2) [this is A(2,7)]
11       0.0        1.0        2.0        3.0
12     100.0      101.0      102.0      103.0
13     200.0      201.0      202.0      203.0
14     300.0      301.0      302.0      303.0
15
16a wildtype scalar: scalar2 [here is scalar2]
17       0.5        1.5        2.5        3.5
18      -0.5        0.5        1.5        2.5
19      -1.5       -0.5        0.5        1.5
20      -2.5       -1.5       -0.5        0.5
21
22a wildtype scalar: scalar_identity for the monoid [identity]
23       0.0        0.0        0.0        0.0
24       0.0        0.0        0.0        0.0
25       0.0        0.0        0.0        0.0
26       0.0        0.0        0.0        0.0
27
28    GraphBLAS Semiring: InTheWild (user-defined)
29    GraphBLAS Monoid: semiring->add (user-defined)
30    GraphBLAS BinaryOp: monoid->op (user-defined) z=wildtype_add(x,y)
31    GraphBLAS type: ztype user-defined: [wildtype] size: 128
32    GraphBLAS type: xtype user-defined: [wildtype] size: 128
33    GraphBLAS type: ytype user-defined: [wildtype] size: 128
34    identity: [ [user-defined value] ]
35
36    GraphBLAS BinaryOp: semiring->multiply (user-defined) z=wildtype_mult(x,y)
37    GraphBLAS type: ztype user-defined: [wildtype] size: 128
38    GraphBLAS type: xtype user-defined: [wildtype] size: 128
39    GraphBLAS type: ytype user-defined: [wildtype] size: 128
40
41multiplication C=A*B InTheWild semiring:
42
43Printing the matrix with GxB_Matrix_fprint:
44
45  10x10 GraphBLAS wildtype matrix, sparse by row
46  input A, 3 entries
47
48    (2,4) [user-defined value]
49    (2,7) [user-defined value]
50    (3,7) [user-defined value]
51
52
53============= printing the WildType matrix: input A (10-by-10 with 3 entries)
54
55----------- input A(2,4):
56
57a wildtype scalar:  [this is A(2,4)]
58       0.0        1.0        2.0        3.0
59     100.0      101.0      102.0      103.0
60     200.0      201.0      202.0      909.0
61     300.0      301.0      302.0       42.0
62
63----------- input A(2,7):
64
65a wildtype scalar:  [this is A(2,7)]
66       0.0        1.0        2.0        3.0
67     100.0      101.0      102.0      103.0
68     200.0      201.0      202.0      203.0
69     300.0      301.0      302.0      303.0
70
71----------- input A(3,7):
72
73a wildtype scalar:  [this is A(3,7)]
74       0.0        1.0        2.0        3.0
75     100.0      101.0      102.0      103.0
76     200.0      201.0      202.0      909.0
77     300.0      301.0      302.0      303.0
78
79============= that was the WildType matrix input A
80
81Printing the matrix with GxB_Matrix_fprint:
82
83  10x10 GraphBLAS wildtype matrix, hypersparse by row
84  input B, no entries
85  pending tuples: 3 max pending: 256 zombies: 0
86  pending tuples:
87    GraphBLAS type:  user-defined: [wildtype] size: 128
88    row: 7 col: 2 [user-defined value]
89    row: 7 col: 5 [user-defined value]
90    row: 4 col: 2 [user-defined value]
91  pending operator: implicit 2nd
92
93
94============= printing the WildType matrix: input B (10-by-10 with 3 entries)
95
96----------- input B(4,2):
97
98a wildtype scalar:  [finally, B(4,2)]
99      -1.0        1.5        2.5       77.0
100      -0.5        0.5        1.5        2.5
101      -1.5       -0.5        0.5        1.5
102      -2.5       -1.5       -0.5        0.5
103
104----------- input B(7,2):
105
106a wildtype scalar:  [this is B(7,2)]
107       0.5        1.5        2.5        3.5
108      -0.5        0.5        1.5        2.5
109      -1.5       -0.5        0.5        1.5
110      -2.5       -1.5       -0.5        0.5
111
112----------- input B(7,5):
113
114a wildtype scalar:  [here is B(7,5)]
115      -1.0        1.5        2.5        3.5
116      -0.5        0.5        1.5        2.5
117      -1.5       -0.5        0.5        1.5
118      -2.5       -1.5       -0.5        0.5
119
120============= that was the WildType matrix input B
121
122a wildtype scalar: x for multiply: [this is A(2,4)]
123       0.0        1.0        2.0        3.0
124     100.0      101.0      102.0      103.0
125     200.0      201.0      202.0      909.0
126     300.0      301.0      302.0       42.0
127
128a wildtype scalar: y for multiply: [finally, B(4,2)]
129      -1.0        1.5        2.5       77.0
130      -0.5        0.5        1.5        2.5
131      -1.5       -0.5        0.5        1.5
132      -2.5       -1.5       -0.5        0.5
133
134do the multiply:
135   [this was multiplied] = [this is A(2,4)] * [finally, B(4,2)]
136
137a wildtype scalar: z = x*y: [this was multiplied]
138     -11.0       -5.0        1.0        7.0
139    -561.0       -5.0      401.0     8157.0
140   -2876.0    -1064.0      448.0    16660.0
141   -1008.5      386.5     1331.5    24326.5
142
143a wildtype scalar: x for multiply: [this is A(2,7)]
144       0.0        1.0        2.0        3.0
145     100.0      101.0      102.0      103.0
146     200.0      201.0      202.0      203.0
147     300.0      301.0      302.0      303.0
148
149a wildtype scalar: y for multiply: [this is B(7,2)]
150       0.5        1.5        2.5        3.5
151      -0.5        0.5        1.5        2.5
152      -1.5       -0.5        0.5        1.5
153      -2.5       -1.5       -0.5        0.5
154
155do the multiply:
156   [this was multiplied] = [this is A(2,7)] * [this is B(7,2)]
157
158a wildtype scalar: z = x*y: [this was multiplied]
159     -11.0       -5.0        1.0        7.0
160    -411.0       -5.0      401.0      807.0
161    -811.0       -5.0      801.0     1607.0
162   -1211.0       -5.0     1201.0     2407.0
163
164a wildtype scalar: x for add: [this was multiplied]
165     -11.0       -5.0        1.0        7.0
166    -561.0       -5.0      401.0     8157.0
167   -2876.0    -1064.0      448.0    16660.0
168   -1008.5      386.5     1331.5    24326.5
169
170a wildtype scalar: y for add: [this was multiplied]
171     -11.0       -5.0        1.0        7.0
172    -411.0       -5.0      401.0      807.0
173    -811.0       -5.0      801.0     1607.0
174   -1211.0       -5.0     1201.0     2407.0
175
176do the add:
177    [this was added] = [this was added] + [this was multiplied]
178
179a wildtype scalar: z = x+y: [this was added]
180     -22.0      -10.0        2.0       14.0
181    -972.0      -10.0      802.0     8964.0
182   -3687.0    -1069.0     1249.0    18267.0
183   -2219.5      381.5     2532.5    26733.5
184
185a wildtype scalar: x for multiply: [this is A(2,7)]
186       0.0        1.0        2.0        3.0
187     100.0      101.0      102.0      103.0
188     200.0      201.0      202.0      203.0
189     300.0      301.0      302.0      303.0
190
191a wildtype scalar: y for multiply: [here is B(7,5)]
192      -1.0        1.5        2.5        3.5
193      -0.5        0.5        1.5        2.5
194      -1.5       -0.5        0.5        1.5
195      -2.5       -1.5       -0.5        0.5
196
197do the multiply:
198   [this was multiplied] = [this is A(2,7)] * [here is B(7,5)]
199
200a wildtype scalar: z = x*y: [this was multiplied]
201     -11.0       -5.0        1.0        7.0
202    -561.0       -5.0      401.0      807.0
203   -1111.0       -5.0      801.0     1607.0
204   -1661.0       -5.0     1201.0     2407.0
205
206a wildtype scalar: x for multiply: [this is A(3,7)]
207       0.0        1.0        2.0        3.0
208     100.0      101.0      102.0      103.0
209     200.0      201.0      202.0      909.0
210     300.0      301.0      302.0      303.0
211
212a wildtype scalar: y for multiply: [this is B(7,2)]
213       0.5        1.5        2.5        3.5
214      -0.5        0.5        1.5        2.5
215      -1.5       -0.5        0.5        1.5
216      -2.5       -1.5       -0.5        0.5
217
218do the multiply:
219   [this was multiplied] = [this is A(3,7)] * [this is B(7,2)]
220
221a wildtype scalar: z = x*y: [this was multiplied]
222     -11.0       -5.0        1.0        7.0
223    -411.0       -5.0      401.0      807.0
224   -2576.0    -1064.0      448.0     1960.0
225   -1211.0       -5.0     1201.0     2407.0
226
227a wildtype scalar: x for multiply: [this is A(3,7)]
228       0.0        1.0        2.0        3.0
229     100.0      101.0      102.0      103.0
230     200.0      201.0      202.0      909.0
231     300.0      301.0      302.0      303.0
232
233a wildtype scalar: y for multiply: [here is B(7,5)]
234      -1.0        1.5        2.5        3.5
235      -0.5        0.5        1.5        2.5
236      -1.5       -0.5        0.5        1.5
237      -2.5       -1.5       -0.5        0.5
238
239do the multiply:
240   [this was multiplied] = [this is A(3,7)] * [here is B(7,5)]
241
242a wildtype scalar: z = x*y: [this was multiplied]
243     -11.0       -5.0        1.0        7.0
244    -561.0       -5.0      401.0      807.0
245   -2876.0    -1064.0      448.0     1960.0
246   -1661.0       -5.0     1201.0     2407.0
247
248Printing the matrix with GxB_Matrix_fprint:
249
250  10x10 GraphBLAS wildtype matrix, sparse by row
251  output C, 4 entries
252
253    (2,2) [user-defined value]
254    (2,5) [user-defined value]
255    (3,2) [user-defined value]
256    (3,5) [user-defined value]
257
258
259============= printing the WildType matrix: output C (10-by-10 with 4 entries)
260
261----------- output C(2,2):
262
263a wildtype scalar:  [this was added]
264     -22.0      -10.0        2.0       14.0
265    -972.0      -10.0      802.0     8964.0
266   -3687.0    -1069.0     1249.0    18267.0
267   -2219.5      381.5     2532.5    26733.5
268
269----------- output C(2,5):
270
271a wildtype scalar:  [this was multiplied]
272     -11.0       -5.0        1.0        7.0
273    -561.0       -5.0      401.0      807.0
274   -1111.0       -5.0      801.0     1607.0
275   -1661.0       -5.0     1201.0     2407.0
276
277----------- output C(3,2):
278
279a wildtype scalar:  [this was multiplied]
280     -11.0       -5.0        1.0        7.0
281    -411.0       -5.0      401.0      807.0
282   -2576.0    -1064.0      448.0     1960.0
283   -1211.0       -5.0     1201.0     2407.0
284
285----------- output C(3,5):
286
287a wildtype scalar:  [this was multiplied]
288     -11.0       -5.0        1.0        7.0
289    -561.0       -5.0      401.0      807.0
290   -2876.0    -1064.0      448.0     1960.0
291   -1661.0       -5.0     1201.0     2407.0
292
293============= that was the WildType matrix output C
294
295C is now stored by column, but it looks just the same to the
296GraphBLAS user application.  The difference is opaque, in the
297internal data structure.
298
299Printing the matrix with GxB_Matrix_fprint:
300
301  10x10 GraphBLAS wildtype matrix, sparse by col
302  output C, 4 entries
303
304    (2,2) [user-defined value]
305    (3,2) [user-defined value]
306    (2,5) [user-defined value]
307    (3,5) [user-defined value]
308
309
310============= printing the WildType matrix: output C (10-by-10 with 4 entries)
311
312----------- output C(2,2):
313
314a wildtype scalar:  [this was added]
315     -22.0      -10.0        2.0       14.0
316    -972.0      -10.0      802.0     8964.0
317   -3687.0    -1069.0     1249.0    18267.0
318   -2219.5      381.5     2532.5    26733.5
319
320----------- output C(2,5):
321
322a wildtype scalar:  [this was multiplied]
323     -11.0       -5.0        1.0        7.0
324    -561.0       -5.0      401.0      807.0
325   -1111.0       -5.0      801.0     1607.0
326   -1661.0       -5.0     1201.0     2407.0
327
328----------- output C(3,2):
329
330a wildtype scalar:  [this was multiplied]
331     -11.0       -5.0        1.0        7.0
332    -411.0       -5.0      401.0      807.0
333   -2576.0    -1064.0      448.0     1960.0
334   -1211.0       -5.0     1201.0     2407.0
335
336----------- output C(3,5):
337
338a wildtype scalar:  [this was multiplied]
339     -11.0       -5.0        1.0        7.0
340    -561.0       -5.0      401.0      807.0
341   -2876.0    -1064.0      448.0     1960.0
342   -1661.0       -5.0     1201.0     2407.0
343
344============= that was the WildType matrix output C
345
346Printing the matrix with GxB_Matrix_fprint:
347
348  10x10 GraphBLAS float matrix, hypersparse by row
349  D, no entries
350
351
352The matrix D is not wild enough to print.
353
354  10x10 GraphBLAS int64_t matrix, sparse by row
355  E (positional i), 3 entries
356
357    (2,4)   2
358    (2,7)   2
359    (3,7)   3
360
361
362  10x10 GraphBLAS int64_t matrix, sparse by row
363  E (positional j), 3 entries
364
365    (2,4)   4
366    (2,7)   7
367    (3,7)   7
368
369
370This is supposed to fail, as a demo of GrB_error:
371GraphBLAS error: GrB_DOMAIN_MISMATCH
372function: GrB_Matrix_eWiseAdd_BinaryOp (C, M, accum, add, A, B, desc)
373Incompatible type for z=wildtype_add(x,y):
374second input of type [float]
375cannot be typecast to y input of type [wildtype]
376