gorgonia.org/gorgonia@v0.9.17/blase/work.c (about) 1 #include <stdlib.h> 2 #include <stdint.h> 3 #include <stdio.h> 4 #include "_cgo_export.h" 5 #include "work.h" 6 #include "cblas.h" 7 8 uintptr_t processFn(struct fnargs* args) { 9 uintptr_t ret = 0; 10 11 switch (args->fn) { 12 case fn_undefined: 13 abort(); // coredump all the things! 14 break; 15 case fn_cblas_cdotu_sub: 16 abort(); 17 break; 18 case fn_cblas_cdotc_sub: 19 abort(); 20 break; 21 case fn_cblas_zdotu_sub: 22 abort(); 23 break; 24 case fn_cblas_zdotc_sub: 25 abort(); 26 break; 27 case fn_cblas_sswap: 28 abort(); 29 break; 30 case fn_cblas_scopy: 31 abort(); 32 break; 33 case fn_cblas_saxpy: 34 abort(); 35 break; 36 case fn_catlas_saxpby: 37 abort(); 38 break; 39 case fn_cblas_dswap: 40 abort(); 41 break; 42 case fn_cblas_dcopy: 43 abort(); 44 break; 45 case fn_cblas_daxpy: 46 abort(); 47 break; 48 case fn_catlas_daxpby: 49 abort(); 50 break; 51 case fn_cblas_cswap: 52 abort(); 53 break; 54 case fn_cblas_ccopy: 55 abort(); 56 break; 57 case fn_cblas_caxpy: 58 abort(); 59 break; 60 case fn_catlas_caxpby: 61 abort(); 62 break; 63 case fn_cblas_zswap: 64 abort(); 65 break; 66 case fn_cblas_zcopy: 67 abort(); 68 break; 69 case fn_cblas_zaxpy: 70 abort(); 71 break; 72 case fn_catlas_zaxpby: 73 abort(); 74 break; 75 case fn_cblas_srotg: 76 abort(); 77 break; 78 case fn_cblas_srotmg: 79 abort(); 80 break; 81 case fn_cblas_srot: 82 abort(); 83 break; 84 case fn_cblas_srotm: 85 abort(); 86 break; 87 case fn_cblas_drotg: 88 abort(); 89 break; 90 case fn_cblas_drotmg: 91 abort(); 92 break; 93 case fn_cblas_drot: 94 abort(); 95 break; 96 case fn_cblas_drotm: 97 abort(); 98 break; 99 case fn_cblas_sscal: 100 abort(); 101 break; 102 case fn_cblas_dscal: 103 abort(); 104 break; 105 case fn_cblas_cscal: 106 abort(); 107 break; 108 case fn_cblas_zscal: 109 abort(); 110 break; 111 case fn_cblas_csscal: 112 abort(); 113 break; 114 case fn_cblas_zdscal: 115 abort(); 116 break; 117 case fn_cblas_crotg: 118 abort(); 119 break; 120 case fn_cblas_zrotg: 121 abort(); 122 break; 123 case fn_cblas_csrot: 124 abort(); 125 break; 126 case fn_cblas_zdrot: 127 abort(); 128 break; 129 case fn_cblas_sgemv: 130 abort(); 131 break; 132 case fn_cblas_sgbmv: 133 abort(); 134 break; 135 case fn_cblas_strmv: 136 abort(); 137 break; 138 case fn_cblas_stbmv: 139 abort(); 140 break; 141 case fn_cblas_stpmv: 142 abort(); 143 break; 144 case fn_cblas_strsv: 145 abort(); 146 break; 147 case fn_cblas_stbsv: 148 abort(); 149 break; 150 case fn_cblas_stpsv: 151 abort(); 152 break; 153 case fn_cblas_dgemv: 154 cblas_dgemv(args->order, // order 155 args->tA, // transA 156 args->i0, // m 157 args->i1, // n 158 args->d0, // alpha 159 (double*)args->a0, // a 160 args->i2, // lda 161 (double*)args->a1, // x 162 args->i3, // incX 163 args->d1, // beta 164 (double*)args->a2, // y 165 args->i4 //incY 166 ); 167 break; 168 case fn_cblas_dgbmv: 169 abort(); 170 break; 171 case fn_cblas_dtrmv: 172 abort(); 173 break; 174 case fn_cblas_dtbmv: 175 abort(); 176 break; 177 case fn_cblas_dtpmv: 178 abort(); 179 break; 180 case fn_cblas_dtrsv: 181 abort(); 182 break; 183 case fn_cblas_dtbsv: 184 abort(); 185 break; 186 case fn_cblas_dtpsv: 187 abort(); 188 break; 189 case fn_cblas_cgemv: 190 abort(); 191 break; 192 case fn_cblas_cgbmv: 193 abort(); 194 break; 195 case fn_cblas_ctrmv: 196 abort(); 197 break; 198 case fn_cblas_ctbmv: 199 abort(); 200 break; 201 case fn_cblas_ctpmv: 202 abort(); 203 break; 204 case fn_cblas_ctrsv: 205 abort(); 206 break; 207 case fn_cblas_ctbsv: 208 abort(); 209 break; 210 case fn_cblas_ctpsv: 211 abort(); 212 break; 213 case fn_cblas_zgemv: 214 abort(); 215 break; 216 case fn_cblas_zgbmv: 217 abort(); 218 break; 219 case fn_cblas_ztrmv: 220 abort(); 221 break; 222 case fn_cblas_ztbmv: 223 abort(); 224 break; 225 case fn_cblas_ztpmv: 226 abort(); 227 break; 228 case fn_cblas_ztrsv: 229 abort(); 230 break; 231 case fn_cblas_ztbsv: 232 abort(); 233 break; 234 case fn_cblas_ztpsv: 235 abort(); 236 break; 237 case fn_cblas_ssymv: 238 abort(); 239 break; 240 case fn_cblas_ssbmv: 241 abort(); 242 break; 243 case fn_cblas_sspmv: 244 abort(); 245 break; 246 case fn_cblas_sger: 247 abort(); 248 break; 249 case fn_cblas_ssyr: 250 abort(); 251 break; 252 case fn_cblas_sspr: 253 abort(); 254 break; 255 case fn_cblas_ssyr2: 256 abort(); 257 break; 258 case fn_cblas_sspr2: 259 abort(); 260 break; 261 case fn_cblas_dsymv: 262 abort(); 263 break; 264 case fn_cblas_dsbmv: 265 abort(); 266 break; 267 case fn_cblas_dspmv: 268 abort(); 269 break; 270 case fn_cblas_dger: 271 abort(); 272 break; 273 case fn_cblas_dsyr: 274 abort(); 275 break; 276 case fn_cblas_dspr: 277 abort(); 278 break; 279 case fn_cblas_dsyr2: 280 abort(); 281 break; 282 case fn_cblas_dspr2: 283 abort(); 284 break; 285 case fn_cblas_chemv: 286 abort(); 287 break; 288 case fn_cblas_chbmv: 289 abort(); 290 break; 291 case fn_cblas_chpmv: 292 abort(); 293 break; 294 case fn_cblas_cgeru: 295 abort(); 296 break; 297 case fn_cblas_cgerc: 298 abort(); 299 break; 300 case fn_cblas_cher: 301 abort(); 302 break; 303 case fn_cblas_chpr: 304 abort(); 305 break; 306 case fn_cblas_cher2: 307 abort(); 308 break; 309 case fn_cblas_chpr2: 310 abort(); 311 break; 312 case fn_cblas_zhemv: 313 abort(); 314 break; 315 case fn_cblas_zhbmv: 316 abort(); 317 break; 318 case fn_cblas_zhpmv: 319 abort(); 320 break; 321 case fn_cblas_zgeru: 322 abort(); 323 break; 324 case fn_cblas_zgerc: 325 abort(); 326 break; 327 case fn_cblas_zher: 328 abort(); 329 break; 330 case fn_cblas_zhpr: 331 abort(); 332 break; 333 case fn_cblas_zher2: 334 abort(); 335 break; 336 case fn_cblas_zhpr2: 337 abort(); 338 break; 339 case fn_cblas_sgemm: 340 abort(); 341 break; 342 case fn_cblas_ssymm: 343 abort(); 344 break; 345 case fn_cblas_ssyrk: 346 abort(); 347 break; 348 case fn_cblas_ssyr2k: 349 abort(); 350 break; 351 case fn_cblas_strmm: 352 abort(); 353 break; 354 case fn_cblas_strsm: 355 abort(); 356 break; 357 case fn_cblas_dgemm: 358 cblas_dgemm(args->order, // order 359 args->tA, // transA 360 args->tB, // transB 361 args->i0, // m 362 args->i1, // n 363 args->i2, // k 364 args->d0, // alpha 365 (double*)args->a0, // A 366 args->i3, // lda 367 (double*)args->a1, // b 368 args->i4, // ldb 369 args->d1, // beta 370 (double*)args->a2, // C 371 args->i5 //ldc 372 ); 373 break; 374 case fn_cblas_dsymm: 375 abort(); 376 break; 377 case fn_cblas_dsyrk: 378 abort(); 379 break; 380 case fn_cblas_dsyr2k: 381 abort(); 382 break; 383 case fn_cblas_dtrmm: 384 abort(); 385 break; 386 case fn_cblas_dtrsm: 387 abort(); 388 break; 389 case fn_cblas_cgemm: 390 abort(); 391 break; 392 case fn_cblas_csymm: 393 abort(); 394 break; 395 case fn_cblas_csyrk: 396 abort(); 397 break; 398 case fn_cblas_csyr2k: 399 abort(); 400 break; 401 case fn_cblas_ctrmm: 402 abort(); 403 break; 404 case fn_cblas_ctrsm: 405 abort(); 406 break; 407 case fn_cblas_zgemm: 408 abort(); 409 break; 410 case fn_cblas_zsymm: 411 abort(); 412 break; 413 case fn_cblas_zsyrk: 414 abort(); 415 break; 416 case fn_cblas_zsyr2k: 417 abort(); 418 break; 419 case fn_cblas_ztrmm: 420 abort(); 421 break; 422 case fn_cblas_ztrsm: 423 abort(); 424 break; 425 case fn_cblas_chemm: 426 abort(); 427 break; 428 case fn_cblas_cherk: 429 abort(); 430 break; 431 case fn_cblas_cher2k: 432 abort(); 433 break; 434 case fn_cblas_zhemm: 435 abort(); 436 break; 437 case fn_cblas_zherk: 438 abort(); 439 break; 440 case fn_cblas_zher2k: 441 abort(); 442 break; 443 } 444 return ret; 445 } 446