CBLAS/incl...las_test.h(3)
π¦ CBLAS/include/cblas_test.h
okay so this is the man page for CBLAS/incl...las_test.h(3) β yes the title is giving "truncated by the terminal" energy and we're just gonna vibe with it π
. It's the header that every CBLAS test file leans on, and it's packed with macros. Like, packed packed. Grab a snack, we're doing this in three parts.
β¨ NAME β¨
CBLAS/include/cblas_test.h β one file, and it is the entire personality of the CBLAS test suite. no cap.
π SYNOPSIS π
Slap these two includes at the top and you're in:
#include 'cblas.h'
#include 'cblas_mangling.h'
πΈ Classes
Two little structs live in here, and they're exactly what they sound like:
struct CBLAS_TEST_COMPLEXstruct CBLAS_TEST_ZOMPLEX
π¦ Macros
okay the macro section is lowkey the whole main character of this file. Here's every single one, in order, no skips:
#define BLAS_FORTRAN_STRLEN_END#define FORTRAN_STRLEN size_t#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#define F77_xerbla F77_GLOBAL(xerbla,XERBLA)#define F77_srotg F77_GLOBAL(srotgtest,SROTGTEST)#define F77_srotmg F77_GLOBAL(srotmgtest,SROTMGTEST)#define F77_srot F77_GLOBAL(srottest,SROTTEST)#define F77_srotm F77_GLOBAL(srotmtest,SROTMTEST)#define F77_drotg F77_GLOBAL(drotgtest,DROTGTEST)#define F77_drotmg F77_GLOBAL(drotmgtest,DROTMGTEST)#define F77_drot F77_GLOBAL(drottest,DROTTEST)#define F77_drotm F77_GLOBAL(drotmtest,DROTMTEST)#define F77_sswap F77_GLOBAL(sswaptest,SSWAPTEST)#define F77_scopy F77_GLOBAL(scopytest,SCOPYTEST)#define F77_saxpy F77_GLOBAL(saxpytest,SAXPYTEST)#define F77_isamax F77_GLOBAL(isamaxtest,ISAMAXTEST)#define F77_dswap F77_GLOBAL(dswaptest,DSWAPTEST)#define F77_dcopy F77_GLOBAL(dcopytest,DCOPYTEST)#define F77_daxpy F77_GLOBAL(daxpytest,DAXPYTEST)#define F77_idamax F77_GLOBAL(idamaxtest,IDAMAXTEST)#define F77_cswap F77_GLOBAL(cswaptest,CSWAPTEST)#define F77_ccopy F77_GLOBAL(ccopytest,CCOPYTEST)#define F77_caxpy F77_GLOBAL(caxpytest,CAXPYTEST)#define F77_icamax F77_GLOBAL(icamaxtest,ICAMAXTEST)#define F77_zswap F77_GLOBAL(zswaptest,ZSWAPTEST)#define F77_zcopy F77_GLOBAL(zcopytest,ZCOPYTEST)#define F77_zaxpy F77_GLOBAL(zaxpytest,ZAXPYTEST)#define F77_izamax F77_GLOBAL(izamaxtest,IZAMAXTEST)#define F77_sdot F77_GLOBAL(sdottest,SDOTTEST)#define F77_ddot F77_GLOBAL(ddottest,DDOTTEST)#define F77_dsdot F77_GLOBAL(dsdottest,DSDOTTEST)#define F77_sscal F77_GLOBAL(sscaltest,SSCALTEST)#define F77_dscal F77_GLOBAL(dscaltest,DSCALTEST)#define F77_cscal F77_GLOBAL(cscaltest,CSCALTEST)#define F77_zscal F77_GLOBAL(zscaltest,ZSCALTEST)#define F77_csscal F77_GLOBAL(csscaltest,CSSCALTEST)#define F77_zdscal F77_GLOBAL(zdscaltest,ZDSCALTEST)#define F77_cdotu F77_GLOBAL(cdotutest,CDOTUTEST)#define F77_cdotc F77_GLOBAL(cdotctest,CDOTCTEST)#define F77_zdotu F77_GLOBAL(zdotutest,ZDOTUTEST)#define F77_zdotc F77_GLOBAL(zdotctest,ZDOTCTEST)#define F77_snrm2 F77_GLOBAL(snrm2test,SNRM2TEST)#define F77_sasum F77_GLOBAL(sasumtest,SASUMTEST)#define F77_dnrm2 F77_GLOBAL(dnrm2test,DNRM2TEST)#define F77_dasum F77_GLOBAL(dasumtest,DASUMTEST)#define F77_scnrm2 F77_GLOBAL(scnrm2test,SCNRM2TEST)#define F77_scasum F77_GLOBAL(scasumtest,SCASUMTEST)#define F77_dznrm2 F77_GLOBAL(dznrm2test,DZNRM2TEST)#define F77_dzasum F77_GLOBAL(dzasumtest,DZASUMTEST)#define F77_sdsdot F77_GLOBAL(sdsdottest, SDSDOTTEST)#define F77_s2chke F77_GLOBAL(cs2chke,CS2CHKE)#define F77_d2chke F77_GLOBAL(cd2chke,CD2CHKE)#define F77_c2chke F77_GLOBAL(cc2chke,CC2CHKE)#define F77_z2chke F77_GLOBAL(cz2chke,CZ2CHKE)
(the symmetric / banded / packed era begins, brace yourself π«Ά)
#define F77_ssymv F77_GLOBAL(cssymv,CSSYMV)#define F77_ssbmv F77_GLOBAL(cssbmv,CSSBMV)#define F77_sspmv F77_GLOBAL(csspmv,CSSPMV)#define F77_sger F77_GLOBAL(csger,CSGER)#define F77_ssyr F77_GLOBAL(cssyr,CSSYR)#define F77_sspr F77_GLOBAL(csspr,CSSPR)#define F77_ssyr2 F77_GLOBAL(cssyr2,CSSYR2)#define F77_sspr2 F77_GLOBAL(csspr2,CSSPR2)#define F77_dsymv F77_GLOBAL(cdsymv,CDSYMV)#define F77_dsbmv F77_GLOBAL(cdsbmv,CDSBMV)#define F77_dspmv F77_GLOBAL(cdspmv,CDSPMV)#define F77_dger F77_GLOBAL(cdger,CDGER)#define F77_dsyr F77_GLOBAL(cdsyr,CDSYR)#define F77_dspr F77_GLOBAL(cdspr,CDSPR)#define F77_dsyr2 F77_GLOBAL(cdsyr2,CDSYR2)#define F77_dspr2 F77_GLOBAL(cdspr2,CDSPR2)#define F77_chemv F77_GLOBAL(cchemv,CCHEMV)#define F77_chbmv F77_GLOBAL(cchbmv,CCHBMV)#define F77_chpmv F77_GLOBAL(cchpmv,CCHPMV)#define F77_cgeru F77_GLOBAL(ccgeru,CCGERU)#define F77_cgerc F77_GLOBAL(ccgerc,CCGERC)#define F77_cher F77_GLOBAL(ccher,CCHER)#define F77_chpr F77_GLOBAL(cchpr,CCHPR)#define F77_cher2 F77_GLOBAL(ccher2,CCHER2)#define F77_chpr2 F77_GLOBAL(cchpr2,CCHPR2)#define F77_zhemv F77_GLOBAL(czhemv,CZHEMV)#define F77_zhbmv F77_GLOBAL(czhbmv,CZHBMV)#define F77_zhpmv F77_GLOBAL(czhpmv,CZHPMV)#define F77_zgeru F77_GLOBAL(czgeru,CZGERU)#define F77_zgerc F77_GLOBAL(czgerc,CZGERC)#define F77_zher F77_GLOBAL(czher,CZHER)#define F77_zhpr F77_GLOBAL(czhpr,CZHPR)#define F77_zher2 F77_GLOBAL(czher2,CZHER2)#define F77_zhpr2 F77_GLOBAL(czhpr2,CZHPR2)
(triangular time β mv, bmv, pmv, sv, bsv, psv for every single type, we love a pattern π)
#define F77_sgemv F77_GLOBAL(csgemv,CSGEMV)#define F77_sgbmv F77_GLOBAL(csgbmv,CSGBMV)#define F77_strmv F77_GLOBAL(cstrmv,CSTRMV)#define F77_stbmv F77_GLOBAL(cstbmv,CSTBMV)#define F77_stpmv F77_GLOBAL(cstpmv,CSTPMV)#define F77_strsv F77_GLOBAL(cstrsv,CSTRSV)#define F77_stbsv F77_GLOBAL(cstbsv,CSTBSV)#define F77_stpsv F77_GLOBAL(cstpsv,CSTPSV)#define F77_dgemv F77_GLOBAL(cdgemv,CDGEMV)#define F77_dgbmv F77_GLOBAL(cdgbmv,CDGBMV)#define F77_dtrmv F77_GLOBAL(cdtrmv,CDTRMV)#define F77_dtbmv F77_GLOBAL(cdtbmv,CDTBMV)#define F77_dtpmv F77_GLOBAL(cdtpmv,CDTPMV)#define F77_dtrsv F77_GLOBAL(cdtrsv,CDTRSV)#define F77_dtbsv F77_GLOBAL(cdtbsv,CDTBSV)#define F77_dtpsv F77_GLOBAL(cdtpsv,CDTPSV)#define F77_cgemv F77_GLOBAL(ccgemv,CCGEMV)#define F77_cgbmv F77_GLOBAL(ccgbmv,CCGBMV)#define F77_ctrmv F77_GLOBAL(cctrmv,CCTRMV)#define F77_ctbmv F77_GLOBAL(cctbmv,CCTBMV)#define F77_ctpmv F77_GLOBAL(cctpmv,CCTPMV)#define F77_ctrsv F77_GLOBAL(cctrsv,CCTRSV)#define F77_ctbsv F77_GLOBAL(cctbsv,CCTBSV)#define F77_ctpsv F77_GLOBAL(cctpsv,CCTPSV)#define F77_zgemv F77_GLOBAL(czgemv,CZGEMV)#define F77_zgbmv F77_GLOBAL(czgbmv,CZGBMV)#define F77_ztrmv F77_GLOBAL(cztrmv,CZTRMV)#define F77_ztbmv F77_GLOBAL(cztbmv,CZTBMV)#define F77_ztpmv F77_GLOBAL(cztpmv,CZTPMV)#define F77_ztrsv F77_GLOBAL(cztrsv,CZTRSV)#define F77_ztbsv F77_GLOBAL(cztbsv,CZTBSV)#define F77_ztpsv F77_GLOBAL(cztpsv,CZTPSV)
(and now level 3, the big kids' table π₯)
#define F77_s3chke F77_GLOBAL(cs3chke,CS3CHKE)#define F77_d3chke F77_GLOBAL(cd3chke,CD3CHKE)#define F77_c3chke F77_GLOBAL(cc3chke,CC3CHKE)#define F77_z3chke F77_GLOBAL(cz3chke,CZ3CHKE)#define F77_chemm F77_GLOBAL(cchemm,CCHEMM)#define F77_cherk F77_GLOBAL(ccherk,CCHERK)#define F77_cher2k F77_GLOBAL(ccher2k,CCHER2K)#define F77_zhemm F77_GLOBAL(czhemm,CZHEMM)#define F77_zherk F77_GLOBAL(czherk,CZHERK)#define F77_zher2k F77_GLOBAL(czher2k,CZHER2K)#define F77_sgemm F77_GLOBAL(csgemm,CSGEMM)#define F77_sgemmtr F77_GLOBAL(csgemmtr,CSGEMMTR)#define F77_ssymm F77_GLOBAL(cssymm,CSSYMM)#define F77_ssyrk F77_GLOBAL(cssyrk,CSSYRK)#define F77_ssyr2k F77_GLOBAL(cssyr2k,CSSYR2K)#define F77_strmm F77_GLOBAL(cstrmm,CSTRMM)#define F77_strsm F77_GLOBAL(cstrsm,CSTRSM)#define F77_dgemm F77_GLOBAL(cdgemm,CDGEMM)#define F77_dgemmtr F77_GLOBAL(cdgemmtr,CDGEMMTR)#define F77_dsymm F77_GLOBAL(cdsymm,CDSYMM)#define F77_dsyrk F77_GLOBAL(cdsyrk,CDSYRK)#define F77_dsyr2k F77_GLOBAL(cdsyr2k,CDSYR2K)#define F77_dtrmm F77_GLOBAL(cdtrmm,CDTRMM)#define F77_dtrsm F77_GLOBAL(cdtrsm,CDTRSM)#define F77_cgemm F77_GLOBAL(ccgemm,CCGEMM)#define F77_cgemmtr F77_GLOBAL(ccgemmtr,CCGEMMTR)#define F77_csymm F77_GLOBAL(ccsymm,CCSYMM)#define F77_csyrk F77_GLOBAL(ccsyrk,CCSYRK)#define F77_csyr2k F77_GLOBAL(ccsyr2k,CCSYR2K)#define F77_ctrmm F77_GLOBAL(cctrmm,CCTRMM)#define F77_ctrsm F77_GLOBAL(cctrsm,CCTRSM)#define F77_zgemm F77_GLOBAL(czgemm,CZGEMM)#define F77_zgemmtr F77_GLOBAL(czgemmtr,CZGEMMTR)#define F77_zsymm F77_GLOBAL(czsymm,CZSYMM)#define F77_zsyrk F77_GLOBAL(czsyrk,CZSYRK)#define F77_zsyr2k F77_GLOBAL(czsyr2k,CZSYR2K)#define F77_ztrmm F77_GLOBAL(cztrmm,CZTRMM)#define F77_ztrsm F77_GLOBAL(cztrsm, CZTRSM)
also yes,F77_ztrsmreally does have a space after the comma in the original andF77_sdsdotdoes too. we do not fix. we transcribe. π
π Functions
Four little helpers that turn your boring char * into actual enum values:
void get_transpose_type (char *type, CBLAS_TRANSPOSE *trans)
void get_uplo_type (char *type, CBLAS_UPLO *uplo)
void get_diag_type (char *type, CBLAS_DIAG *diag)
void get_side_type (char *type, CBLAS_SIDE *side)
π Macro Definition Documentation π
This is the part where Doxygen spills the receipts β every macro plus exactly where it lives in the file. Alphabetical, bestie, and we're going in order.
#define BLAS_FORTRAN_STRLEN_ENDβ definition at line 13 of filecblas_test.h.#define F77_c2chke F77_GLOBAL(cc2chke,CC2CHKE)β definition at line 88 of filecblas_test.h.#define F77_c3chke F77_GLOBAL(cc3chke,CC3CHKE)β definition at line 161 of filecblas_test.h.#define F77_caxpy F77_GLOBAL(caxpytest,CAXPYTEST)β definition at line 55 of filecblas_test.h.#define F77_ccopy F77_GLOBAL(ccopytest,CCOPYTEST)β definition at line 54 of filecblas_test.h.#define F77_cdotc F77_GLOBAL(cdotctest,CDOTCTEST)β definition at line 71 of filecblas_test.h.#define F77_cdotu F77_GLOBAL(cdotutest,CDOTUTEST)β definition at line 70 of filecblas_test.h.#define F77_cgbmv F77_GLOBAL(ccgbmv,CCGBMV)β definition at line 141 of filecblas_test.h.#define F77_cgemm F77_GLOBAL(ccgemm,CCGEMM)β definition at line 183 of filecblas_test.h.#define F77_cgemmtr F77_GLOBAL(ccgemmtr,CCGEMMTR)β definition at line 184 of filecblas_test.h.#define F77_cgemv F77_GLOBAL(ccgemv,CCGEMV)β definition at line 140 of filecblas_test.h.#define F77_cgerc F77_GLOBAL(ccgerc,CCGERC)β definition at line 110 of filecblas_test.h.#define F77_cgeru F77_GLOBAL(ccgeru,CCGERU)β definition at line 109 of filecblas_test.h.#define F77_chbmv F77_GLOBAL(cchbmv,CCHBMV)β definition at line 107 of filecblas_test.h.#define F77_chemm F77_GLOBAL(cchemm,CCHEMM)β definition at line 163 of filecblas_test.h.#define F77_chemv F77_GLOBAL(cchemv,CCHEMV)β definition at line 106 of filecblas_test.h.#define F77_cher F77_GLOBAL(ccher,CCHER)β definition at line 111 of filecblas_test.h.#define F77_cher2 F77_GLOBAL(ccher2,CCHER2)β definition at line 113 of filecblas_test.h.#define F77_cher2k F77_GLOBAL(ccher2k,CCHER2K)β definition at line 165 of filecblas_test.h.#define F77_cherk F77_GLOBAL(ccherk,CCHERK)β definition at line 164 of filecblas_test.h.#define F77_chpmv F77_GLOBAL(cchpmv,CCHPMV)β definition at line 108 of filecblas_test.h.#define F77_chpr F77_GLOBAL(cchpr,CCHPR)β definition at line 112 of filecblas_test.h.#define F77_chpr2 F77_GLOBAL(cchpr2,CCHPR2)β definition at line 114 of filecblas_test.h.#define F77_cscal F77_GLOBAL(cscaltest,CSCALTEST)β definition at line 66 of filecblas_test.h.#define F77_csscal F77_GLOBAL(csscaltest,CSSCALTEST)β definition at line 68 of filecblas_test.h.
β¨ and that's where part 1 peaces out β the list literally keeps going, so part 2 is right behind this one π«Ά
Okay so we're deep in the macro list now, bestie β this is the part where the header file just keeps going and going, and honestly? Respect. Every single one of these is a #define that glues a test-wrapper name to the real Fortran symbol via F77_GLOBAL, and each one has a home line in cblas_test.h. Buckle up π
πΈ More Macro Definitions, We Keep Going
F77_cswapβ expands toF77_GLOBAL(cswaptest,CSWAPTEST)π¦ defined at line 53 ofcblas_test.h.F77_csymmβ that'sF77_GLOBAL(ccsymm,CCSYMM), defined at line 185 ofcblas_test.h.F77_csyr2kβF77_GLOBAL(ccsyr2k,CCSYR2K), line 187 ofcblas_test.hβ¨F77_csyrkβF77_GLOBAL(ccsyrk,CCSYRK), line 186 ofcblas_test.h.F77_ctbmvβF77_GLOBAL(cctbmv,CCTBMV), line 143 ofcblas_test.hπF77_ctbsvβF77_GLOBAL(cctbsv,CCTBSV), line 146 ofcblas_test.h.F77_ctpmvβF77_GLOBAL(cctpmv,CCTPMV), line 144 ofcblas_test.h.F77_ctpsvβF77_GLOBAL(cctpsv,CCTPSV), line 147 ofcblas_test.hβF77_ctrmmβF77_GLOBAL(cctrmm,CCTRMM), line 188 ofcblas_test.h.F77_ctrmvβF77_GLOBAL(cctrmv,CCTRMV), line 142 ofcblas_test.h.F77_ctrsmβF77_GLOBAL(cctrsm,CCTRSM), line 189 ofcblas_test.hπF77_ctrsvβF77_GLOBAL(cctrsv,CCTRSV), line 145 ofcblas_test.h.F77_d2chkeβF77_GLOBAL(cd2chke,CD2CHKE), line 87 ofcblas_test.h.F77_d3chkeβF77_GLOBAL(cd3chke,CD3CHKE), line 160 ofcblas_test.hπF77_dasumβF77_GLOBAL(dasumtest,DASUMTEST), line 77 ofcblas_test.h.F77_daxpyβF77_GLOBAL(daxpytest,DAXPYTEST), line 51 ofcblas_test.h.F77_dcopyβF77_GLOBAL(dcopytest,DCOPYTEST), line 50 ofcblas_test.hπ«ΆF77_ddotβF77_GLOBAL(ddottest,DDOTTEST), line 62 ofcblas_test.h.F77_dgbmvβF77_GLOBAL(cdgbmv,CDGBMV), line 133 ofcblas_test.h.F77_dgemmβF77_GLOBAL(cdgemm,CDGEMM), line 176 ofcblas_test.hπ₯F77_dgemmtrβF77_GLOBAL(cdgemmtr,CDGEMMTR), line 177 ofcblas_test.h.F77_dgemvβF77_GLOBAL(cdgemv,CDGEMV), line 132 ofcblas_test.h.F77_dgerβF77_GLOBAL(cdger,CDGER), line 101 ofcblas_test.hπ¦F77_dnrm2βF77_GLOBAL(dnrm2test,DNRM2TEST), line 76 ofcblas_test.h.F77_drotβF77_GLOBAL(drottest,DROTTEST), line 43 ofcblas_test.h.F77_drotgβF77_GLOBAL(drotgtest,DROTGTEST), line 41 ofcblas_test.hπF77_drotmβF77_GLOBAL(drotmtest,DROTMTEST), line 44 ofcblas_test.h.F77_drotmgβF77_GLOBAL(drotmgtest,DROTMGTEST), line 42 ofcblas_test.h.F77_dsbmvβF77_GLOBAL(cdsbmv,CDSBMV), line 99 ofcblas_test.hβ¨F77_dscalβF77_GLOBAL(dscaltest,DSCALTEST), line 65 ofcblas_test.h.F77_dsdotβF77_GLOBAL(dsdottest,DSDOTTEST), line 63 ofcblas_test.h.F77_dspmvβF77_GLOBAL(cdspmv,CDSPMV), line 100 ofcblas_test.hπF77_dsprβF77_GLOBAL(cdspr,CDSPR), line 103 ofcblas_test.h.F77_dspr2βF77_GLOBAL(cdspr2,CDSPR2), line 105 ofcblas_test.h.F77_dswapβF77_GLOBAL(dswaptest,DSWAPTEST), line 49 ofcblas_test.hπ«F77_dsymmβF77_GLOBAL(cdsymm,CDSYMM), line 178 ofcblas_test.h.F77_dsymvβF77_GLOBAL(cdsymv,CDSYMV), line 98 ofcblas_test.h.F77_dsyrβF77_GLOBAL(cdsyr,CDSYR), line 102 ofcblas_test.hπΈF77_dsyr2βF77_GLOBAL(cdsyr2,CDSYR2), line 104 ofcblas_test.h.F77_dsyr2kβF77_GLOBAL(cdsyr2k,CDSYR2K), line 180 ofcblas_test.h.F77_dsyrkβF77_GLOBAL(cdsyrk,CDSYRK), line 179 ofcblas_test.hβF77_dtbmvβF77_GLOBAL(cdtbmv,CDTBMV), line 135 ofcblas_test.h.F77_dtbsvβF77_GLOBAL(cdtbsv,CDTBSV), line 138 ofcblas_test.h.F77_dtpmvβF77_GLOBAL(cdtpmv,CDTPMV), line 136 ofcblas_test.hπ§F77_dtpsvβF77_GLOBAL(cdtpsv,CDTPSV), line 139 ofcblas_test.h.F77_dtrmmβF77_GLOBAL(cdtrmm,CDTRMM), line 181 ofcblas_test.h.F77_dtrmvβF77_GLOBAL(cdtrmv,CDTRMV), line 134 ofcblas_test.hπF77_dtrsmβF77_GLOBAL(cdtrsm,CDTRSM), line 182 ofcblas_test.h.F77_dtrsvβF77_GLOBAL(cdtrsv,CDTRSV), line 137 ofcblas_test.h.F77_dzasumβF77_GLOBAL(dzasumtest,DZASUMTEST), line 81 ofcblas_test.hπ¦F77_dznrm2βF77_GLOBAL(dznrm2test,DZNRM2TEST), line 80 ofcblas_test.h.F77_icamaxβF77_GLOBAL(icamaxtest,ICAMAXTEST), line 56 ofcblas_test.h.F77_idamaxβF77_GLOBAL(idamaxtest,IDAMAXTEST), line 52 ofcblas_test.hβ¨F77_isamaxβF77_GLOBAL(isamaxtest,ISAMAXTEST), line 48 ofcblas_test.h.F77_izamaxβF77_GLOBAL(izamaxtest,IZAMAXTEST), line 60 ofcblas_test.h.F77_s2chkeβF77_GLOBAL(cs2chke,CS2CHKE), line 86 ofcblas_test.hπF77_s3chkeβF77_GLOBAL(cs3chke,CS3CHKE), line 159 ofcblas_test.h.F77_sasumβF77_GLOBAL(sasumtest,SASUMTEST), line 75 ofcblas_test.h.F77_saxpyβF77_GLOBAL(saxpytest,SAXPYTEST), line 47 ofcblas_test.hπ₯F77_scasumβF77_GLOBAL(scasumtest,SCASUMTEST), line 79 ofcblas_test.h.F77_scnrm2βF77_GLOBAL(scnrm2test,SCNRM2TEST), line 78 ofcblas_test.h.F77_scopyβF77_GLOBAL(scopytest,SCOPYTEST), line 46 ofcblas_test.hπF77_sdotβF77_GLOBAL(sdottest,SDOTTEST), line 61 ofcblas_test.h.F77_sdsdotβF77_GLOBAL(sdsdottest, SDSDOTTEST), line 82 ofcblas_test.h. And yes bestie, that space after the comma is exactly how it's written in the source β we do not touch the source. πF77_sgbmvβF77_GLOBAL(csgbmv,CSGBMV), line 125 ofcblas_test.h.F77_sgemmβF77_GLOBAL(csgemm,CSGEMM), line 169 ofcblas_test.hπF77_sgemmtrβF77_GLOBAL(csgemmtr,CSGEMMTR), line 170 ofcblas_test.h.F77_sgemvβF77_GLOBAL(csgemv,CSGEMV), line 124 ofcblas_test.h.F77_sgerβF77_GLOBAL(csger,CSGER), line 93 ofcblas_test.hπF77_snrm2βF77_GLOBAL(snrm2test,SNRM2TEST), line 74 ofcblas_test.h.F77_srotβF77_GLOBAL(srottest,SROTTEST), line 39 ofcblas_test.h.F77_srotgβF77_GLOBAL(srotgtest,SROTGTEST), line 37 ofcblas_test.hπ«ΆF77_srotmβF77_GLOBAL(srotmtest,SROTMTEST), line 40 ofcblas_test.h.F77_srotmgβF77_GLOBAL(srotmgtest,SROTMGTEST), line 38 ofcblas_test.h.F77_ssbmvβF77_GLOBAL(cssbmv,CSSBMV), line 91 ofcblas_test.hβF77_sscalβF77_GLOBAL(sscaltest,SSCALTEST), line 64 ofcblas_test.h.F77_sspmvβF77_GLOBAL(csspmv,CSSPMV), line 92 ofcblas_test.h.F77_ssprβF77_GLOBAL(csspr,CSSPR), line 95 ofcblas_test.hπF77_sspr2βF77_GLOBAL(csspr2,CSSPR2), line 97 ofcblas_test.h.F77_sswapβF77_GLOBAL(sswaptest,SSWAPTEST), line 45 ofcblas_test.h.F77_ssymmβF77_GLOBAL(cssymm,CSSYMM), line 171 ofcblas_test.hπ¦F77_ssymvβF77_GLOBAL(cssymv,CSSYMV), line 90 ofcblas_test.h.F77_ssyrβF77_GLOBAL(cssyr,CSSYR), line 94 ofcblas_test.h.F77_ssyr2βF77_GLOBAL(cssyr2,CSSYR2), line 96 ofcblas_test.hπF77_ssyr2kβF77_GLOBAL(cssyr2k,CSSYR2K), line 173 ofcblas_test.h.F77_ssyrkβF77_GLOBAL(cssyrk,CSSYRK), line 172 ofcblas_test.h.F77_stbmvβF77_GLOBAL(cstbmv,CSTBMV), line 127 ofcblas_test.hβ¨F77_stbsvβF77_GLOBAL(cstbsv,CSTBSV), line 130 ofcblas_test.h.F77_stpmvβF77_GLOBAL(cstpmv,CSTPMV), line 128 ofcblas_test.h.F77_stpsvβF77_GLOBAL(cstpsv,CSTPSV), line 131 ofcblas_test.hπF77_strmmβF77_GLOBAL(cstrmm,CSTRMM), line 174 ofcblas_test.h.F77_strmvβF77_GLOBAL(cstrmv,CSTRMV), line 126 ofcblas_test.h.F77_strsmβF77_GLOBAL(cstrsm,CSTRSM), line 175 ofcblas_test.hπ₯F77_strsvβF77_GLOBAL(cstrsv,CSTRSV), line 129 ofcblas_test.h.F77_xerblaβF77_GLOBAL(xerbla,XERBLA), line 33 ofcblas_test.h. The error handler herself, showing up first in the file β main character energy fr πF77_z2chkeβF77_GLOBAL(cz2chke,CZ2CHKE), line 89 ofcblas_test.h.F77_z3chkeβF77_GLOBAL(cz3chke,CZ3CHKE), line 162 ofcblas_test.hπΈF77_zaxpyβF77_GLOBAL(zaxpytest,ZAXPYTEST), line 59 ofcblas_test.h.F77_zcopyβF77_GLOBAL(zcopytest,ZCOPYTEST), line 58 ofcblas_test.h.F77_zdotcβF77_GLOBAL(zdotctest,ZDOTCTEST), line 73 ofcblas_test.hπ§F77_zdotuβF77_GLOBAL(zdotutest,ZDOTUTEST), line 72 ofcblas_test.h.F77_zdscalβF77_GLOBAL(zdscaltest,ZDSCALTEST), line 69 ofcblas_test.h.F77_zgbmvβF77_GLOBAL(czgbmv,CZGBMV), line 149 ofcblas_test.hπF77_zgemmβF77_GLOBAL(czgemm,CZGEMM), line 190 ofcblas_test.h.F77_zgemmtrβF77_GLOBAL(czgemmtr,CZGEMMTR), line 191 ofcblas_test.h.F77_zgemvβF77_GLOBAL(czgemv,CZGEMV), line 148 ofcblas_test.hβF77_zgercβF77_GLOBAL(czgerc,CZGERC), line 119 ofcblas_test.h.F77_zgeruβF77_GLOBAL(czgeru,CZGERU), line 118 ofcblas_test.h.F77_zhbmvβF77_GLOBAL(czhbmv,CZHBMV), line 116 ofcblas_test.hπF77_zhemmβF77_GLOBAL(czhemm,CZHEMM), line 166 ofcblas_test.h.F77_zhemvβF77_GLOBAL(czhemv,CZHEMV), line 115 ofcblas_test.h.F77_zherβF77_GLOBAL(czher,CZHER), line 120 ofcblas_test.hπF77_zher2βF77_GLOBAL(czher2,CZHER2), line 122 ofcblas_test.h.F77_zher2kβF77_GLOBAL(czher2k,CZHER2K), line 168 ofcblas_test.h.F77_zherkβF77_GLOBAL(czherk,CZHERK), line 167 ofcblas_test.hπ«Ά
And that's the batch, bestie β every single #define accounted for, line numbers and all, no skips, no merges, no "eh that one's basically the same as the last one" π we do NOT disrespect the header file like that.
F77_zhpmvβF77_GLOBAL(czhpmv,CZHPMV)β definition at line 117 of filecblas_test.h. Hermitian packed matrix-vector, but make it Fortran πF77_zhprβF77_GLOBAL(czhpr,CZHPR)β definition at line 121 of filecblas_test.h.F77_zhpr2βF77_GLOBAL(czhpr2,CZHPR2)β definition at line 123 of filecblas_test.h. The sequel to zhpr, and honestly? it ate.F77_zscalβF77_GLOBAL(zscaltest,ZSCALTEST)β definition at line 67 of filecblas_test.h. bestie note thetestin there, that's not a typo, that's literally the name πF77_zswapβF77_GLOBAL(zswaptest,ZSWAPTEST)β definition at line 57 of filecblas_test.h. again,testis load-bearing β¨F77_zsymmβF77_GLOBAL(czsymm,CZSYMM)β definition at line 192 of filecblas_test.h.F77_zsyr2kβF77_GLOBAL(czsyr2k,CZSYR2K)β definition at line 194 of filecblas_test.h.F77_zsyrkβF77_GLOBAL(czsyrk,CZSYRK)β definition at line 193 of filecblas_test.h.F77_ztbmvβF77_GLOBAL(cztbmv,CZTBMV)β definition at line 151 of filecblas_test.h.F77_ztbsvβF77_GLOBAL(cztbsv,CZTBSV)β definition at line 154 of filecblas_test.h.F77_ztpmvβF77_GLOBAL(cztpmv,CZTPMV)β definition at line 152 of filecblas_test.h.F77_ztpsvβF77_GLOBAL(cztpsv,CZTPSV)β definition at line 155 of filecblas_test.h.F77_ztrmmβF77_GLOBAL(cztrmm,CZTRMM)β definition at line 195 of filecblas_test.h.F77_ztrmvβF77_GLOBAL(cztrmv,CZTRMV)β definition at line 150 of filecblas_test.h.F77_ztrsmβF77_GLOBAL(cztrsm, CZTRSM)β definition at line 196 of filecblas_test.h. ok yes there's a space after that comma, it's in the source, don't come for me πF77_ztrsvβF77_GLOBAL(cztrsv,CZTRSV)β definition at line 153 of filecblas_test.h.
and now the little constants, the vibe-check squad of this header π«Ά
FAILEDβ0β definition at line 24 of filecblas_test.h. zero. nada. the flop era πFALSEβ0β definition at line 23 of filecblas_test.h.FORTRAN_STRLENβsize_tβ definition at line 16 of filecblas_test.h. it's giving "we're doing string lengths the Fortran way".INVALIDβ-1β definition at line 27 of filecblas_test.h. negative one, the universal "nope".PASSEDβ1β definition at line 20 of filecblas_test.h. the main character energy of constants honestly πTEST_COL_MJRβ0β definition at line 25 of filecblas_test.h.TEST_ROW_MJRβ1β definition at line 21 of filecblas_test.h.TRUEβ1β definition at line 19 of filecblas_test.h.UNDEFINEDβ-1β definition at line 28 of filecblas_test.h. same value asINVALID, different emotional damage.
π¦ FUNCTION DOCUMENTATION π¦
okay so these are the tiny translator besties β they take the character codes and hand you back the real enum. no cap, they're doing the Lord's work.
void get_diag_type (char * type, CBLAS_DIAG * diag)β definition at line 25 of fileauxiliary.c. you hand it achar *and it fills in yourCBLAS_DIAG *. slay.void get_side_type (char * type, CBLAS_SIDE * side)β definition at line 32 of fileauxiliary.c. same deal but forCBLAS_SIDE *, and it lives at line 32, so it's the last one in the file β¨void get_transpose_type (char * type, CBLAS_TRANSPOSE * trans)β definition at line 8 of fileauxiliary.c. the eldest sibling, first out the gate, iconic.void get_uplo_type (char * type, CBLAS_UPLO * uplo)β definition at line 18 of fileauxiliary.c. upper or lower, it'll tell you π₯
πΈ AUTHOR πΈ
Generated automatically by Doxygen for LAPACK from the source code. so likeβ¦ a robot wrote this page, and honestly the robot ate. π€π
fr fr remember:INVALIDandUNDEFINEDare both-1, so if you're out here testing one against the other, that's on you bestie π
mwah, that's the whole page β you made it to the end of all three parts, so proud of you π«Άβ¨
this one's from LAPACK, Version 3.12.0, and yes it's the CBLAS/incl...las_test.h(3) page β go drink some water and go call your F77_GLOBAL macros by their full names ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms