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