CBLAS/src/cblas_chpr2.c(3)

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

πŸ’… CBLAS/src/cblas_chpr2.c(3) β€” like, the whole manual, but make it make sense

okay so bestie welcome to the CBLAS/src/cblas_chpr2.c(3) page β€” part of the Library Functions Manual vibe. this is the one that's giving "rank-2 update of a Hermitian packed matrix" energy, and honestly? we're gonna read it together, no stress πŸ’–


✨ NAME ✨

CBLAS/src/cblas_chpr2.c β€” that's it, that's the name, that's the whole identity πŸŽ€ this is the file-slash-page you're looking at, and she is lowkey the main character of this doc.


🌸 SYNOPSIS 🌸

here's the lineup of what gets pulled in, straight up, no edits:

#include <stdio.h>
#include <stdlib.h>
#include 'cblas.h'
#include 'cblas_f77.h'
ngl the quote-style includes are exactly how they're written in the original β€” not me changing anything, fr fr πŸ™ˆ

πŸ¦‹ Macros

these lil cuties get defined, and like, they're not doing anything mysterious:

  • #define F77_UL &UL β€” grabs the address of UL, slay
  • #define F77_N N β€” N is N, iconic, no notes
  • #define F77_incX incx β€” incX becomes incx, lowercase era
  • #define F77_incY incy β€” same deal for incY β†’ incy, periodt

🧚 Functions

one (1) function, and here she is in all her glory:

void API_SUFFIX cblas_chpr2 (const CBLAS_LAYOUT layout, const CBLAS_UPLO
    Uplo, const CBLAS_INT N, const void *alpha, const void *X, const
    CBLAS_INT incX, const void *Y, const CBLAS_INT incY, void *Ap)

that's void, that's the API_SUFFIX, that's every single parameter β€” layout, Uplo, N, alpha, X, incX, Y, incY, Ap β€” all accounted for, we don't lose a single one in this house πŸ’œ


🌈 Macro Definition Documentation 🌈

okay so the doc section that's literally just the same four macros again, but now with their own little heading. we love consistency πŸ’…

#define F77_incX incx

she maps incX onto incx. that's her whole job. and she ate πŸ”₯

#define F77_incY incy

the Y counterpart, doing the exact same thing but for incY β†’ incy. matching set, cute πŸŽ€

#define F77_N N

N equals N. deep, honestly. iconic. no cap.

#define F77_UL &UL

takes the address of UL β€” the & is doing the heavy lifting here and we respect it 🫢


⭐ Function Documentation ⭐

void API_SUFFIX cblas_chpr2 (const CBLAS_LAYOUT layout, const CBLAS_UPLO Uplo, const CBLAS_INT N, const void * alpha, const void * X, const CBLAS_INT incX, const void * Y, const CBLAS_INT incY, void * Ap)

here's the full signature again, bestie, because we do not gatekeep:

void API_SUFFIX cblas_chpr2 (const CBLAS_LAYOUT layout, const CBLAS_UPLO
    Uplo, const CBLAS_INT N, const void * alpha, const void * X, const
    CBLAS_INT incX, const void * Y, const CBLAS_INT incY, void * Ap)

and the documented fact you actually need: Definition at line 12 of file cblas_chpr2.c. like, that's where she lives, on line 12, at home, thriving ✨

heads up: this page gives you the signature and the location and the macros β€” that's genuinely all it says. it's not out here explaining the math, so neither am I. we stay factual in this group chat 😭

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.

so yeah β€” nobody hand-wrote this, Doxygen just did its thing and we're grateful πŸ™ it's giving "auto-generated but make it fashion."


πŸ’– that's the whole page! every macro, every parameter, every line number, all present and accounted for. mwah 🫢

β€” LAPACK, Version 3.12.0, CBLAS/src/cblas_chpr2.c(3) β€” okay bye bestie, go update that Hermitian packed matrix, you're gonna slay πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from