| /* |
| * cblas_test.h |
| * Written by Keita Teranishi |
| */ |
| #ifndef CBLAS_TEST_H |
| #define CBLAS_TEST_H |
| #include "cblas.h" |
| |
| #define TRUE 1 |
| #define PASSED 1 |
| #define TEST_ROW_MJR 1 |
| |
| #define FALSE 0 |
| #define FAILED 0 |
| #define TEST_COL_MJR 0 |
| |
| #define INVALID -1 |
| #define UNDEFINED -1 |
| |
| typedef struct { float real; float imag; } CBLAS_TEST_COMPLEX; |
| typedef struct { double real; double imag; } CBLAS_TEST_ZOMPLEX; |
| |
| #if defined(ADD_) |
| // Google-local: Note that here we retain the standard name, as we want to |
| // override the existing BLAS/LAPACK version when running tests. |
| #define F77_xerbla xerbla_ |
| /* |
| * Level 1 BLAS |
| */ |
| #define F77_srotg srotgtest_ |
| #define F77_srotmg srotmgtest_ |
| #define F77_srot srottest_ |
| #define F77_srotm srotmtest_ |
| #define F77_drotg drotgtest_ |
| #define F77_drotmg drotmgtest_ |
| #define F77_drot drottest_ |
| #define F77_drotm drotmtest_ |
| #define F77_sswap sswaptest_ |
| #define F77_scopy scopytest_ |
| #define F77_saxpy saxpytest_ |
| #define F77_isamax isamaxtest_ |
| #define F77_dswap dswaptest_ |
| #define F77_dcopy dcopytest_ |
| #define F77_daxpy daxpytest_ |
| #define F77_idamax idamaxtest_ |
| #define F77_cswap cswaptest_ |
| #define F77_ccopy ccopytest_ |
| #define F77_caxpy caxpytest_ |
| #define F77_icamax icamaxtest_ |
| #define F77_zswap zswaptest_ |
| #define F77_zcopy zcopytest_ |
| #define F77_zaxpy zaxpytest_ |
| #define F77_izamax izamaxtest_ |
| #define F77_sdot sdottest_ |
| #define F77_ddot ddottest_ |
| #define F77_dsdot dsdottest_ |
| #define F77_sscal sscaltest_ |
| #define F77_dscal dscaltest_ |
| #define F77_cscal cscaltest_ |
| #define F77_zscal zscaltest_ |
| #define F77_csscal csscaltest_ |
| #define F77_zdscal zdscaltest_ |
| #define F77_cdotu cdotutest_ |
| #define F77_cdotc cdotctest_ |
| #define F77_zdotu zdotutest_ |
| #define F77_zdotc zdotctest_ |
| #define F77_snrm2 snrm2test_ |
| #define F77_sasum sasumtest_ |
| #define F77_dnrm2 dnrm2test_ |
| #define F77_dasum dasumtest_ |
| #define F77_scnrm2 scnrm2test_ |
| #define F77_scasum scasumtest_ |
| #define F77_dznrm2 dznrm2test_ |
| #define F77_dzasum dzasumtest_ |
| #define F77_sdsdot sdsdottest_ |
| /* |
| * Level 2 BLAS |
| */ |
| #define F77_s2chke cs2chke_ |
| #define F77_d2chke cd2chke_ |
| #define F77_c2chke cc2chke_ |
| #define F77_z2chke cz2chke_ |
| #define F77_ssymv cssymv_ |
| #define F77_ssbmv cssbmv_ |
| #define F77_sspmv csspmv_ |
| #define F77_sger csger_ |
| #define F77_ssyr cssyr_ |
| #define F77_sspr csspr_ |
| #define F77_ssyr2 cssyr2_ |
| #define F77_sspr2 csspr2_ |
| #define F77_dsymv cdsymv_ |
| #define F77_dsbmv cdsbmv_ |
| #define F77_dspmv cdspmv_ |
| #define F77_dger cdger_ |
| #define F77_dsyr cdsyr_ |
| #define F77_dspr cdspr_ |
| #define F77_dsyr2 cdsyr2_ |
| #define F77_dspr2 cdspr2_ |
| #define F77_chemv cchemv_ |
| #define F77_chbmv cchbmv_ |
| #define F77_chpmv cchpmv_ |
| #define F77_cgeru ccgeru_ |
| #define F77_cgerc ccgerc_ |
| #define F77_cher ccher_ |
| #define F77_chpr cchpr_ |
| #define F77_cher2 ccher2_ |
| #define F77_chpr2 cchpr2_ |
| #define F77_zhemv czhemv_ |
| #define F77_zhbmv czhbmv_ |
| #define F77_zhpmv czhpmv_ |
| #define F77_zgeru czgeru_ |
| #define F77_zgerc czgerc_ |
| #define F77_zher czher_ |
| #define F77_zhpr czhpr_ |
| #define F77_zher2 czher2_ |
| #define F77_zhpr2 czhpr2_ |
| #define F77_sgemv csgemv_ |
| #define F77_sgbmv csgbmv_ |
| #define F77_strmv cstrmv_ |
| #define F77_stbmv cstbmv_ |
| #define F77_stpmv cstpmv_ |
| #define F77_strsv cstrsv_ |
| #define F77_stbsv cstbsv_ |
| #define F77_stpsv cstpsv_ |
| #define F77_dgemv cdgemv_ |
| #define F77_dgbmv cdgbmv_ |
| #define F77_dtrmv cdtrmv_ |
| #define F77_dtbmv cdtbmv_ |
| #define F77_dtpmv cdtpmv_ |
| #define F77_dtrsv cdtrsv_ |
| #define F77_dtbsv cdtbsv_ |
| #define F77_dtpsv cdtpsv_ |
| #define F77_cgemv ccgemv_ |
| #define F77_cgbmv ccgbmv_ |
| #define F77_ctrmv cctrmv_ |
| #define F77_ctbmv cctbmv_ |
| #define F77_ctpmv cctpmv_ |
| #define F77_ctrsv cctrsv_ |
| #define F77_ctbsv cctbsv_ |
| #define F77_ctpsv cctpsv_ |
| #define F77_zgemv czgemv_ |
| #define F77_zgbmv czgbmv_ |
| #define F77_ztrmv cztrmv_ |
| #define F77_ztbmv cztbmv_ |
| #define F77_ztpmv cztpmv_ |
| #define F77_ztrsv cztrsv_ |
| #define F77_ztbsv cztbsv_ |
| #define F77_ztpsv cztpsv_ |
| /* |
| * Level 3 BLAS |
| */ |
| #define F77_s3chke cs3chke_ |
| #define F77_d3chke cd3chke_ |
| #define F77_c3chke cc3chke_ |
| #define F77_z3chke cz3chke_ |
| #define F77_chemm cchemm_ |
| #define F77_cherk ccherk_ |
| #define F77_cher2k ccher2k_ |
| #define F77_zhemm czhemm_ |
| #define F77_zherk czherk_ |
| #define F77_zher2k czher2k_ |
| #define F77_sgemm csgemm_ |
| #define F77_ssymm cssymm_ |
| #define F77_ssyrk cssyrk_ |
| #define F77_ssyr2k cssyr2k_ |
| #define F77_strmm cstrmm_ |
| #define F77_strsm cstrsm_ |
| #define F77_dgemm cdgemm_ |
| #define F77_dsymm cdsymm_ |
| #define F77_dsyrk cdsyrk_ |
| #define F77_dsyr2k cdsyr2k_ |
| #define F77_dtrmm cdtrmm_ |
| #define F77_dtrsm cdtrsm_ |
| #define F77_cgemm ccgemm_ |
| #define F77_csymm ccsymm_ |
| #define F77_csyrk ccsyrk_ |
| #define F77_csyr2k ccsyr2k_ |
| #define F77_ctrmm cctrmm_ |
| #define F77_ctrsm cctrsm_ |
| #define F77_zgemm czgemm_ |
| #define F77_zsymm czsymm_ |
| #define F77_zsyrk czsyrk_ |
| #define F77_zsyr2k czsyr2k_ |
| #define F77_ztrmm cztrmm_ |
| #define F77_ztrsm cztrsm_ |
| #elif defined(UPCASE) |
| #define F77_xerbla XERBLA |
| /* |
| * Level 1 BLAS |
| */ |
| #define F77_srotg SROTGTEST |
| #define F77_srotmg SROTMGTEST |
| #define F77_srot SROTCTEST |
| #define F77_srotm SROTMTEST |
| #define F77_drotg DROTGTEST |
| #define F77_drotmg DROTMGTEST |
| #define F77_drot DROTTEST |
| #define F77_drotm DROTMTEST |
| #define F77_sswap SSWAPTEST |
| #define F77_scopy SCOPYTEST |
| #define F77_saxpy SAXPYTEST |
| #define F77_isamax ISAMAXTEST |
| #define F77_dswap DSWAPTEST |
| #define F77_dcopy DCOPYTEST |
| #define F77_daxpy DAXPYTEST |
| #define F77_idamax IDAMAXTEST |
| #define F77_cswap CSWAPTEST |
| #define F77_ccopy CCOPYTEST |
| #define F77_caxpy CAXPYTEST |
| #define F77_icamax ICAMAXTEST |
| #define F77_zswap ZSWAPTEST |
| #define F77_zcopy ZCOPYTEST |
| #define F77_zaxpy ZAXPYTEST |
| #define F77_izamax IZAMAXTEST |
| #define F77_sdot SDOTTEST |
| #define F77_ddot DDOTTEST |
| #define F77_dsdot DSDOTTEST |
| #define F77_sscal SSCALTEST |
| #define F77_dscal DSCALTEST |
| #define F77_cscal CSCALTEST |
| #define F77_zscal ZSCALTEST |
| #define F77_csscal CSSCALTEST |
| #define F77_zdscal ZDSCALTEST |
| #define F77_cdotu CDOTUTEST |
| #define F77_cdotc CDOTCTEST |
| #define F77_zdotu ZDOTUTEST |
| #define F77_zdotc ZDOTCTEST |
| #define F77_snrm2 SNRM2TEST |
| #define F77_sasum SASUMTEST |
| #define F77_dnrm2 DNRM2TEST |
| #define F77_dasum DASUMTEST |
| #define F77_scnrm2 SCNRM2TEST |
| #define F77_scasum SCASUMTEST |
| #define F77_dznrm2 DZNRM2TEST |
| #define F77_dzasum DZASUMTEST |
| #define F77_sdsdot SDSDOTTEST |
| /* |
| * Level 2 BLAS |
| */ |
| #define F77_s2chke CS2CHKE |
| #define F77_d2chke CD2CHKE |
| #define F77_c2chke CC2CHKE |
| #define F77_z2chke CZ2CHKE |
| #define F77_ssymv CSSYMV |
| #define F77_ssbmv CSSBMV |
| #define F77_sspmv CSSPMV |
| #define F77_sger CSGER |
| #define F77_ssyr CSSYR |
| #define F77_sspr CSSPR |
| #define F77_ssyr2 CSSYR2 |
| #define F77_sspr2 CSSPR2 |
| #define F77_dsymv CDSYMV |
| #define F77_dsbmv CDSBMV |
| #define F77_dspmv CDSPMV |
| #define F77_dger CDGER |
| #define F77_dsyr CDSYR |
| #define F77_dspr CDSPR |
| #define F77_dsyr2 CDSYR2 |
| #define F77_dspr2 CDSPR2 |
| #define F77_chemv CCHEMV |
| #define F77_chbmv CCHBMV |
| #define F77_chpmv CCHPMV |
| #define F77_cgeru CCGERU |
| #define F77_cgerc CCGERC |
| #define F77_cher CCHER |
| #define F77_chpr CCHPR |
| #define F77_cher2 CCHER2 |
| #define F77_chpr2 CCHPR2 |
| #define F77_zhemv CZHEMV |
| #define F77_zhbmv CZHBMV |
| #define F77_zhpmv CZHPMV |
| #define F77_zgeru CZGERU |
| #define F77_zgerc CZGERC |
| #define F77_zher CZHER |
| #define F77_zhpr CZHPR |
| #define F77_zher2 CZHER2 |
| #define F77_zhpr2 CZHPR2 |
| #define F77_sgemv CSGEMV |
| #define F77_sgbmv CSGBMV |
| #define F77_strmv CSTRMV |
| #define F77_stbmv CSTBMV |
| #define F77_stpmv CSTPMV |
| #define F77_strsv CSTRSV |
| #define F77_stbsv CSTBSV |
| #define F77_stpsv CSTPSV |
| #define F77_dgemv CDGEMV |
| #define F77_dgbmv CDGBMV |
| #define F77_dtrmv CDTRMV |
| #define F77_dtbmv CDTBMV |
| #define F77_dtpmv CDTPMV |
| #define F77_dtrsv CDTRSV |
| #define F77_dtbsv CDTBSV |
| #define F77_dtpsv CDTPSV |
| #define F77_cgemv CCGEMV |
| #define F77_cgbmv CCGBMV |
| #define F77_ctrmv CCTRMV |
| #define F77_ctbmv CCTBMV |
| #define F77_ctpmv CCTPMV |
| #define F77_ctrsv CCTRSV |
| #define F77_ctbsv CCTBSV |
| #define F77_ctpsv CCTPSV |
| #define F77_zgemv CZGEMV |
| #define F77_zgbmv CZGBMV |
| #define F77_ztrmv CZTRMV |
| #define F77_ztbmv CZTBMV |
| #define F77_ztpmv CZTPMV |
| #define F77_ztrsv CZTRSV |
| #define F77_ztbsv CZTBSV |
| #define F77_ztpsv CZTPSV |
| /* |
| * Level 3 BLAS |
| */ |
| #define F77_s3chke CS3CHKE |
| #define F77_d3chke CD3CHKE |
| #define F77_c3chke CC3CHKE |
| #define F77_z3chke CZ3CHKE |
| #define F77_chemm CCHEMM |
| #define F77_cherk CCHERK |
| #define F77_cher2k CCHER2K |
| #define F77_zhemm CZHEMM |
| #define F77_zherk CZHERK |
| #define F77_zher2k CZHER2K |
| #define F77_sgemm CSGEMM |
| #define F77_ssymm CSSYMM |
| #define F77_ssyrk CSSYRK |
| #define F77_ssyr2k CSSYR2K |
| #define F77_strmm CSTRMM |
| #define F77_strsm CSTRSM |
| #define F77_dgemm CDGEMM |
| #define F77_dsymm CDSYMM |
| #define F77_dsyrk CDSYRK |
| #define F77_dsyr2k CDSYR2K |
| #define F77_dtrmm CDTRMM |
| #define F77_dtrsm CDTRSM |
| #define F77_cgemm CCGEMM |
| #define F77_csymm CCSYMM |
| #define F77_csyrk CCSYRK |
| #define F77_csyr2k CCSYR2K |
| #define F77_ctrmm CCTRMM |
| #define F77_ctrsm CCTRSM |
| #define F77_zgemm CZGEMM |
| #define F77_zsymm CZSYMM |
| #define F77_zsyrk CZSYRK |
| #define F77_zsyr2k CZSYR2K |
| #define F77_ztrmm CZTRMM |
| #define F77_ztrsm CZTRSM |
| #elif defined(NOCHANGE) |
| #define F77_xerbla xerbla |
| /* |
| * Level 1 BLAS |
| */ |
| #define F77_srotg srotgtest |
| #define F77_srotmg srotmgtest |
| #define F77_srot srottest |
| #define F77_srotm srotmtest |
| #define F77_drotg drotgtest |
| #define F77_drotmg drotmgtest |
| #define F77_drot drottest |
| #define F77_drotm drotmtest |
| #define F77_sswap sswaptest |
| #define F77_scopy scopytest |
| #define F77_saxpy saxpytest |
| #define F77_isamax isamaxtest |
| #define F77_dswap dswaptest |
| #define F77_dcopy dcopytest |
| #define F77_daxpy daxpytest |
| #define F77_idamax idamaxtest |
| #define F77_cswap cswaptest |
| #define F77_ccopy ccopytest |
| #define F77_caxpy caxpytest |
| #define F77_icamax icamaxtest |
| #define F77_zswap zswaptest |
| #define F77_zcopy zcopytest |
| #define F77_zaxpy zaxpytest |
| #define F77_izamax izamaxtest |
| #define F77_sdot sdottest |
| #define F77_ddot ddottest |
| #define F77_dsdot dsdottest |
| #define F77_sscal sscaltest |
| #define F77_dscal dscaltest |
| #define F77_cscal cscaltest |
| #define F77_zscal zscaltest |
| #define F77_csscal csscaltest |
| #define F77_zdscal zdscaltest |
| #define F77_cdotu cdotutest |
| #define F77_cdotc cdotctest |
| #define F77_zdotu zdotutest |
| #define F77_zdotc zdotctest |
| #define F77_snrm2 snrm2test |
| #define F77_sasum sasumtest |
| #define F77_dnrm2 dnrm2test |
| #define F77_dasum dasumtest |
| #define F77_scnrm2 scnrm2test |
| #define F77_scasum scasumtest |
| #define F77_dznrm2 dznrm2test |
| #define F77_dzasum dzasumtest |
| #define F77_sdsdot sdsdottest |
| /* |
| * Level 2 BLAS |
| */ |
| #define F77_s2chke cs2chke |
| #define F77_d2chke cd2chke |
| #define F77_c2chke cc2chke |
| #define F77_z2chke cz2chke |
| #define F77_ssymv cssymv |
| #define F77_ssbmv cssbmv |
| #define F77_sspmv csspmv |
| #define F77_sger csger |
| #define F77_ssyr cssyr |
| #define F77_sspr csspr |
| #define F77_ssyr2 cssyr2 |
| #define F77_sspr2 csspr2 |
| #define F77_dsymv cdsymv |
| #define F77_dsbmv cdsbmv |
| #define F77_dspmv cdspmv |
| #define F77_dger cdger |
| #define F77_dsyr cdsyr |
| #define F77_dspr cdspr |
| #define F77_dsyr2 cdsyr2 |
| #define F77_dspr2 cdspr2 |
| #define F77_chemv cchemv |
| #define F77_chbmv cchbmv |
| #define F77_chpmv cchpmv |
| #define F77_cgeru ccgeru |
| #define F77_cgerc ccgerc |
| #define F77_cher ccher |
| #define F77_chpr cchpr |
| #define F77_cher2 ccher2 |
| #define F77_chpr2 cchpr2 |
| #define F77_zhemv czhemv |
| #define F77_zhbmv czhbmv |
| #define F77_zhpmv czhpmv |
| #define F77_zgeru czgeru |
| #define F77_zgerc czgerc |
| #define F77_zher czher |
| #define F77_zhpr czhpr |
| #define F77_zher2 czher2 |
| #define F77_zhpr2 czhpr2 |
| #define F77_sgemv csgemv |
| #define F77_sgbmv csgbmv |
| #define F77_strmv cstrmv |
| #define F77_stbmv cstbmv |
| #define F77_stpmv cstpmv |
| #define F77_strsv cstrsv |
| #define F77_stbsv cstbsv |
| #define F77_stpsv cstpsv |
| #define F77_dgemv cdgemv |
| #define F77_dgbmv cdgbmv |
| #define F77_dtrmv cdtrmv |
| #define F77_dtbmv cdtbmv |
| #define F77_dtpmv cdtpmv |
| #define F77_dtrsv cdtrsv |
| #define F77_dtbsv cdtbsv |
| #define F77_dtpsv cdtpsv |
| #define F77_cgemv ccgemv |
| #define F77_cgbmv ccgbmv |
| #define F77_ctrmv cctrmv |
| #define F77_ctbmv cctbmv |
| #define F77_ctpmv cctpmv |
| #define F77_ctrsv cctrsv |
| #define F77_ctbsv cctbsv |
| #define F77_ctpsv cctpsv |
| #define F77_zgemv czgemv |
| #define F77_zgbmv czgbmv |
| #define F77_ztrmv cztrmv |
| #define F77_ztbmv cztbmv |
| #define F77_ztpmv cztpmv |
| #define F77_ztrsv cztrsv |
| #define F77_ztbsv cztbsv |
| #define F77_ztpsv cztpsv |
| /* |
| * Level 3 BLAS |
| */ |
| #define F77_s3chke cs3chke |
| #define F77_d3chke cd3chke |
| #define F77_c3chke cc3chke |
| #define F77_z3chke cz3chke |
| #define F77_chemm cchemm |
| #define F77_cherk ccherk |
| #define F77_cher2k ccher2k |
| #define F77_zhemm czhemm |
| #define F77_zherk czherk |
| #define F77_zher2k czher2k |
| #define F77_sgemm csgemm |
| #define F77_ssymm cssymm |
| #define F77_ssyrk cssyrk |
| #define F77_ssyr2k cssyr2k |
| #define F77_strmm cstrmm |
| #define F77_strsm cstrsm |
| #define F77_dgemm cdgemm |
| #define F77_dsymm cdsymm |
| #define F77_dsyrk cdsyrk |
| #define F77_dsyr2k cdsyr2k |
| #define F77_dtrmm cdtrmm |
| #define F77_dtrsm cdtrsm |
| #define F77_cgemm ccgemm |
| #define F77_csymm ccsymm |
| #define F77_csyrk ccsyrk |
| #define F77_csyr2k ccsyr2k |
| #define F77_ctrmm cctrmm |
| #define F77_ctrsm cctrsm |
| #define F77_zgemm czgemm |
| #define F77_zsymm czsymm |
| #define F77_zsyrk czsyrk |
| #define F77_zsyr2k czsyr2k |
| #define F77_ztrmm cztrmm |
| #define F77_ztrsm cztrsm |
| #endif |
| |
| void get_transpose_type(char *type, enum CBLAS_TRANSPOSE *trans); |
| void get_uplo_type(char *type, enum CBLAS_UPLO *uplo); |
| void get_diag_type(char *type, enum CBLAS_DIAG *diag); |
| void get_side_type(char *type, enum CBLAS_SIDE *side); |
| |
| #endif /* CBLAS_TEST_H */ |