F77_UL(3)

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

πŸ¦‹ CBLAS/src/cblas_cgemmtr.c β€” a Library Functions Manual moment πŸ¦‹

okay bestie, so this is one of those auto-generated CBLAS pages, and honestly? it's giving "reference card that lives in the header files." it does not ship with a long paragraph of lore. what it does ship with is macros, a function signature, and a vibe. let's get into it πŸ’…


✨ NAME ✨

CBLAS/src/cblas_cgemmtr.c β€” literally just the file, bestie. that's the whole name section. no cap. πŸŽ€


✨ SYNOPSIS ✨

first, the includes β€” copy these exactly, don't go "fixing" the quotes on me:

#include 'cblas.h'
#include 'cblas_f77.h'

🌸 Macros

this is the little preprocessor family that this file defines, all eight of them, in the order the page gives them:

  • #define F77_TA &TA
  • #define F77_TB &TB
  • #define F77_UL &UL
  • #define F77_N N
  • #define F77_K K
  • #define F77_lda lda
  • #define F77_ldb ldb
  • #define F77_ldc ldc

🌸 Functions

there's exactly one function here and she is the main character:

void API_SUFFIX cblas_cgemmtr (const CBLAS_LAYOUT layout, const
    CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE
    TransB, const CBLAS_INT N, const CBLAS_INT K, const void *alpha,
    const void *A, const CBLAS_INT lda, const void *B, const CBLAS_INT
    ldb, const void *beta, void *C, const CBLAS_INT ldc)

✨ Macro Definition Documentation ✨

this section is the macros again β€” same eight, just introduced in a different order. yes, both lists exist. no, we're not skipping one. we don't do that here 🫢

  • #define F77_K K β€” K, forwarded.
  • #define F77_lda lda β€” lda, forwarded.
  • #define F77_ldb ldb β€” ldb, forwarded.
  • #define F77_ldc ldc β€” ldc, forwarded.
  • #define F77_N N β€” N, forwarded.
  • #define F77_TA &TA β€” the address of TA, bestie. that ampersand is doing real work ✨
  • #define F77_TB &TB β€” the address of TB. same energy.
  • #define F77_UL &UL β€” the address of UL. the UPLO one. this is literally the macro in the page title, so yeah, she's iconic πŸ‘‘

✨ Function Documentation ✨

πŸŽ€ cblas_cgemmtr

here's the full signature, verbatim, do not touch:

void API_SUFFIX cblas_cgemmtr (const CBLAS_LAYOUT layout, const CBLAS_UPLO
    Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB, const
    CBLAS_INT N, const CBLAS_INT K, const void * alpha, const void * A,
    const CBLAS_INT lda, const void * B, const CBLAS_INT ldb, const void *
    beta, void * C, const CBLAS_INT ldc)

and the only extra detail the page gives you about her: Definition at line 12 of file cblas_cgemmtr.c. line twelve. twelve lines in and we're already at the function. she does not waste time πŸ’€

ngl, important vibe check: this page tells you the signature and where it's defined, and that is it. no parameter descriptions, no return value, no examples, no caveats. if you go looking for more on this page, you will not find it β€” and i'm not about to invent any for you. 🫢

✨ Author ✨

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this, bestie, a robot did, and honestly it ate πŸ€–βœ¨


and that's the whole page, fr fr. this little doc came straight out of LAPACK, Version 3.12.0 β€” the CBLAS/src file page for cblas_cgemmtr.c, section 3, and it's dated exactly as the footer says it is (the footer's got the source and version, and the rest is Doxygen doing its thing). stan a machine-generated reference. mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from