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