CBLAS/incl...las_test.h(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸ¦‹ 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_COMPLEX
  • struct 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_ztrsm really does have a space after the comma in the original and F77_sdsdot does 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 file cblas_test.h.
  • #define F77_c2chke F77_GLOBAL(cc2chke,CC2CHKE) β€” definition at line 88 of file cblas_test.h.
  • #define F77_c3chke F77_GLOBAL(cc3chke,CC3CHKE) β€” definition at line 161 of file cblas_test.h.
  • #define F77_caxpy F77_GLOBAL(caxpytest,CAXPYTEST) β€” definition at line 55 of file cblas_test.h.
  • #define F77_ccopy F77_GLOBAL(ccopytest,CCOPYTEST) β€” definition at line 54 of file cblas_test.h.
  • #define F77_cdotc F77_GLOBAL(cdotctest,CDOTCTEST) β€” definition at line 71 of file cblas_test.h.
  • #define F77_cdotu F77_GLOBAL(cdotutest,CDOTUTEST) β€” definition at line 70 of file cblas_test.h.
  • #define F77_cgbmv F77_GLOBAL(ccgbmv,CCGBMV) β€” definition at line 141 of file cblas_test.h.
  • #define F77_cgemm F77_GLOBAL(ccgemm,CCGEMM) β€” definition at line 183 of file cblas_test.h.
  • #define F77_cgemmtr F77_GLOBAL(ccgemmtr,CCGEMMTR) β€” definition at line 184 of file cblas_test.h.
  • #define F77_cgemv F77_GLOBAL(ccgemv,CCGEMV) β€” definition at line 140 of file cblas_test.h.
  • #define F77_cgerc F77_GLOBAL(ccgerc,CCGERC) β€” definition at line 110 of file cblas_test.h.
  • #define F77_cgeru F77_GLOBAL(ccgeru,CCGERU) β€” definition at line 109 of file cblas_test.h.
  • #define F77_chbmv F77_GLOBAL(cchbmv,CCHBMV) β€” definition at line 107 of file cblas_test.h.
  • #define F77_chemm F77_GLOBAL(cchemm,CCHEMM) β€” definition at line 163 of file cblas_test.h.
  • #define F77_chemv F77_GLOBAL(cchemv,CCHEMV) β€” definition at line 106 of file cblas_test.h.
  • #define F77_cher F77_GLOBAL(ccher,CCHER) β€” definition at line 111 of file cblas_test.h.
  • #define F77_cher2 F77_GLOBAL(ccher2,CCHER2) β€” definition at line 113 of file cblas_test.h.
  • #define F77_cher2k F77_GLOBAL(ccher2k,CCHER2K) β€” definition at line 165 of file cblas_test.h.
  • #define F77_cherk F77_GLOBAL(ccherk,CCHERK) β€” definition at line 164 of file cblas_test.h.
  • #define F77_chpmv F77_GLOBAL(cchpmv,CCHPMV) β€” definition at line 108 of file cblas_test.h.
  • #define F77_chpr F77_GLOBAL(cchpr,CCHPR) β€” definition at line 112 of file cblas_test.h.
  • #define F77_chpr2 F77_GLOBAL(cchpr2,CCHPR2) β€” definition at line 114 of file cblas_test.h.
  • #define F77_cscal F77_GLOBAL(cscaltest,CSCALTEST) β€” definition at line 66 of file cblas_test.h.
  • #define F77_csscal F77_GLOBAL(csscaltest,CSSCALTEST) β€” definition at line 68 of file cblas_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 to F77_GLOBAL(cswaptest,CSWAPTEST) πŸ¦‹ defined at line 53 of cblas_test.h.
  • F77_csymm β€” that's F77_GLOBAL(ccsymm,CCSYMM), defined at line 185 of cblas_test.h.
  • F77_csyr2k β€” F77_GLOBAL(ccsyr2k,CCSYR2K), line 187 of cblas_test.h ✨
  • F77_csyrk β€” F77_GLOBAL(ccsyrk,CCSYRK), line 186 of cblas_test.h.
  • F77_ctbmv β€” F77_GLOBAL(cctbmv,CCTBMV), line 143 of cblas_test.h πŸŽ€
  • F77_ctbsv β€” F77_GLOBAL(cctbsv,CCTBSV), line 146 of cblas_test.h.
  • F77_ctpmv β€” F77_GLOBAL(cctpmv,CCTPMV), line 144 of cblas_test.h.
  • F77_ctpsv β€” F77_GLOBAL(cctpsv,CCTPSV), line 147 of cblas_test.h ⭐
  • F77_ctrmm β€” F77_GLOBAL(cctrmm,CCTRMM), line 188 of cblas_test.h.
  • F77_ctrmv β€” F77_GLOBAL(cctrmv,CCTRMV), line 142 of cblas_test.h.
  • F77_ctrsm β€” F77_GLOBAL(cctrsm,CCTRSM), line 189 of cblas_test.h πŸ’–
  • F77_ctrsv β€” F77_GLOBAL(cctrsv,CCTRSV), line 145 of cblas_test.h.
  • F77_d2chke β€” F77_GLOBAL(cd2chke,CD2CHKE), line 87 of cblas_test.h.
  • F77_d3chke β€” F77_GLOBAL(cd3chke,CD3CHKE), line 160 of cblas_test.h 🌈
  • F77_dasum β€” F77_GLOBAL(dasumtest,DASUMTEST), line 77 of cblas_test.h.
  • F77_daxpy β€” F77_GLOBAL(daxpytest,DAXPYTEST), line 51 of cblas_test.h.
  • F77_dcopy β€” F77_GLOBAL(dcopytest,DCOPYTEST), line 50 of cblas_test.h 🫢
  • F77_ddot β€” F77_GLOBAL(ddottest,DDOTTEST), line 62 of cblas_test.h.
  • F77_dgbmv β€” F77_GLOBAL(cdgbmv,CDGBMV), line 133 of cblas_test.h.
  • F77_dgemm β€” F77_GLOBAL(cdgemm,CDGEMM), line 176 of cblas_test.h πŸ”₯
  • F77_dgemmtr β€” F77_GLOBAL(cdgemmtr,CDGEMMTR), line 177 of cblas_test.h.
  • F77_dgemv β€” F77_GLOBAL(cdgemv,CDGEMV), line 132 of cblas_test.h.
  • F77_dger β€” F77_GLOBAL(cdger,CDGER), line 101 of cblas_test.h πŸ¦‹
  • F77_dnrm2 β€” F77_GLOBAL(dnrm2test,DNRM2TEST), line 76 of cblas_test.h.
  • F77_drot β€” F77_GLOBAL(drottest,DROTTEST), line 43 of cblas_test.h.
  • F77_drotg β€” F77_GLOBAL(drotgtest,DROTGTEST), line 41 of cblas_test.h πŸ’œ
  • F77_drotm β€” F77_GLOBAL(drotmtest,DROTMTEST), line 44 of cblas_test.h.
  • F77_drotmg β€” F77_GLOBAL(drotmgtest,DROTMGTEST), line 42 of cblas_test.h.
  • F77_dsbmv β€” F77_GLOBAL(cdsbmv,CDSBMV), line 99 of cblas_test.h ✨
  • F77_dscal β€” F77_GLOBAL(dscaltest,DSCALTEST), line 65 of cblas_test.h.
  • F77_dsdot β€” F77_GLOBAL(dsdottest,DSDOTTEST), line 63 of cblas_test.h.
  • F77_dspmv β€” F77_GLOBAL(cdspmv,CDSPMV), line 100 of cblas_test.h πŸŽ€
  • F77_dspr β€” F77_GLOBAL(cdspr,CDSPR), line 103 of cblas_test.h.
  • F77_dspr2 β€” F77_GLOBAL(cdspr2,CDSPR2), line 105 of cblas_test.h.
  • F77_dswap β€” F77_GLOBAL(dswaptest,DSWAPTEST), line 49 of cblas_test.h πŸ’«
  • F77_dsymm β€” F77_GLOBAL(cdsymm,CDSYMM), line 178 of cblas_test.h.
  • F77_dsymv β€” F77_GLOBAL(cdsymv,CDSYMV), line 98 of cblas_test.h.
  • F77_dsyr β€” F77_GLOBAL(cdsyr,CDSYR), line 102 of cblas_test.h 🌸
  • F77_dsyr2 β€” F77_GLOBAL(cdsyr2,CDSYR2), line 104 of cblas_test.h.
  • F77_dsyr2k β€” F77_GLOBAL(cdsyr2k,CDSYR2K), line 180 of cblas_test.h.
  • F77_dsyrk β€” F77_GLOBAL(cdsyrk,CDSYRK), line 179 of cblas_test.h ⭐
  • F77_dtbmv β€” F77_GLOBAL(cdtbmv,CDTBMV), line 135 of cblas_test.h.
  • F77_dtbsv β€” F77_GLOBAL(cdtbsv,CDTBSV), line 138 of cblas_test.h.
  • F77_dtpmv β€” F77_GLOBAL(cdtpmv,CDTPMV), line 136 of cblas_test.h 🧚
  • F77_dtpsv β€” F77_GLOBAL(cdtpsv,CDTPSV), line 139 of cblas_test.h.
  • F77_dtrmm β€” F77_GLOBAL(cdtrmm,CDTRMM), line 181 of cblas_test.h.
  • F77_dtrmv β€” F77_GLOBAL(cdtrmv,CDTRMV), line 134 of cblas_test.h πŸ’–
  • F77_dtrsm β€” F77_GLOBAL(cdtrsm,CDTRSM), line 182 of cblas_test.h.
  • F77_dtrsv β€” F77_GLOBAL(cdtrsv,CDTRSV), line 137 of cblas_test.h.
  • F77_dzasum β€” F77_GLOBAL(dzasumtest,DZASUMTEST), line 81 of cblas_test.h πŸ¦‹
  • F77_dznrm2 β€” F77_GLOBAL(dznrm2test,DZNRM2TEST), line 80 of cblas_test.h.
  • F77_icamax β€” F77_GLOBAL(icamaxtest,ICAMAXTEST), line 56 of cblas_test.h.
  • F77_idamax β€” F77_GLOBAL(idamaxtest,IDAMAXTEST), line 52 of cblas_test.h ✨
  • F77_isamax β€” F77_GLOBAL(isamaxtest,ISAMAXTEST), line 48 of cblas_test.h.
  • F77_izamax β€” F77_GLOBAL(izamaxtest,IZAMAXTEST), line 60 of cblas_test.h.
  • F77_s2chke β€” F77_GLOBAL(cs2chke,CS2CHKE), line 86 of cblas_test.h πŸŽ€
  • F77_s3chke β€” F77_GLOBAL(cs3chke,CS3CHKE), line 159 of cblas_test.h.
  • F77_sasum β€” F77_GLOBAL(sasumtest,SASUMTEST), line 75 of cblas_test.h.
  • F77_saxpy β€” F77_GLOBAL(saxpytest,SAXPYTEST), line 47 of cblas_test.h πŸ”₯
  • F77_scasum β€” F77_GLOBAL(scasumtest,SCASUMTEST), line 79 of cblas_test.h.
  • F77_scnrm2 β€” F77_GLOBAL(scnrm2test,SCNRM2TEST), line 78 of cblas_test.h.
  • F77_scopy β€” F77_GLOBAL(scopytest,SCOPYTEST), line 46 of cblas_test.h πŸ’œ
  • F77_sdot β€” F77_GLOBAL(sdottest,SDOTTEST), line 61 of cblas_test.h.
  • F77_sdsdot β€” F77_GLOBAL(sdsdottest, SDSDOTTEST), line 82 of cblas_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 of cblas_test.h.
  • F77_sgemm β€” F77_GLOBAL(csgemm,CSGEMM), line 169 of cblas_test.h 🌟
  • F77_sgemmtr β€” F77_GLOBAL(csgemmtr,CSGEMMTR), line 170 of cblas_test.h.
  • F77_sgemv β€” F77_GLOBAL(csgemv,CSGEMV), line 124 of cblas_test.h.
  • F77_sger β€” F77_GLOBAL(csger,CSGER), line 93 of cblas_test.h 🌈
  • F77_snrm2 β€” F77_GLOBAL(snrm2test,SNRM2TEST), line 74 of cblas_test.h.
  • F77_srot β€” F77_GLOBAL(srottest,SROTTEST), line 39 of cblas_test.h.
  • F77_srotg β€” F77_GLOBAL(srotgtest,SROTGTEST), line 37 of cblas_test.h 🫢
  • F77_srotm β€” F77_GLOBAL(srotmtest,SROTMTEST), line 40 of cblas_test.h.
  • F77_srotmg β€” F77_GLOBAL(srotmgtest,SROTMGTEST), line 38 of cblas_test.h.
  • F77_ssbmv β€” F77_GLOBAL(cssbmv,CSSBMV), line 91 of cblas_test.h ⭐
  • F77_sscal β€” F77_GLOBAL(sscaltest,SSCALTEST), line 64 of cblas_test.h.
  • F77_sspmv β€” F77_GLOBAL(csspmv,CSSPMV), line 92 of cblas_test.h.
  • F77_sspr β€” F77_GLOBAL(csspr,CSSPR), line 95 of cblas_test.h πŸ’…
  • F77_sspr2 β€” F77_GLOBAL(csspr2,CSSPR2), line 97 of cblas_test.h.
  • F77_sswap β€” F77_GLOBAL(sswaptest,SSWAPTEST), line 45 of cblas_test.h.
  • F77_ssymm β€” F77_GLOBAL(cssymm,CSSYMM), line 171 of cblas_test.h πŸ¦‹
  • F77_ssymv β€” F77_GLOBAL(cssymv,CSSYMV), line 90 of cblas_test.h.
  • F77_ssyr β€” F77_GLOBAL(cssyr,CSSYR), line 94 of cblas_test.h.
  • F77_ssyr2 β€” F77_GLOBAL(cssyr2,CSSYR2), line 96 of cblas_test.h πŸ“
  • F77_ssyr2k β€” F77_GLOBAL(cssyr2k,CSSYR2K), line 173 of cblas_test.h.
  • F77_ssyrk β€” F77_GLOBAL(cssyrk,CSSYRK), line 172 of cblas_test.h.
  • F77_stbmv β€” F77_GLOBAL(cstbmv,CSTBMV), line 127 of cblas_test.h ✨
  • F77_stbsv β€” F77_GLOBAL(cstbsv,CSTBSV), line 130 of cblas_test.h.
  • F77_stpmv β€” F77_GLOBAL(cstpmv,CSTPMV), line 128 of cblas_test.h.
  • F77_stpsv β€” F77_GLOBAL(cstpsv,CSTPSV), line 131 of cblas_test.h πŸ’–
  • F77_strmm β€” F77_GLOBAL(cstrmm,CSTRMM), line 174 of cblas_test.h.
  • F77_strmv β€” F77_GLOBAL(cstrmv,CSTRMV), line 126 of cblas_test.h.
  • F77_strsm β€” F77_GLOBAL(cstrsm,CSTRSM), line 175 of cblas_test.h πŸ”₯
  • F77_strsv β€” F77_GLOBAL(cstrsv,CSTRSV), line 129 of cblas_test.h.
  • F77_xerbla β€” F77_GLOBAL(xerbla,XERBLA), line 33 of cblas_test.h. The error handler herself, showing up first in the file β€” main character energy fr πŸ‘‘
  • F77_z2chke β€” F77_GLOBAL(cz2chke,CZ2CHKE), line 89 of cblas_test.h.
  • F77_z3chke β€” F77_GLOBAL(cz3chke,CZ3CHKE), line 162 of cblas_test.h 🌸
  • F77_zaxpy β€” F77_GLOBAL(zaxpytest,ZAXPYTEST), line 59 of cblas_test.h.
  • F77_zcopy β€” F77_GLOBAL(zcopytest,ZCOPYTEST), line 58 of cblas_test.h.
  • F77_zdotc β€” F77_GLOBAL(zdotctest,ZDOTCTEST), line 73 of cblas_test.h 🧚
  • F77_zdotu β€” F77_GLOBAL(zdotutest,ZDOTUTEST), line 72 of cblas_test.h.
  • F77_zdscal β€” F77_GLOBAL(zdscaltest,ZDSCALTEST), line 69 of cblas_test.h.
  • F77_zgbmv β€” F77_GLOBAL(czgbmv,CZGBMV), line 149 of cblas_test.h πŸ’œ
  • F77_zgemm β€” F77_GLOBAL(czgemm,CZGEMM), line 190 of cblas_test.h.
  • F77_zgemmtr β€” F77_GLOBAL(czgemmtr,CZGEMMTR), line 191 of cblas_test.h.
  • F77_zgemv β€” F77_GLOBAL(czgemv,CZGEMV), line 148 of cblas_test.h ⭐
  • F77_zgerc β€” F77_GLOBAL(czgerc,CZGERC), line 119 of cblas_test.h.
  • F77_zgeru β€” F77_GLOBAL(czgeru,CZGERU), line 118 of cblas_test.h.
  • F77_zhbmv β€” F77_GLOBAL(czhbmv,CZHBMV), line 116 of cblas_test.h πŸŽ€
  • F77_zhemm β€” F77_GLOBAL(czhemm,CZHEMM), line 166 of cblas_test.h.
  • F77_zhemv β€” F77_GLOBAL(czhemv,CZHEMV), line 115 of cblas_test.h.
  • F77_zher β€” F77_GLOBAL(czher,CZHER), line 120 of cblas_test.h 🌈
  • F77_zher2 β€” F77_GLOBAL(czher2,CZHER2), line 122 of cblas_test.h.
  • F77_zher2k β€” F77_GLOBAL(czher2k,CZHER2K), line 168 of cblas_test.h.
  • F77_zherk β€” F77_GLOBAL(czherk,CZHERK), line 167 of cblas_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 file cblas_test.h. Hermitian packed matrix-vector, but make it Fortran πŸ’…
  • F77_zhpr β†’ F77_GLOBAL(czhpr,CZHPR) β€” definition at line 121 of file cblas_test.h.
  • F77_zhpr2 β†’ F77_GLOBAL(czhpr2,CZHPR2) β€” definition at line 123 of file cblas_test.h. The sequel to zhpr, and honestly? it ate.
  • F77_zscal β†’ F77_GLOBAL(zscaltest,ZSCALTEST) β€” definition at line 67 of file cblas_test.h. bestie note the test in there, that's not a typo, that's literally the name πŸ’–
  • F77_zswap β†’ F77_GLOBAL(zswaptest,ZSWAPTEST) β€” definition at line 57 of file cblas_test.h. again, test is load-bearing ✨
  • F77_zsymm β†’ F77_GLOBAL(czsymm,CZSYMM) β€” definition at line 192 of file cblas_test.h.
  • F77_zsyr2k β†’ F77_GLOBAL(czsyr2k,CZSYR2K) β€” definition at line 194 of file cblas_test.h.
  • F77_zsyrk β†’ F77_GLOBAL(czsyrk,CZSYRK) β€” definition at line 193 of file cblas_test.h.
  • F77_ztbmv β†’ F77_GLOBAL(cztbmv,CZTBMV) β€” definition at line 151 of file cblas_test.h.
  • F77_ztbsv β†’ F77_GLOBAL(cztbsv,CZTBSV) β€” definition at line 154 of file cblas_test.h.
  • F77_ztpmv β†’ F77_GLOBAL(cztpmv,CZTPMV) β€” definition at line 152 of file cblas_test.h.
  • F77_ztpsv β†’ F77_GLOBAL(cztpsv,CZTPSV) β€” definition at line 155 of file cblas_test.h.
  • F77_ztrmm β†’ F77_GLOBAL(cztrmm,CZTRMM) β€” definition at line 195 of file cblas_test.h.
  • F77_ztrmv β†’ F77_GLOBAL(cztrmv,CZTRMV) β€” definition at line 150 of file cblas_test.h.
  • F77_ztrsm β†’ F77_GLOBAL(cztrsm, CZTRSM) β€” definition at line 196 of file cblas_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 file cblas_test.h.

and now the little constants, the vibe-check squad of this header 🫢

  • FAILED β†’ 0 β€” definition at line 24 of file cblas_test.h. zero. nada. the flop era πŸ’€
  • FALSE β†’ 0 β€” definition at line 23 of file cblas_test.h.
  • FORTRAN_STRLEN β†’ size_t β€” definition at line 16 of file cblas_test.h. it's giving "we're doing string lengths the Fortran way".
  • INVALID β†’ -1 β€” definition at line 27 of file cblas_test.h. negative one, the universal "nope".
  • PASSED β†’ 1 β€” definition at line 20 of file cblas_test.h. the main character energy of constants honestly πŸ‘‘
  • TEST_COL_MJR β†’ 0 β€” definition at line 25 of file cblas_test.h.
  • TEST_ROW_MJR β†’ 1 β€” definition at line 21 of file cblas_test.h.
  • TRUE β†’ 1 β€” definition at line 19 of file cblas_test.h.
  • UNDEFINED β†’ -1 β€” definition at line 28 of file cblas_test.h. same value as INVALID, 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 file auxiliary.c. you hand it a char * and it fills in your CBLAS_DIAG *. slay.
  • void get_side_type (char * type, CBLAS_SIDE * side) β€” definition at line 32 of file auxiliary.c. same deal but for CBLAS_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 file auxiliary.c. the eldest sibling, first out the gate, iconic.
  • void get_uplo_type (char * type, CBLAS_UPLO * uplo) β€” definition at line 18 of file auxiliary.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: INVALID and UNDEFINED are 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