1 /* 2 * cblas_test.h 3 * Written by Keita Teranishi 4 */ 5 #ifndef CBLAS_TEST_H 6 #define CBLAS_TEST_H 7 #include "cblas.h" 8 9 #define TRUE 1 10 #define PASSED 1 11 #define TEST_ROW_MJR 1 12 13 #define FALSE 0 14 #define FAILED 0 15 #define TEST_COL_MJR 0 16 17 #define INVALID -1 18 #define UNDEFINED -1 19 20 typedef struct { float real; float imag; } CBLAS_TEST_COMPLEX; 21 typedef struct { double real; double imag; } CBLAS_TEST_ZOMPLEX; 22 23 #if defined(ADD_) 24 // Google-local: Note that here we retain the standard name, as we want to 25 // override the existing BLAS/LAPACK version when running tests. 26 #define F77_xerbla xerbla_ 27 /* 28 * Level 1 BLAS 29 */ 30 #define F77_srotg srotgtest_ 31 #define F77_srotmg srotmgtest_ 32 #define F77_srot srottest_ 33 #define F77_srotm srotmtest_ 34 #define F77_drotg drotgtest_ 35 #define F77_drotmg drotmgtest_ 36 #define F77_drot drottest_ 37 #define F77_drotm drotmtest_ 38 #define F77_sswap sswaptest_ 39 #define F77_scopy scopytest_ 40 #define F77_saxpy saxpytest_ 41 #define F77_isamax isamaxtest_ 42 #define F77_dswap dswaptest_ 43 #define F77_dcopy dcopytest_ 44 #define F77_daxpy daxpytest_ 45 #define F77_idamax idamaxtest_ 46 #define F77_cswap cswaptest_ 47 #define F77_ccopy ccopytest_ 48 #define F77_caxpy caxpytest_ 49 #define F77_icamax icamaxtest_ 50 #define F77_zswap zswaptest_ 51 #define F77_zcopy zcopytest_ 52 #define F77_zaxpy zaxpytest_ 53 #define F77_izamax izamaxtest_ 54 #define F77_sdot sdottest_ 55 #define F77_ddot ddottest_ 56 #define F77_dsdot dsdottest_ 57 #define F77_sscal sscaltest_ 58 #define F77_dscal dscaltest_ 59 #define F77_cscal cscaltest_ 60 #define F77_zscal zscaltest_ 61 #define F77_csscal csscaltest_ 62 #define F77_zdscal zdscaltest_ 63 #define F77_cdotu cdotutest_ 64 #define F77_cdotc cdotctest_ 65 #define F77_zdotu zdotutest_ 66 #define F77_zdotc zdotctest_ 67 #define F77_snrm2 snrm2test_ 68 #define F77_sasum sasumtest_ 69 #define F77_dnrm2 dnrm2test_ 70 #define F77_dasum dasumtest_ 71 #define F77_scnrm2 scnrm2test_ 72 #define F77_scasum scasumtest_ 73 #define F77_dznrm2 dznrm2test_ 74 #define F77_dzasum dzasumtest_ 75 #define F77_sdsdot sdsdottest_ 76 /* 77 * Level 2 BLAS 78 */ 79 #define F77_s2chke cs2chke_ 80 #define F77_d2chke cd2chke_ 81 #define F77_c2chke cc2chke_ 82 #define F77_z2chke cz2chke_ 83 #define F77_ssymv cssymv_ 84 #define F77_ssbmv cssbmv_ 85 #define F77_sspmv csspmv_ 86 #define F77_sger csger_ 87 #define F77_ssyr cssyr_ 88 #define F77_sspr csspr_ 89 #define F77_ssyr2 cssyr2_ 90 #define F77_sspr2 csspr2_ 91 #define F77_dsymv cdsymv_ 92 #define F77_dsbmv cdsbmv_ 93 #define F77_dspmv cdspmv_ 94 #define F77_dger cdger_ 95 #define F77_dsyr cdsyr_ 96 #define F77_dspr cdspr_ 97 #define F77_dsyr2 cdsyr2_ 98 #define F77_dspr2 cdspr2_ 99 #define F77_chemv cchemv_ 100 #define F77_chbmv cchbmv_ 101 #define F77_chpmv cchpmv_ 102 #define F77_cgeru ccgeru_ 103 #define F77_cgerc ccgerc_ 104 #define F77_cher ccher_ 105 #define F77_chpr cchpr_ 106 #define F77_cher2 ccher2_ 107 #define F77_chpr2 cchpr2_ 108 #define F77_zhemv czhemv_ 109 #define F77_zhbmv czhbmv_ 110 #define F77_zhpmv czhpmv_ 111 #define F77_zgeru czgeru_ 112 #define F77_zgerc czgerc_ 113 #define F77_zher czher_ 114 #define F77_zhpr czhpr_ 115 #define F77_zher2 czher2_ 116 #define F77_zhpr2 czhpr2_ 117 #define F77_sgemv csgemv_ 118 #define F77_sgbmv csgbmv_ 119 #define F77_strmv cstrmv_ 120 #define F77_stbmv cstbmv_ 121 #define F77_stpmv cstpmv_ 122 #define F77_strsv cstrsv_ 123 #define F77_stbsv cstbsv_ 124 #define F77_stpsv cstpsv_ 125 #define F77_dgemv cdgemv_ 126 #define F77_dgbmv cdgbmv_ 127 #define F77_dtrmv cdtrmv_ 128 #define F77_dtbmv cdtbmv_ 129 #define F77_dtpmv cdtpmv_ 130 #define F77_dtrsv cdtrsv_ 131 #define F77_dtbsv cdtbsv_ 132 #define F77_dtpsv cdtpsv_ 133 #define F77_cgemv ccgemv_ 134 #define F77_cgbmv ccgbmv_ 135 #define F77_ctrmv cctrmv_ 136 #define F77_ctbmv cctbmv_ 137 #define F77_ctpmv cctpmv_ 138 #define F77_ctrsv cctrsv_ 139 #define F77_ctbsv cctbsv_ 140 #define F77_ctpsv cctpsv_ 141 #define F77_zgemv czgemv_ 142 #define F77_zgbmv czgbmv_ 143 #define F77_ztrmv cztrmv_ 144 #define F77_ztbmv cztbmv_ 145 #define F77_ztpmv cztpmv_ 146 #define F77_ztrsv cztrsv_ 147 #define F77_ztbsv cztbsv_ 148 #define F77_ztpsv cztpsv_ 149 /* 150 * Level 3 BLAS 151 */ 152 #define F77_s3chke cs3chke_ 153 #define F77_d3chke cd3chke_ 154 #define F77_c3chke cc3chke_ 155 #define F77_z3chke cz3chke_ 156 #define F77_chemm cchemm_ 157 #define F77_cherk ccherk_ 158 #define F77_cher2k ccher2k_ 159 #define F77_zhemm czhemm_ 160 #define F77_zherk czherk_ 161 #define F77_zher2k czher2k_ 162 #define F77_sgemm csgemm_ 163 #define F77_ssymm cssymm_ 164 #define F77_ssyrk cssyrk_ 165 #define F77_ssyr2k cssyr2k_ 166 #define F77_strmm cstrmm_ 167 #define F77_strsm cstrsm_ 168 #define F77_dgemm cdgemm_ 169 #define F77_dsymm cdsymm_ 170 #define F77_dsyrk cdsyrk_ 171 #define F77_dsyr2k cdsyr2k_ 172 #define F77_dtrmm cdtrmm_ 173 #define F77_dtrsm cdtrsm_ 174 #define F77_cgemm ccgemm_ 175 #define F77_csymm ccsymm_ 176 #define F77_csyrk ccsyrk_ 177 #define F77_csyr2k ccsyr2k_ 178 #define F77_ctrmm cctrmm_ 179 #define F77_ctrsm cctrsm_ 180 #define F77_zgemm czgemm_ 181 #define F77_zsymm czsymm_ 182 #define F77_zsyrk czsyrk_ 183 #define F77_zsyr2k czsyr2k_ 184 #define F77_ztrmm cztrmm_ 185 #define F77_ztrsm cztrsm_ 186 #elif defined(UPCASE) 187 #define F77_xerbla XERBLA 188 /* 189 * Level 1 BLAS 190 */ 191 #define F77_srotg SROTGTEST 192 #define F77_srotmg SROTMGTEST 193 #define F77_srot SROTCTEST 194 #define F77_srotm SROTMTEST 195 #define F77_drotg DROTGTEST 196 #define F77_drotmg DROTMGTEST 197 #define F77_drot DROTTEST 198 #define F77_drotm DROTMTEST 199 #define F77_sswap SSWAPTEST 200 #define F77_scopy SCOPYTEST 201 #define F77_saxpy SAXPYTEST 202 #define F77_isamax ISAMAXTEST 203 #define F77_dswap DSWAPTEST 204 #define F77_dcopy DCOPYTEST 205 #define F77_daxpy DAXPYTEST 206 #define F77_idamax IDAMAXTEST 207 #define F77_cswap CSWAPTEST 208 #define F77_ccopy CCOPYTEST 209 #define F77_caxpy CAXPYTEST 210 #define F77_icamax ICAMAXTEST 211 #define F77_zswap ZSWAPTEST 212 #define F77_zcopy ZCOPYTEST 213 #define F77_zaxpy ZAXPYTEST 214 #define F77_izamax IZAMAXTEST 215 #define F77_sdot SDOTTEST 216 #define F77_ddot DDOTTEST 217 #define F77_dsdot DSDOTTEST 218 #define F77_sscal SSCALTEST 219 #define F77_dscal DSCALTEST 220 #define F77_cscal CSCALTEST 221 #define F77_zscal ZSCALTEST 222 #define F77_csscal CSSCALTEST 223 #define F77_zdscal ZDSCALTEST 224 #define F77_cdotu CDOTUTEST 225 #define F77_cdotc CDOTCTEST 226 #define F77_zdotu ZDOTUTEST 227 #define F77_zdotc ZDOTCTEST 228 #define F77_snrm2 SNRM2TEST 229 #define F77_sasum SASUMTEST 230 #define F77_dnrm2 DNRM2TEST 231 #define F77_dasum DASUMTEST 232 #define F77_scnrm2 SCNRM2TEST 233 #define F77_scasum SCASUMTEST 234 #define F77_dznrm2 DZNRM2TEST 235 #define F77_dzasum DZASUMTEST 236 #define F77_sdsdot SDSDOTTEST 237 /* 238 * Level 2 BLAS 239 */ 240 #define F77_s2chke CS2CHKE 241 #define F77_d2chke CD2CHKE 242 #define F77_c2chke CC2CHKE 243 #define F77_z2chke CZ2CHKE 244 #define F77_ssymv CSSYMV 245 #define F77_ssbmv CSSBMV 246 #define F77_sspmv CSSPMV 247 #define F77_sger CSGER 248 #define F77_ssyr CSSYR 249 #define F77_sspr CSSPR 250 #define F77_ssyr2 CSSYR2 251 #define F77_sspr2 CSSPR2 252 #define F77_dsymv CDSYMV 253 #define F77_dsbmv CDSBMV 254 #define F77_dspmv CDSPMV 255 #define F77_dger CDGER 256 #define F77_dsyr CDSYR 257 #define F77_dspr CDSPR 258 #define F77_dsyr2 CDSYR2 259 #define F77_dspr2 CDSPR2 260 #define F77_chemv CCHEMV 261 #define F77_chbmv CCHBMV 262 #define F77_chpmv CCHPMV 263 #define F77_cgeru CCGERU 264 #define F77_cgerc CCGERC 265 #define F77_cher CCHER 266 #define F77_chpr CCHPR 267 #define F77_cher2 CCHER2 268 #define F77_chpr2 CCHPR2 269 #define F77_zhemv CZHEMV 270 #define F77_zhbmv CZHBMV 271 #define F77_zhpmv CZHPMV 272 #define F77_zgeru CZGERU 273 #define F77_zgerc CZGERC 274 #define F77_zher CZHER 275 #define F77_zhpr CZHPR 276 #define F77_zher2 CZHER2 277 #define F77_zhpr2 CZHPR2 278 #define F77_sgemv CSGEMV 279 #define F77_sgbmv CSGBMV 280 #define F77_strmv CSTRMV 281 #define F77_stbmv CSTBMV 282 #define F77_stpmv CSTPMV 283 #define F77_strsv CSTRSV 284 #define F77_stbsv CSTBSV 285 #define F77_stpsv CSTPSV 286 #define F77_dgemv CDGEMV 287 #define F77_dgbmv CDGBMV 288 #define F77_dtrmv CDTRMV 289 #define F77_dtbmv CDTBMV 290 #define F77_dtpmv CDTPMV 291 #define F77_dtrsv CDTRSV 292 #define F77_dtbsv CDTBSV 293 #define F77_dtpsv CDTPSV 294 #define F77_cgemv CCGEMV 295 #define F77_cgbmv CCGBMV 296 #define F77_ctrmv CCTRMV 297 #define F77_ctbmv CCTBMV 298 #define F77_ctpmv CCTPMV 299 #define F77_ctrsv CCTRSV 300 #define F77_ctbsv CCTBSV 301 #define F77_ctpsv CCTPSV 302 #define F77_zgemv CZGEMV 303 #define F77_zgbmv CZGBMV 304 #define F77_ztrmv CZTRMV 305 #define F77_ztbmv CZTBMV 306 #define F77_ztpmv CZTPMV 307 #define F77_ztrsv CZTRSV 308 #define F77_ztbsv CZTBSV 309 #define F77_ztpsv CZTPSV 310 /* 311 * Level 3 BLAS 312 */ 313 #define F77_s3chke CS3CHKE 314 #define F77_d3chke CD3CHKE 315 #define F77_c3chke CC3CHKE 316 #define F77_z3chke CZ3CHKE 317 #define F77_chemm CCHEMM 318 #define F77_cherk CCHERK 319 #define F77_cher2k CCHER2K 320 #define F77_zhemm CZHEMM 321 #define F77_zherk CZHERK 322 #define F77_zher2k CZHER2K 323 #define F77_sgemm CSGEMM 324 #define F77_ssymm CSSYMM 325 #define F77_ssyrk CSSYRK 326 #define F77_ssyr2k CSSYR2K 327 #define F77_strmm CSTRMM 328 #define F77_strsm CSTRSM 329 #define F77_dgemm CDGEMM 330 #define F77_dsymm CDSYMM 331 #define F77_dsyrk CDSYRK 332 #define F77_dsyr2k CDSYR2K 333 #define F77_dtrmm CDTRMM 334 #define F77_dtrsm CDTRSM 335 #define F77_cgemm CCGEMM 336 #define F77_csymm CCSYMM 337 #define F77_csyrk CCSYRK 338 #define F77_csyr2k CCSYR2K 339 #define F77_ctrmm CCTRMM 340 #define F77_ctrsm CCTRSM 341 #define F77_zgemm CZGEMM 342 #define F77_zsymm CZSYMM 343 #define F77_zsyrk CZSYRK 344 #define F77_zsyr2k CZSYR2K 345 #define F77_ztrmm CZTRMM 346 #define F77_ztrsm CZTRSM 347 #elif defined(NOCHANGE) 348 #define F77_xerbla xerbla 349 /* 350 * Level 1 BLAS 351 */ 352 #define F77_srotg srotgtest 353 #define F77_srotmg srotmgtest 354 #define F77_srot srottest 355 #define F77_srotm srotmtest 356 #define F77_drotg drotgtest 357 #define F77_drotmg drotmgtest 358 #define F77_drot drottest 359 #define F77_drotm drotmtest 360 #define F77_sswap sswaptest 361 #define F77_scopy scopytest 362 #define F77_saxpy saxpytest 363 #define F77_isamax isamaxtest 364 #define F77_dswap dswaptest 365 #define F77_dcopy dcopytest 366 #define F77_daxpy daxpytest 367 #define F77_idamax idamaxtest 368 #define F77_cswap cswaptest 369 #define F77_ccopy ccopytest 370 #define F77_caxpy caxpytest 371 #define F77_icamax icamaxtest 372 #define F77_zswap zswaptest 373 #define F77_zcopy zcopytest 374 #define F77_zaxpy zaxpytest 375 #define F77_izamax izamaxtest 376 #define F77_sdot sdottest 377 #define F77_ddot ddottest 378 #define F77_dsdot dsdottest 379 #define F77_sscal sscaltest 380 #define F77_dscal dscaltest 381 #define F77_cscal cscaltest 382 #define F77_zscal zscaltest 383 #define F77_csscal csscaltest 384 #define F77_zdscal zdscaltest 385 #define F77_cdotu cdotutest 386 #define F77_cdotc cdotctest 387 #define F77_zdotu zdotutest 388 #define F77_zdotc zdotctest 389 #define F77_snrm2 snrm2test 390 #define F77_sasum sasumtest 391 #define F77_dnrm2 dnrm2test 392 #define F77_dasum dasumtest 393 #define F77_scnrm2 scnrm2test 394 #define F77_scasum scasumtest 395 #define F77_dznrm2 dznrm2test 396 #define F77_dzasum dzasumtest 397 #define F77_sdsdot sdsdottest 398 /* 399 * Level 2 BLAS 400 */ 401 #define F77_s2chke cs2chke 402 #define F77_d2chke cd2chke 403 #define F77_c2chke cc2chke 404 #define F77_z2chke cz2chke 405 #define F77_ssymv cssymv 406 #define F77_ssbmv cssbmv 407 #define F77_sspmv csspmv 408 #define F77_sger csger 409 #define F77_ssyr cssyr 410 #define F77_sspr csspr 411 #define F77_ssyr2 cssyr2 412 #define F77_sspr2 csspr2 413 #define F77_dsymv cdsymv 414 #define F77_dsbmv cdsbmv 415 #define F77_dspmv cdspmv 416 #define F77_dger cdger 417 #define F77_dsyr cdsyr 418 #define F77_dspr cdspr 419 #define F77_dsyr2 cdsyr2 420 #define F77_dspr2 cdspr2 421 #define F77_chemv cchemv 422 #define F77_chbmv cchbmv 423 #define F77_chpmv cchpmv 424 #define F77_cgeru ccgeru 425 #define F77_cgerc ccgerc 426 #define F77_cher ccher 427 #define F77_chpr cchpr 428 #define F77_cher2 ccher2 429 #define F77_chpr2 cchpr2 430 #define F77_zhemv czhemv 431 #define F77_zhbmv czhbmv 432 #define F77_zhpmv czhpmv 433 #define F77_zgeru czgeru 434 #define F77_zgerc czgerc 435 #define F77_zher czher 436 #define F77_zhpr czhpr 437 #define F77_zher2 czher2 438 #define F77_zhpr2 czhpr2 439 #define F77_sgemv csgemv 440 #define F77_sgbmv csgbmv 441 #define F77_strmv cstrmv 442 #define F77_stbmv cstbmv 443 #define F77_stpmv cstpmv 444 #define F77_strsv cstrsv 445 #define F77_stbsv cstbsv 446 #define F77_stpsv cstpsv 447 #define F77_dgemv cdgemv 448 #define F77_dgbmv cdgbmv 449 #define F77_dtrmv cdtrmv 450 #define F77_dtbmv cdtbmv 451 #define F77_dtpmv cdtpmv 452 #define F77_dtrsv cdtrsv 453 #define F77_dtbsv cdtbsv 454 #define F77_dtpsv cdtpsv 455 #define F77_cgemv ccgemv 456 #define F77_cgbmv ccgbmv 457 #define F77_ctrmv cctrmv 458 #define F77_ctbmv cctbmv 459 #define F77_ctpmv cctpmv 460 #define F77_ctrsv cctrsv 461 #define F77_ctbsv cctbsv 462 #define F77_ctpsv cctpsv 463 #define F77_zgemv czgemv 464 #define F77_zgbmv czgbmv 465 #define F77_ztrmv cztrmv 466 #define F77_ztbmv cztbmv 467 #define F77_ztpmv cztpmv 468 #define F77_ztrsv cztrsv 469 #define F77_ztbsv cztbsv 470 #define F77_ztpsv cztpsv 471 /* 472 * Level 3 BLAS 473 */ 474 #define F77_s3chke cs3chke 475 #define F77_d3chke cd3chke 476 #define F77_c3chke cc3chke 477 #define F77_z3chke cz3chke 478 #define F77_chemm cchemm 479 #define F77_cherk ccherk 480 #define F77_cher2k ccher2k 481 #define F77_zhemm czhemm 482 #define F77_zherk czherk 483 #define F77_zher2k czher2k 484 #define F77_sgemm csgemm 485 #define F77_ssymm cssymm 486 #define F77_ssyrk cssyrk 487 #define F77_ssyr2k cssyr2k 488 #define F77_strmm cstrmm 489 #define F77_strsm cstrsm 490 #define F77_dgemm cdgemm 491 #define F77_dsymm cdsymm 492 #define F77_dsyrk cdsyrk 493 #define F77_dsyr2k cdsyr2k 494 #define F77_dtrmm cdtrmm 495 #define F77_dtrsm cdtrsm 496 #define F77_cgemm ccgemm 497 #define F77_csymm ccsymm 498 #define F77_csyrk ccsyrk 499 #define F77_csyr2k ccsyr2k 500 #define F77_ctrmm cctrmm 501 #define F77_ctrsm cctrsm 502 #define F77_zgemm czgemm 503 #define F77_zsymm czsymm 504 #define F77_zsyrk czsyrk 505 #define F77_zsyr2k czsyr2k 506 #define F77_ztrmm cztrmm 507 #define F77_ztrsm cztrsm 508 #endif 509 510 void get_transpose_type(char *type, enum CBLAS_TRANSPOSE *trans); 511 void get_uplo_type(char *type, enum CBLAS_UPLO *uplo); 512 void get_diag_type(char *type, enum CBLAS_DIAG *diag); 513 void get_side_type(char *type, enum CBLAS_SIDE *side); 514 515 #endif /* CBLAS_TEST_H */ 516