lapacke_utils.h(3)

๐Ÿ“ฆ version 3.9.0, in centos-stream 9

๐Ÿ’… lapacke_utils.h(3) โ€” the LAPACK one, bestie

okay so this is lapacke_utils.h, straight out of the LAPACK manual, section 3. it's a header full of tiny helper macros that the LAPACKE world leans on, and honestly? it's giving "small but iconic." ๐ŸŽ€


โœจ NAME โœจ

lapacke_utils.h โ€” that's it, that's the name, no cap. it's a header file, and this page is its whole personality. ๐Ÿฆ‹


๐ŸŒธ SYNOPSIS ๐ŸŒธ

you pull it in like this, literally just this one line:

#include 'lapacke.h'

(yeah, the include line is spelled exactly like that on this page โ€” keep it as-is, bestie, i don't make the rules ๐Ÿ’…)

๐ŸŽ€ Macros ๐ŸŽ€

okay so here's the whole squad of macros. every single one, in order, exactly how they're written. these are the little one-liners doing the actual work ๐Ÿซถ

  • #define ABS(x) (((x) < 0) ? -(x) : (x)) โ€” absolute value, but make it a macro. if x is less than zero it flips the sign, otherwise it leaves x alone. classic. โญ
  • #define MAX(x, y) (((x) > (y)) ? (x) : (y)) โ€” the bigger one of the two. x wins if it beats y, otherwise y takes it. ๐Ÿ‘‘
  • #define MIN(x, y) (((x) < (y)) ? (x) : (y)) โ€” the smaller one. same energy, opposite direction. ๐Ÿฆ‹
  • #define MAX3(x, y, z) (((x) > MAX(y,z)) ? (x) : MAX(y,z)) โ€” three-way max, built on top of MAX. so if x beats the winner of y vs z, x slays; otherwise the MAX(y,z) champ takes it. ๐Ÿ”ฅ
  • #define MIN3(x, y, z) (((x) < MIN(y,z)) ? (x) : MIN(y,z)) โ€” three-way min, same deal but with MIN. ๐ŸŒธ
  • #define IS_S_NONZERO(x) ( (x) < 0 || (x) > 0 ) โ€” single-precision "is this thing not zero?" check. true if x is below zero or above zero. ๐Ÿงš
  • #define IS_D_NONZERO(x) ( (x) < 0 || (x) > 0 ) โ€” double-precision version of the exact same check. same body, different letter. ๐Ÿ’œ
  • #define IS_C_NONZERO(x) โ€” the single-complex "is it nonzero?" check. heads up: this page doesn't show a body for it, so that's all we're getting here ๐Ÿ™ˆ
  • #define IS_Z_NONZERO(x) โ€” the double-complex "is it nonzero?" check, and same situation: no body listed on this page. ๐Ÿ’€
  • #define LAPACK_SISNAN(x) ( x != x ) โ€” single-precision NaN detector, and the trick is genuinely iconic: NaN is the one thing that isn't equal to itself, so x != x catches it. ๐Ÿ˜ญ
  • #define LAPACK_DISNAN(x) ( x != x ) โ€” double-precision NaN detector, same trick, same x != x. โœจ
  • #define LAPACK_CISNAN(x) โ€” single-complex NaN check, and once again this page doesn't spell out the body, so no invented details from me ๐ŸŽ€
  • #define LAPACK_ZISNAN(x) โ€” double-complex NaN check, body not shown here either. ๐Ÿฆ‹
lowkey important: ABS, MAX, MIN, MAX3, MIN3 and the IS_*/LAPACK_*ISNAN friends are all macros, so they're pasted in as text, not called like functions โ€” that's just what a #define is, no extra lore needed ๐Ÿ’…

more parts are coming, so don't go anywhere bestie ๐Ÿซถ

โœจ Functions โœจ

Okay bestie, this is the part where the header blesses you with actual callable functions โ€” and there are so many of them. Like, seventy-something. I'm not exaggerating, I counted. They mostly come in four flavours (c, d, s, z) and they're all void except the two that actually tell you something. Let's go ๐Ÿซถ


๐ŸŽ€ the little helpers

  • LAPACKE_xerbla โ€” the error-reporting bestie. You hand it a routine name and an info code, that's it, that's the whole vibe.
void LAPACKE_xerbla (const char *name, lapack_int info)
  • LAPACKE_lsame โ€” compares two chars ca and cb and hands you back a lapack_logical. The l is doing a LOT of work in that name, iykyk.
lapack_logical LAPACKE_lsame (char ca, char cb)

๐Ÿ’œ single precision complex โ€” the cโ€ฆ squad

  • LAPACKE_cgb_trans โ€” the general band one: m, n, kl, ku, reads from in with ldin, writes to out with ldout.
void LAPACKE_cgb_trans (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_cge_trans โ€” general matrix energy. m, n, in/ldin in, out/ldout out โœจ
void LAPACKE_cge_trans (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_cgg_trans โ€” the gg variant, same m/n/ldin/ldout situation.
void LAPACKE_cgg_trans (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_chb_trans โ€” takes a uplo, an n, and a bandwidth kd.
void LAPACKE_chb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_che_trans โ€” uplo + n, no kd here, she's simpler than her banded sister ๐Ÿ’…
void LAPACKE_che_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_chp_trans โ€” packed, so no ldin/ldout at all. Just in and out, living their best lives.
void LAPACKE_chp_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
  • LAPACKE_chs_trans โ€” matrix_layout, n, in/ldin, out/ldout. No uplo, no notes.
void LAPACKE_chs_trans (int matrix_layout, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_cpb_trans โ€” positive-definite and banded, so she gets uplo AND kd. Main character.
void LAPACKE_cpb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_cpf_trans โ€” packed and rectangular-ish, so you get transr and uplo, and no leading dimensions. Iconic.
void LAPACKE_cpf_trans (int matrix_layout, char transr, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
  • LAPACKE_cpo_trans โ€” uplo, n, in/ldin, out/ldout.
void LAPACKE_cpo_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_cpp_trans โ€” packed, uplo, n, in, out. Clean, minimal, obsessed.
void LAPACKE_cpp_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
  • LAPACKE_csp_trans โ€” same packed uplo/n/in/out shape as above, different sp energy.
void LAPACKE_csp_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
  • LAPACKE_csy_trans โ€” uplo, n, and both leading dimensions because she is not packed, bestie.
void LAPACKE_csy_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_ctb_trans โ€” triangular banded: uplo, diag, n, kd. Four arguments of pure chaos ๐Ÿฆ‹
void LAPACKE_ctb_trans (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
  • LAPACKE_ctf_trans โ€” packed triangular, so transr, uplo, diag, n, and just the two pointers.
void LAPACKE_ctf_trans (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
  • LAPACKE_ctp_trans โ€” packed triangular, no transr, no leading dimensions.
void LAPACKE_ctp_trans (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
  • LAPACKE_ctr_trans โ€” the full triangular treatment: uplo, diag, n, in/ldin, out/ldout. Slay.
void LAPACKE_ctr_trans (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)

๐ŸŒธ double precision โ€” the dโ€ฆ squad

  • LAPACKE_dgb_trans โ€” general band, double. m, n, kl, ku, in/ldin, out/ldout โ€” the full set, no cap.
void LAPACKE_dgb_trans (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dge_trans โ€” the classic. m, n, double pointers, done.
void LAPACKE_dge_trans (int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dgg_trans โ€” same shape as dge, gg branding.
void LAPACKE_dgg_trans (int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dhs_trans โ€” just matrix_layout, n, and the four array-ish things. Short and sweet ๐Ÿ“
void LAPACKE_dhs_trans (int matrix_layout, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dpb_trans โ€” banded + uplo + kd + both leading dims.
void LAPACKE_dpb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dpf_trans โ€” packed, transr, uplo, n, and no leading dimensions at all.
void LAPACKE_dpf_trans (int matrix_layout, char transr, char uplo, lapack_int n, const double *in, double *out)
  • LAPACKE_dpo_trans โ€” uplo, n, in/ldin, out/ldout.
void LAPACKE_dpo_trans (int matrix_layout, char uplo, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dpp_trans โ€” packed uplo/n/in/out, four arguments and a dream.
void LAPACKE_dpp_trans (int matrix_layout, char uplo, lapack_int n, const double *in, double *out)
  • LAPACKE_dsb_trans โ€” symmetric banded: uplo, n, kd, both leading dimensions.
void LAPACKE_dsb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dsp_trans โ€” symmetric packed, uplo, n, in, out.
void LAPACKE_dsp_trans (int matrix_layout, char uplo, lapack_int n, const double *in, double *out)
  • LAPACKE_dsy_trans โ€” symmetric, unpacked, leading dimensions included โœจ
void LAPACKE_dsy_trans (int matrix_layout, char uplo, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dtb_trans โ€” triangular banded: uplo, diag, n, kd, dims, dims.
void LAPACKE_dtb_trans (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
  • LAPACKE_dtf_trans โ€” packed triangular with transr AND uplo AND diag. She's booked and busy ๐Ÿ’€
void LAPACKE_dtf_trans (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const double *in, double *out)
  • LAPACKE_dtp_trans โ€” packed triangular, uplo, diag, n, in, out.
void LAPACKE_dtp_trans (int matrix_layout, char uplo, char diag, lapack_int n, const double *in, double *out)
  • LAPACKE_dtr_trans โ€” triangular, unpacked, uplo, diag, n, in/ldin, out/ldout.
void LAPACKE_dtr_trans (int matrix_layout, char uplo, char diag, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)

๐Ÿฆ‹ single precision โ€” the sโ€ฆ squad

  • LAPACKE_sgb_trans โ€” general band, float edition. m, n, kl, ku, both dims ๐ŸŽ€
void LAPACKE_sgb_trans (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_sge_trans โ€” the float general matrix one. You know her, you love her.
void LAPACKE_sge_trans (int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_sgg_trans โ€” gg but float, same m/n/ldin/ldout deal.
void LAPACKE_sgg_trans (int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_shs_trans โ€” n and the four array params. No uplo in sight, that's her vibe.
void LAPACKE_shs_trans (int matrix_layout, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_spb_trans โ€” banded, uplo, kd, both leading dimensions. Full house.
void LAPACKE_spb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_spf_trans โ€” packed, transr, uplo, n, in, out. Periodt.
void LAPACKE_spf_trans (int matrix_layout, char transr, char uplo, lapack_int n, const float *in, float *out)
  • LAPACKE_spo_trans โ€” uplo, n, in/ldin, out/ldout.
void LAPACKE_spo_trans (int matrix_layout, char uplo, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_spp_trans โ€” packed, uplo, n, in, out. Zero leading dimensions, zero problems.
void LAPACKE_spp_trans (int matrix_layout, char uplo, lapack_int n, const float *in, float *out)
  • LAPACKE_ssb_trans โ€” symmetric banded, uplo, n, kd, plus both dims.
void LAPACKE_ssb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_ssp_trans โ€” symmetric packed, uplo, n, in, out.
void LAPACKE_ssp_trans (int matrix_layout, char uplo, lapack_int n, const float *in, float *out)
  • LAPACKE_ssy_trans โ€” symmetric and unpacked, so the leading dimensions are back ๐Ÿ’…
void LAPACKE_ssy_trans (int matrix_layout, char uplo, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_stb_trans โ€” triangular banded: uplo, diag, n, kd, dims, dims.
void LAPACKE_stb_trans (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const float *in, lapack_int ldin, float *out, lapack_int ldout)
  • LAPACKE_stf_trans โ€” packed triangular with all three char flags: transr, uplo, diag. She has range ๐ŸŒˆ
void LAPACKE_stf_trans (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const float *in, float *out)
  • LAPACKE_stp_trans โ€” packed triangular, uplo, diag, n, in, out.
void LAPACKE_stp_trans (int matrix_layout, char uplo, char diag, lapack_int n, const float *in, float *out)
  • LAPACKE_str_trans โ€” triangular, unpacked, uplo, diag, n, in/ldin, out/ldout. Gorgeous.
void LAPACKE_str_trans (int matrix_layout, char uplo, char diag, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)

๐Ÿ‘‘ double precision complex โ€” the zโ€ฆ squad

  • LAPACKE_zgb_trans โ€” general band, lapack_complex_double edition. m, n, kl, ku, both dims.
void LAPACKE_zgb_trans (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zge_trans โ€” the big one. General, double complex, m ร— n, both leading dims ๐ŸŒŸ
void LAPACKE_zge_trans (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zgg_trans โ€” gg, double complex, same shape as zge.
void LAPACKE_zgg_trans (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zhb_trans โ€” banded, uplo, n, kd, plus the two leading dimensions.
void LAPACKE_zhb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zhe_trans โ€” uplo, n, no kd, both dims.
void LAPACKE_zhe_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zhp_trans โ€” packed, so just uplo, n, in, out. Minimalist queen.
void LAPACKE_zhp_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
  • LAPACKE_zhs_trans โ€” matrix_layout, n, and the four array params, no uplo.
void LAPACKE_zhs_trans (int matrix_layout, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zpb_trans โ€” banded + uplo + kd + both dims. The full entourage.
void LAPACKE_zpb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zpf_trans โ€” packed, transr, uplo, n, in, out. Two chars and a dream ๐Ÿ’œ
void LAPACKE_zpf_trans (int matrix_layout, char transr, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
  • LAPACKE_zpo_trans โ€” uplo, n, in/ldin, out/ldout.
void LAPACKE_zpo_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_zpp_trans โ€” packed uplo/n/in/out, enjoy โœจ
void LAPACKE_zpp_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
  • LAPACKE_zsp_trans โ€” symmetric packed, same four-argument shape.
void LAPACKE_zsp_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
  • LAPACKE_zsy_trans โ€” symmetric unpacked, so the leading dimensions make their comeback ๐ŸŽ€
void LAPACKE_zsy_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_ztb_trans โ€” triangular banded: uplo, diag, n, kd, dims, dims.
void LAPACKE_ztb_trans (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
  • LAPACKE_ztf_trans โ€” packed triangular, all three char params: transr, uplo, diag.
void LAPACKE_ztf_trans (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
  • LAPACKE_ztp_trans โ€” packed triangular, uplo, diag, n, in, out.
void LAPACKE_ztp_trans (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
  • LAPACKE_ztr_trans โ€” triangular, unpacked, full param list. Final boss of the translators ๐Ÿ”ฅ
void LAPACKE_ztr_trans (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)

๐Ÿงš the nancheck crew

These ones actually return something โ€” a lapack_logical โ€” so they're the ones with opinions. First the flat vector ones, n elements, stride incx:

  • LAPACKE_c_nancheck โ€” complex float vector, n elements, stride incx.
lapack_logical LAPACKE_c_nancheck (lapack_int n, const lapack_complex_float *x, lapack_int incx)
  • LAPACKE_d_nancheck โ€” double vector, n, x, incx.
lapack_logical LAPACKE_d_nancheck (lapack_int n, const double *x, lapack_int incx)
  • LAPACKE_s_nancheck โ€” float vector, n, x, incx.
lapack_logical LAPACKE_s_nancheck (lapack_int n, const float *x, lapack_int incx)
  • LAPACKE_z_nancheck โ€” complex double vector, n, x, incx.
lapack_logical LAPACKE_z_nancheck (lapack_int n, const lapack_complex_double *x, lapack_int incx)

And then the matrix-flavoured checks, which take a matrix_layout and a leading dimension like the fancy translators do:

  • LAPACKE_cgb_nancheck โ€” band storage check: matrix_layout, m, n, kl, ku, ab, ldab.
lapack_logical LAPACKE_cgb_nancheck (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_float *ab, lapack_int ldab)
  • LAPACKE_cge_nancheck โ€” general matrix check: matrix_layout, m, n, a, lda.
lapack_logical LAPACKE_cge_nancheck (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *a, lapack_int lda)
  • LAPACKE_cgg_nancheck โ€” gg version, same matrix_layout, m, n, a, lda situation.
lapack_logical LAPACKE_cgg_nancheck (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *a, lapack_int lda)
okay that's the function list, bestie โ€” but we are not done, there's more page coming, don't close the tab ๐Ÿ’–

okay so this is the rest of the function lineup โ€” and I mean all of them, bestie, we are not skipping a single one ๐Ÿ’…. Every single one of these hands back a lapack_logical, so it's a straight yes-or-no vibe.

First up, the c crew โ€” lapack_complex_float everything, complex-float energy only ๐Ÿ’œ:

  • lapack_logical LAPACKE_cgt_nancheck (lapack_int n, const lapack_complex_float *dl, const lapack_complex_float *d, const lapack_complex_float *du) โ€” the gt one takes n plus the three diagonals dl, d, du, and no matrix_layout because tridiagonal said "I'm built different" ๐Ÿฆ‹
  • lapack_logical LAPACKE_chb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *ab, lapack_int ldab) โ€” banded hb behavior: matrix_layout, uplo, n, kd, the band storage ab, and ldab ๐ŸŽ€
  • lapack_logical LAPACKE_che_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *a, lapack_int lda) โ€” he in full storage, so it's the classic uplo / n / a / lda quartet โœจ
  • lapack_logical LAPACKE_chp_nancheck (lapack_int n, const lapack_complex_float *ap) โ€” packed hp, just n and ap, no lda invited to the party ๐ŸŒธ
  • lapack_logical LAPACKE_chs_nancheck (int matrix_layout, lapack_int n, const lapack_complex_float *a, lapack_int lda) โ€” the hs cutie, rolling with matrix_layout, n, a, lda ๐Ÿ’œ
  • lapack_logical LAPACKE_cpb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *ab, lapack_int ldab) โ€” banded pb, same guest list as hb: layout, uplo, n, kd, ab, ldab ๐Ÿซถ
  • lapack_logical LAPACKE_cpf_nancheck (lapack_int n, const lapack_complex_float *a) โ€” pf keeps it light: n plus a, that's literally it ๐ŸŽ€
  • lapack_logical LAPACKE_cpo_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *a, lapack_int lda) โ€” po in full storage, doing the uplo/n/a/lda thing ๐Ÿ”ฅ
  • lapack_logical LAPACKE_cpp_nancheck (lapack_int n, const lapack_complex_float *ap) โ€” packed pp, so n and ap and nothing else ๐ŸŒˆ
  • lapack_logical LAPACKE_cpt_nancheck (lapack_int n, const float *d, const lapack_complex_float *e) โ€” okay look closely at pt ๐Ÿ‘€, d is a plain float but e is lapack_complex_float, do not mix them up ๐Ÿ˜ญ
  • lapack_logical LAPACKE_csp_nancheck (lapack_int n, const lapack_complex_float *ap) โ€” packed sp, n + ap, short and sweet ๐Ÿ“
  • lapack_logical LAPACKE_cst_nancheck (lapack_int n, const lapack_complex_float *d, const lapack_complex_float *e) โ€” st with both d and e fully complex this time ๐Ÿ’…
  • lapack_logical LAPACKE_csy_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *a, lapack_int lda) โ€” sy, full storage, uplo/n/a/lda ๐Ÿงš
  • lapack_logical LAPACKE_ctb_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_float *ab, lapack_int ldab) โ€” triangular banded tb, and yes there's an extra diag in the mix ๐Ÿ”ฅ
  • lapack_logical LAPACKE_ctf_nancheck (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_float *a) โ€” tf is the one with transr and uplo and diag, plus n and a, and ngl no lda in sight ๐Ÿ’€
  • lapack_logical LAPACKE_ctp_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *ap) โ€” packed triangular tp: layout, uplo, diag, n, ap ๐Ÿฆ‹
  • lapack_logical LAPACKE_ctr_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *a, lapack_int lda) โ€” triangular tr in full storage, uplo/diag/n/a/lda, iconic honestly ๐Ÿ‘‘

Next, the d girlies โ€” pure double precision, no drama โญ:

  • lapack_logical LAPACKE_dgb_nancheck (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const double *ab, lapack_int ldab) โ€” general band gb, so you're feeding it m, n, kl, ku, ab, ldab ๐Ÿ”ฅ
  • lapack_logical LAPACKE_dge_nancheck (int matrix_layout, lapack_int m, lapack_int n, const double *a, lapack_int lda) โ€” general matrix ge, the main character: m, n, a, lda ๐Ÿ‘‘
  • lapack_logical LAPACKE_dgg_nancheck (int matrix_layout, lapack_int m, lapack_int n, const double *a, lapack_int lda) โ€” gg takes the exact same m/n/a/lda shape, it's giving sibling energy ๐Ÿซถ
  • lapack_logical LAPACKE_dgt_nancheck (lapack_int n, const double *dl, const double *d, const double *du) โ€” tridiagonal gt, so n and the dl/d/du trio ๐ŸŒธ
  • lapack_logical LAPACKE_dhs_nancheck (int matrix_layout, lapack_int n, const double *a, lapack_int lda) โ€” the hs one, matrix_layout, n, a, lda ๐ŸŽ€
  • lapack_logical LAPACKE_dpb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *ab, lapack_int ldab) โ€” banded pb, all the usual: uplo, n, kd, ab, ldab ๐Ÿ’œ
  • lapack_logical LAPACKE_dpf_nancheck (lapack_int n, const double *a) โ€” pf, two args, n and a, minimalist queen โœจ
  • lapack_logical LAPACKE_dpo_nancheck (int matrix_layout, char uplo, lapack_int n, const double *a, lapack_int lda) โ€” po full storage, uplo/n/a/lda ๐Ÿ’…
  • lapack_logical LAPACKE_dpp_nancheck (lapack_int n, const double *ap) โ€” packed pp, n plus ap, done ๐ŸŒˆ
  • lapack_logical LAPACKE_dpt_nancheck (lapack_int n, const double *d, const double *e) โ€” pt with plain double d and plain double e ๐Ÿ“
  • lapack_logical LAPACKE_dsb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *ab, lapack_int ldab) โ€” symmetric band sb: layout, uplo, n, kd, ab, ldab ๐Ÿฆ‹
  • lapack_logical LAPACKE_dsp_nancheck (lapack_int n, const double *ap) โ€” packed sp, short king, n + ap ๐Ÿงš
  • lapack_logical LAPACKE_dst_nancheck (lapack_int n, const double *d, const double *e) โ€” st, d and e, both doubles, no notes ๐Ÿ˜Œ
  • lapack_logical LAPACKE_dsy_nancheck (int matrix_layout, char uplo, lapack_int n, const double *a, lapack_int lda) โ€” sy in full storage, uplo/n/a/lda ๐Ÿ”ฅ
  • lapack_logical LAPACKE_dtb_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const double *ab, lapack_int ldab) โ€” triangular banded tb, with that extra diag argument ๐Ÿ’€
  • lapack_logical LAPACKE_dtf_nancheck (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const double *a) โ€” tf brings transr along with uplo and diag, plus n and a ๐Ÿ‘‘
  • lapack_logical LAPACKE_dtp_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const double *ap) โ€” packed triangular tp: layout, uplo, diag, n, ap ๐ŸŽ€
  • lapack_logical LAPACKE_dtr_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const double *a, lapack_int lda) โ€” triangular tr full storage, uplo/diag/n/a/lda โญ

Now the s squad โ€” same shapes as the d crew but in float, so it's the lowkey budget-friendly precision ๐Ÿ’ธ:

  • lapack_logical LAPACKE_sgb_nancheck (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const float *ab, lapack_int ldab) โ€” general band gb: m, n, kl, ku, ab, ldab ๐ŸŒธ
  • lapack_logical LAPACKE_sge_nancheck (int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda) โ€” general matrix ge, m/n/a/lda, the blueprint ๐Ÿ’…
  • lapack_logical LAPACKE_sgg_nancheck (int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda) โ€” gg, identical argument list to ge, do not let anyone tell you otherwise ๐Ÿซถ
  • lapack_logical LAPACKE_sgt_nancheck (lapack_int n, const float *dl, const float *d, const float *du) โ€” tridiagonal gt, n and the dl/d/du trio โœจ
  • lapack_logical LAPACKE_shs_nancheck (int matrix_layout, lapack_int n, const float *a, lapack_int lda) โ€” hs, layout/n/a/lda, she's consistent ๐Ÿ’œ
  • lapack_logical LAPACKE_spb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *ab, lapack_int ldab) โ€” banded pb: uplo, n, kd, ab, ldab ๐Ÿ”ฅ
  • lapack_logical LAPACKE_spf_nancheck (lapack_int n, const float *a) โ€” pf, n + a, that's the whole story ๐ŸŽ€
  • lapack_logical LAPACKE_spo_nancheck (int matrix_layout, char uplo, lapack_int n, const float *a, lapack_int lda) โ€” po full storage, uplo/n/a/lda ๐ŸŒˆ
  • lapack_logical LAPACKE_spp_nancheck (lapack_int n, const float *ap) โ€” packed pp, n and ap, periodt ๐Ÿ“
  • lapack_logical LAPACKE_spt_nancheck (lapack_int n, const float *d, const float *e) โ€” pt, d and e both plain float ๐Ÿฆ‹
  • lapack_logical LAPACKE_ssb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *ab, lapack_int ldab) โ€” symmetric band sb, full guest list ๐Ÿงš
  • lapack_logical LAPACKE_ssp_nancheck (lapack_int n, const float *ap) โ€” packed sp, n + ap ๐Ÿ’œ
  • lapack_logical LAPACKE_sst_nancheck (lapack_int n, const float *d, const float *e) โ€” st, d and e, no layout, no lda, no stress ๐Ÿ˜Œ
  • lapack_logical LAPACKE_ssy_nancheck (int matrix_layout, char uplo, lapack_int n, const float *a, lapack_int lda) โ€” sy full storage, uplo/n/a/lda โญ
  • lapack_logical LAPACKE_stb_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const float *ab, lapack_int ldab) โ€” triangular banded tb, diag included, don't forget it ๐Ÿ˜ญ
  • lapack_logical LAPACKE_stf_nancheck (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const float *a) โ€” tf with transr, uplo, diag, n, a ๐Ÿ‘‘
  • lapack_logical LAPACKE_stp_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const float *ap) โ€” packed triangular tp, layout/uplo/diag/n/ap ๐ŸŒธ
  • lapack_logical LAPACKE_str_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const float *a, lapack_int lda) โ€” triangular tr, uplo/diag/n/a/lda, slay ๐Ÿ’…

And finally the z girlies โ€” lapack_complex_double, the double-complex main characters, and there are twenty of them, so buckle up ๐ŸŽ€:

  • lapack_logical LAPACKE_zgb_nancheck (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double *ab, lapack_int ldab) โ€” general band gb: m, n, kl, ku, ab, ldab ๐Ÿ”ฅ
  • lapack_logical LAPACKE_zge_nancheck (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” general matrix ge, m/n/a/lda, the icon ๐Ÿ‘‘
  • lapack_logical LAPACKE_zgg_nancheck (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” gg, same m/n/a/lda situation, different name โœจ
  • lapack_logical LAPACKE_zgt_nancheck (lapack_int n, const lapack_complex_double *dl, const lapack_complex_double *d, const lapack_complex_double *du) โ€” tridiagonal gt, n plus dl/d/du, all complex-double ๐Ÿฆ‹
  • lapack_logical LAPACKE_zhb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *ab, lapack_int ldab) โ€” banded hb, uplo/n/kd/ab/ldab ๐ŸŽ€
  • lapack_logical LAPACKE_zhe_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” he full storage, uplo/n/a/lda ๐Ÿ’œ
  • lapack_logical LAPACKE_zhp_nancheck (lapack_int n, const lapack_complex_double *ap) โ€” packed hp, n main + ap, no lda needed ๐ŸŒธ
  • lapack_logical LAPACKE_zhs_nancheck (int matrix_layout, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” hs, layout/n/a/lda ๐Ÿซถ
  • lapack_logical LAPACKE_zpb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *ab, lapack_int ldab) โ€” banded pb, the whole band-storage ensemble ๐Ÿ’…
  • lapack_logical LAPACKE_zpf_nancheck (lapack_int n, const lapack_complex_double *a) โ€” pf, n and a, that's the entire function, obsessed ๐Ÿ“
  • lapack_logical LAPACKE_zpo_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” po full storage, uplo/n/a/lda ๐Ÿ”ฅ
  • lapack_logical LAPACKE_zpp_nancheck (lapack_int n, const lapack_complex_double *ap) โ€” packed pp, n + ap, cute and done ๐ŸŒˆ
  • lapack_logical LAPACKE_zpt_nancheck (lapack_int n, const double *d, const lapack_complex_double *e) โ€” heads up on pt ๐Ÿ™ˆ: d is a plain double, e is lapack_complex_double, keep them straight
  • lapack_logical LAPACKE_zsp_nancheck (lapack_int n, const lapack_complex_double *ap) โ€” packed sp, n and ap ๐Ÿงš
  • lapack_logical LAPACKE_zst_nancheck (lapack_int n, const lapack_complex_double *d, const lapack_complex_double *e) โ€” st, d and e both complex-double ๐Ÿ˜Œ
  • lapack_logical LAPACKE_zsy_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” sy full storage, uplo/n/a/lda โญ
  • lapack_logical LAPACKE_ztb_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double *ab, lapack_int ldab) โ€” triangular banded tb, diag included, don't sleep on it ๐Ÿ’€
  • lapack_logical LAPACKE_ztf_nancheck (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_double *a) โ€” tf with transr/uplo/diag/n/a, and again, no lda ๐Ÿ‘‘
  • lapack_logical LAPACKE_ztp_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *ap) โ€” packed triangular tp, layout/uplo/diag/n/ap ๐ŸŽ€
  • lapack_logical LAPACKE_ztr_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *a, lapack_int lda) โ€” triangular tr full storage, uplo/diag/n/a/lda, final boss energy ๐Ÿ”ฅ

๐ŸŽ€ Macro Definition Documentation ๐ŸŽ€

Okay bestie, now the macros โ€” these are the little one-liners that hold the whole header together, and every single one has a line number you can go look up yourself, iykyk ๐Ÿฆ‹

  • ABS(x) โ€” #define ABS(x) (((x) < 0) ? -(x) : (x)) โ€” the absolute-value baddie, defined at line 44 of file lapacke_utils.h. ๐ŸŽ€

IS_C_NONZERO(x) โ€” complex-float nonzero check, and it just peeks at both float halves of x. Value:

( IS_S_NONZERO(*((float*)&x)) ||                            IS_S_NONZERO(*(((float*)&x)+1)) )

Definition at line 61 of file lapacke_utils.h. ๐Ÿ’œ

  • IS_D_NONZERO(x) โ€” #define IS_D_NONZERO(x) ( (x) < 0 || (x) > 0 ) โ€” defined at line 60 of file lapacke_utils.h. โœจ
  • IS_S_NONZERO(x) โ€” #define IS_S_NONZERO(x) ( (x) < 0 || (x) > 0 ) โ€” defined at line 59 of file lapacke_utils.h. ๐ŸŒธ

IS_Z_NONZERO(x) โ€” the double-complex version, checking both double halves of x. Value:

( IS_D_NONZERO(*((double*)&x)) ||                           IS_D_NONZERO(*(((double*)&x)+1)) )

Definition at line 63 of file lapacke_utils.h. ๐Ÿฆ‹

LAPACK_CISNAN(x) โ€” complex-float NaN check that leans on LAPACK_SISNAN for each half. Value:

( LAPACK_SISNAN(*((float*) &x)) ||                               LAPACK_SISNAN(*(((float*) &x)+1)) )

Definition at line 288 of file lapacke_utils.h. ๐Ÿ˜ญ

  • LAPACK_DISNAN(x) โ€” #define LAPACK_DISNAN(x) ( x != x ) โ€” the classic self-inequality NaN test, defined at line 287 of file lapacke_utils.h. ๐Ÿ”ฅ
  • LAPACK_SISNAN(x) โ€” #define LAPACK_SISNAN(x) ( x != x ) โ€” same trick, float edition, defined at line 286 of file lapacke_utils.h. ๐Ÿ’…

LAPACK_ZISNAN(x) โ€” complex-double NaN check, LAPACK_DISNAN on both halves. Value:

( LAPACK_DISNAN(*((double*)&x)) ||                               LAPACK_DISNAN(*(((double*)&x)+1)) )

Definition at line 290 of file lapacke_utils.h. ๐Ÿ‘‘

  • MAX(x, y) โ€” #define MAX(x, y) (((x) > (y)) ? (x) : (y)) โ€” defined at line 47 of file lapacke_utils.h. โญ
  • MAX3(x, y, z) โ€” #define MAX3(x, y, z) (((x) > MAX(y,z)) ? (x) : MAX(y,z)) โ€” defined at line 53 of file lapacke_utils.h. ๐Ÿซถ
  • MIN(x, y) โ€” #define MIN(x, y) (((x) < (y)) ? (x) : (y)) โ€” defined at line 50 of file lapacke_utils.h. ๐Ÿ“
  • MIN3(x, y, z) โ€” #define MIN3(x, y, z) (((x) < MIN(y,z)) ? (x) : MIN(y,z)) โ€” defined at line 56 of file lapacke_utils.h. ๐Ÿงš

๐Ÿงš Function Documentation ๐Ÿงš

One documented function down here, and she's the blueprint for the whole x_nancheck family, so show some respect ๐Ÿ’œ

lapack_logical LAPACKE_c_nancheck (lapack_int n, const lapack_complex_float *x, lapack_int incx)

lapack_logical LAPACKE_c_nancheck (lapack_int n, const lapack_complex_float
    * x, lapack_int incx)

Note that this one takes an incx stride, which the matrix-flavored checks above don't โ€” so yeah, she's special ๐Ÿ’…

Definition at line 37 of file lapacke_c_nancheck.c. ๐Ÿฆ‹

Okay so the function parade continues, bestie โ€” grab your iced coffee, we're going through the whole lapacke_utils.h roster alphabetically and yes it is a lot ๐Ÿ’…


LAPACKE_cgb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cgb_nancheck (int matrix_layout, lapack_int m,
    lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_float *
    ab, lapack_int ldab)

Definition at line 37 of file lapacke_cgb_nancheck.c.

The NaN-hunting one for complex single-precision general band stuff โ€” it's giving "who let the NaNs into the band storage" energy, and it takes kl, ku and ldab along for the ride.

LAPACKE_cgb_trans ๐Ÿ”„

void LAPACKE_cgb_trans (int matrix_layout, lapack_int m, lapack_int n,
    lapack_int kl, lapack_int ku, const lapack_complex_float * in,
    lapack_int ldin, lapack_complex_float * out, lapack_int ldout)

Definition at line 40 of file lapacke_cgb_trans.c.

The matching _trans bestie for complex general band โ€” in goes in, out comes out, with ldin/ldout doing their leading-dimension thing. Slay.

LAPACKE_cge_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cge_nancheck (int matrix_layout, lapack_int m,
    lapack_int n, const lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_cge_nancheck.c.

Same detective vibe, but for the plain old complex single-precision general (ge) case โ€” m, n, a, lda, done.

LAPACKE_cge_trans ๐Ÿ”„

void LAPACKE_cge_trans (int matrix_layout, lapack_int m, lapack_int n, const
    lapack_complex_float * in, lapack_int ldin, lapack_complex_float * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_cge_trans.c.

General complex single-precision transpose business. in โ†’ out, ldin โ†’ ldout, lowkey iconic.

LAPACKE_cgg_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cgg_nancheck (int matrix_layout, lapack_int m,
    lapack_int n, const lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_cgg_nancheck.c.

The gg flavour โ€” same signature shape as its ge cousin, still checking for NaNs and still not judging you for how you filled that matrix.

LAPACKE_cgg_trans ๐Ÿ”„

void LAPACKE_cgg_trans (int matrix_layout, lapack_int m, lapack_int n, const
    lapack_complex_float * in, lapack_int ldin, lapack_complex_float * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_cgg_trans.c.

And the transpose counterpart, identical-looking args because that's just how the gg girlies roll. Periodt.

LAPACKE_cgt_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cgt_nancheck (lapack_int n, const
    lapack_complex_float * dl, const lapack_complex_float * d, const
    lapack_complex_float * du)

Definition at line 37 of file lapacke_cgt_nancheck.c.

Tridiagonal check, no matrix_layout in sight โ€” just n and the three diagonals dl, d, du. Cute and compact fr fr.

Notice how the tridiagonal ones don't take a matrix_layout? Yeah. That's the whole list, not a typo, don't come for me ๐Ÿ’€

LAPACKE_chb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_chb_nancheck (int matrix_layout, char uplo,
    lapack_int n, lapack_int kd, const lapack_complex_float * ab, lapack_int
    ldab)

Definition at line 37 of file lapacke_chb_nancheck.c.

Hermitian band NaN check โ€” uplo tells it which triangle, kd is the bandwidth, ab/ldab hold the goods.

LAPACKE_chb_trans ๐Ÿ”„

void LAPACKE_chb_trans (int matrix_layout, char uplo, lapack_int n,
    lapack_int kd, const lapack_complex_float * in, lapack_int ldin,
    lapack_complex_float * out, lapack_int ldout)

Definition at line 40 of file lapacke_chb_trans.c.

Same Hermitian band situation, but now we're moving data instead of sniffing for NaNs. uplo, kd, both leading dimensions โ€” the full set, bestie.

LAPACKE_che_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_che_nancheck (int matrix_layout, char uplo,
    lapack_int n, const lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_che_nancheck.c.

Hermitian (he), full-storage edition. uplo + n + a + lda, and it'll tell you if something's NaN-ing in there.

LAPACKE_che_trans ๐Ÿ”„

void LAPACKE_che_trans (int matrix_layout, char uplo, lapack_int n, const
    lapack_complex_float * in, lapack_int ldin, lapack_complex_float * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_che_trans.c.

Transpose time for Hermitian complex single precision. The way it just takes uplo and gets on with it โ€” main character energy honestly.

LAPACKE_chp_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_chp_nancheck (lapack_int n, const
    lapack_complex_float * ap)

Definition at line 40 of file lapacke_chp_nancheck.c.

Packed Hermitian, so no lda, no matrix_layout โ€” just n and ap. Minimalist queen โœจ

LAPACKE_chp_trans ๐Ÿ”„

void LAPACKE_chp_trans (int matrix_layout, char uplo, lapack_int n, const
    lapack_complex_float * in, lapack_complex_float * out)

Definition at line 40 of file lapacke_chp_trans.c.

Packed means no leading dimensions needed for in/out โ€” the packed format already knows what's up. Obsessed with the efficiency.

LAPACKE_chs_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_chs_nancheck (int matrix_layout, lapack_int n, const
    lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_chs_nancheck.c.

hs flavour NaN check โ€” note there's no uplo here, just matrix_layout, n, a, lda. Read the signature, don't assume ๐Ÿ’…

LAPACKE_chs_trans ๐Ÿ”„

void LAPACKE_chs_trans (int matrix_layout, lapack_int n, const
    lapack_complex_float * in, lapack_int ldin, lapack_complex_float * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_chs_trans.c.

And the matching hs transpose, also uplo-free. Consistent, we love to see it.

LAPACKE_cpb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cpb_nancheck (int matrix_layout, char uplo,
    lapack_int n, lapack_int kd, const lapack_complex_float * ab, lapack_int
    ldab)

Definition at line 37 of file lapacke_cpb_nancheck.c.

Positive-definite band, complex single precision โ€” uplo, n, kd, ab, ldab. The NaN check that keeps your decomposition honest ๐Ÿซถ

LAPACKE_cpb_trans ๐Ÿ”„

void LAPACKE_cpb_trans (int matrix_layout, char uplo, lapack_int n,
    lapack_int kd, const lapack_complex_float * in, lapack_int ldin,
    lapack_complex_float * out, lapack_int ldout)

Definition at line 40 of file lapacke_cpb_trans.c.

Transposing the banded positive-definite situation. kd says how wide, ldin/ldout say how tall-ish. It's giving organized.

LAPACKE_cpf_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cpf_nancheck (lapack_int n, const
    lapack_complex_float * a)

Definition at line 41 of file lapacke_cpf_nancheck.c.

Tiny signature, big job โ€” n and a, and that's the whole mood. (Line 41 this time, not 37, so don't @ me.)

LAPACKE_cpf_trans ๐Ÿ”„

void LAPACKE_cpf_trans (int matrix_layout, char transr, char uplo,
    lapack_int n, const lapack_complex_float * in, lapack_complex_float *
    out)

Definition at line 40 of file lapacke_cpf_trans.c.

Ooh, this one's got a transr up in there alongside uplo โ€” the pf transposer does not take leading dimensions for in/out. Not me noticing the details ๐Ÿ”

LAPACKE_cpo_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cpo_nancheck (int matrix_layout, char uplo,
    lapack_int n, const lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_cpo_nancheck.c.

Complex single-precision positive definite, full storage. uplo, n, a, lda โ€” the classic quartet, bestie.

LAPACKE_cpo_trans ๐Ÿ”„

void LAPACKE_cpo_trans (int matrix_layout, char uplo, lapack_int n, const
    lapack_complex_float * in, lapack_int ldin, lapack_complex_float * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_cpo_trans.c.

And its translater twin. Same shape, different verb. Ate. ๐Ÿ’…

LAPACKE_cpp_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cpp_nancheck (lapack_int n, const
    lapack_complex_float * ap)

Definition at line 40 of file lapacke_cpp_nancheck.c.

Packed positive definite โ€” packed means no leading dimension, so it's just n and ap. Short, sweet, slaying.

LAPACKE_cpp_trans ๐Ÿ”„

void LAPACKE_cpp_trans (int matrix_layout, char uplo, lapack_int n, const
    lapack_complex_float * in, lapack_complex_float * out)

Definition at line 40 of file lapacke_cpp_trans.c.

Packed in, packed out, uplo and n steering the ship. No ldin in sight and honestly? Good for her.

LAPACKE_cpt_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cpt_nancheck (lapack_int n, const float * d, const
    lapack_complex_float * e)

Definition at line 37 of file lapacke_cpt_nancheck.c.

Okay so heads up: here d is a real float pointer and e is lapack_complex_float โ€” the tridiagonal pt one mixes types and that's just the assignment. Read it twice, it's real.

LAPACKE_csp_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_csp_nancheck (lapack_int n, const
    lapack_complex_float * ap)

Definition at line 40 of file lapacke_csp_nancheck.c.

Symmetric packed, complex single precision. n + ap, minimal, chic, no notes.

LAPACKE_csp_trans ๐Ÿ”„

void LAPACKE_csp_trans (int matrix_layout, char uplo, lapack_int n, const
    lapack_complex_float * in, lapack_complex_float * out)

Definition at line 40 of file lapacke_csp_trans.c.

Same packed deal, now moving them. matrix_layout, uplo, n, in, out โ€” that's the whole squad.

LAPACKE_cst_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_cst_nancheck (lapack_int n, const
    lapack_complex_float * d, const lapack_complex_float * e)

Definition at line 37 of file lapacke_cst_nancheck.c.

Symmetric tridiagonal โ€” and unlike cpt, both d and e are lapack_complex_float here. Yes I noticed. Yes I'm telling you. ๐Ÿ™ˆ

LAPACKE_csy_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_csy_nancheck (int matrix_layout, char uplo,
    lapack_int n, const lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_csy_nancheck.c.

Symmetric (sy), complex single precision, full storage โ€” uplo, n, a, lda. Nothing mysterious, just vibes.

LAPACKE_csy_trans ๐Ÿ”„

void LAPACKE_csy_trans (int matrix_layout, char uplo, lapack_int n, const
    lapack_complex_float * in, lapack_int ldin, lapack_complex_float * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_csy_trans.c.

Transposing symmetric complex single precision. LOWKEY the same signature as all its friends but it's different, okay, it's sy.

LAPACKE_ctb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_ctb_nancheck (int matrix_layout, char uplo, char
    diag, lapack_int n, lapack_int kd, const lapack_complex_float * ab,
    lapack_int ldab)

Definition at line 37 of file lapacke_ctb_nancheck.c.

Triangular band, so it's got a diag char in the mix (unit vs non-unit, you know the drill) plus uplo, kd and ldab. Busy girl, but she handles it.

LAPACKE_ctb_trans ๐Ÿ”„

void LAPACKE_ctb_trans (int matrix_layout, char uplo, char diag, lapack_int
    n, lapack_int kd, const lapack_complex_float * in, lapack_int ldin,
    lapack_complex_float * out, lapack_int ldout)

Definition at line 40 of file lapacke_ctb_trans.c.

The triangular band transposer โ€” uplo, diag, kd, both lds. Honestly the fullest roster of args so far and she wears it well.

LAPACKE_ctf_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_ctf_nancheck (int matrix_layout, char transr, char
    uplo, char diag, lapack_int n, const lapack_complex_float * a)

Definition at line 37 of file lapacke_ctf_nancheck.c.

Triangular RFP: transr AND uplo AND diag, three whole chars before you even get to n. No lda though โ€” it's giving "I know where my data lives". ๐Ÿ‘‘

LAPACKE_ctf_trans ๐Ÿ”„

void LAPACKE_ctf_trans (int matrix_layout, char transr, char uplo, char
    diag, lapack_int n, const lapack_complex_float * in,
    lapack_complex_float * out)

Definition at line 41 of file lapacke_ctf_trans.c.

Same trio of chars, and again no leading dimensions for in/out. Line 41, because of course. ๐Ÿ’€

LAPACKE_ctp_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_ctp_nancheck (int matrix_layout, char uplo, char
    diag, lapack_int n, const lapack_complex_float * ap)

Definition at line 40 of file lapacke_ctp_nancheck.c.

Triangular packed โ€” diag's here, ap's here, no lda because packed said "not today". We respect it.

LAPACKE_ctp_trans ๐Ÿ”„

void LAPACKE_ctp_trans (int matrix_layout, char uplo, char diag, lapack_int
    n, const lapack_complex_float * in, lapack_complex_float * out)

Definition at line 40 of file lapacke_ctp_trans.c.

Packed triangular, transposed. Same short-and-sweet arg list, same energy, still slaying.

LAPACKE_ctr_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_ctr_nancheck (int matrix_layout, char uplo, char
    diag, lapack_int n, const lapack_complex_float * a, lapack_int lda)

Definition at line 37 of file lapacke_ctr_nancheck.c.

Triangular, full storage โ€” so lda comes back to the party alongside uplo and diag. Welcome back, king.

LAPACKE_ctr_trans ๐Ÿ”„

void LAPACKE_ctr_trans (int matrix_layout, char uplo, char diag, lapack_int
    n, const lapack_complex_float * in, lapack_int ldin,
    lapack_complex_float * out, lapack_int ldout)

Definition at line 40 of file lapacke_ctr_trans.c.

Last complex-single-precision one in this batch, and it's a full-storage triangular transposer. uplo, diag, ldin, ldout โ€” full house bestie ๐Ÿ’œ


LAPACKE_d_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_d_nancheck (lapack_int n, const double * x,
    lapack_int incx)

Definition at line 37 of file lapacke_d_nancheck.c.

And we're into double precision, starting with the plain vector โ€” n, x, and an incx stride, because sometimes your data isn't all cozy and contiguous. Respect the stride fr fr.

LAPACKE_dgb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dgb_nancheck (int matrix_layout, lapack_int m,
    lapack_int n, lapack_int kl, lapack_int ku, const double * ab,
    lapack_int ldab)

Definition at line 37 of file lapacke_dgb_nancheck.c.

Real double, general band, NaN check. kl and ku are the sub/super diagonal counts, everything else is exactly what you'd expect. No surprises, slay.

LAPACKE_dgb_trans ๐Ÿ”„

void LAPACKE_dgb_trans (int matrix_layout, lapack_int m, lapack_int n,
    lapack_int kl, lapack_int ku, const double * in, lapack_int ldin, double
    * out, lapack_int ldout)

Definition at line 40 of file lapacke_dgb_trans.c.

Double general band, transposed. Same kl/ku pair, double * in โ†’ double * out. Clean.

LAPACKE_dge_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dge_nancheck (int matrix_layout, lapack_int m,
    lapack_int n, const double * a, lapack_int lda)

Definition at line 37 of file lapacke_dge_nancheck.c.

Classic general double matrix NaN check. m, n, a, lda. The beige cardigan of signatures and honestly we stan reliability.

LAPACKE_dge_trans ๐Ÿ”„

void LAPACKE_dge_trans (int matrix_layout, lapack_int m, lapack_int n, const
    double * in, lapack_int ldin, double * out, lapack_int ldout)

Definition at line 40 of file lapacke_dge_trans.c.

General double transpose. In, out, two leading dimensions, no drama. Iconic.

LAPACKE_dgg_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dgg_nancheck (int matrix_layout, lapack_int m,
    lapack_int n, const double * a, lapack_int lda)

Definition at line 37 of file lapacke_dgg_nancheck.c.

gg but for double. Same arg shape, still checking, still unbothered.

LAPACKE_dgg_trans ๐Ÿ”„

void LAPACKE_dgg_trans (int matrix_layout, lapack_int m, lapack_int n, const
    double * in, lapack_int ldin, double * out, lapack_int ldout)

Definition at line 40 of file lapacke_dgg_trans.c.

And the gg transposer in double. Matching set, matching vibes ๐Ÿ’–

LAPACKE_dgt_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dgt_nancheck (lapack_int n, const double * dl, const
    double * d, const double * du)

Definition at line 37 of file lapacke_dgt_nancheck.c.

Double tridiagonal, so it's n plus dl, d, du and no layout argument. Three diagonals, three pointers, zero matrix_layout. Easy.

LAPACKE_dhs_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dhs_nancheck (int matrix_layout, lapack_int n, const
    double * a, lapack_int lda)

Definition at line 37 of file lapacke_dhs_nancheck.c.

hs in double precision โ€” note the absence of an uplo char in this signature. Just matrix_layout, n, a, lda. Copy it exactly, bestie.

LAPACKE_dhs_trans ๐Ÿ”„

void LAPACKE_dhs_trans (int matrix_layout, lapack_int n, const double * in,
    lapack_int ldin, double * out, lapack_int ldout)

Definition at line 40 of file lapacke_dhs_trans.c.

Same story โ€” no uplo anywhere. in, out, both lds. Consistent queen.

LAPACKE_dpb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dpb_nancheck (int matrix_layout, char uplo,
    lapack_int n, lapack_int kd, const double * ab, lapack_int ldab)

Definition at line 37 of file lapacke_dpb_nancheck.c.

Double positive-definite band. uplo's back, kd's back, ab/ldab holding it down.

LAPACKE_dpb_trans ๐Ÿ”„

void LAPACKE_dpb_trans (int matrix_layout, char uplo, lapack_int n,
    lapack_int kd, const double * in, lapack_int ldin, double * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_dpb_trans.c.

Transposing the double banded positive-definite situation. kd knows the bandwidth, the lds know the rest.

LAPACKE_dpf_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dpf_nancheck (lapack_int n, const double * a)

Definition at line 41 of file lapacke_dpf_nancheck.c.

Two args. Two. n and a. The RFP life means you don't need a leading dimension and she is thriving on that. Line 41 again, keep up ๐ŸŽ€

LAPACKE_dpf_trans ๐Ÿ”„

void LAPACKE_dpf_trans (int matrix_layout, char transr, char uplo,
    lapack_int n, const double * in, double * out)

Definition at line 40 of file lapacke_dpf_trans.c.

transr + uplo + n + in + out. No lds, no notes, we move.

LAPACKE_dpo_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dpo_nancheck (int matrix_layout, char uplo,
    lapack_int n, const double * a, lapack_int lda)

Definition at line 37 of file lapacke_dpo_nancheck.c.

Double positive definite, full storage. uplo, n, a, lda โ€” four besties, one job.

LAPACKE_dpo_trans ๐Ÿ”„

void LAPACKE_dpo_trans (int matrix_layout, char uplo, lapack_int n, const
    double * in, lapack_int ldin, double * out, lapack_int ldout)

Definition at line 40 of file lapacke_dpo_trans.c.

Transposing double positive definite. Same uplo, same everything, different function. Love a consistent family ๐ŸŒธ

LAPACKE_dpp_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dpp_nancheck (lapack_int n, const double * ap)

Definition at line 40 of file lapacke_dpp_nancheck.c.

Packed double positive definite โ€” n and ap, packed means no lda. Short king.

LAPACKE_dpp_trans ๐Ÿ”„

void LAPACKE_dpp_trans (int matrix_layout, char uplo, lapack_int n, const
    double * in, double * out)

Definition at line 40 of file lapacke_dpp_trans.c.

Packed in, packed out, uplo steering. No leading dimensions needed and she's not sorry.

LAPACKE_dpt_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dpt_nancheck (lapack_int n, const double * d, const
    double * e)

Definition at line 37 of file lapacke_dpt_nancheck.c.

Double positive-definite tridiagonal โ€” both d and e are plain double here (in the complex version they were not, so yes, the types differ across precisions โ€” read carefully bestie).

LAPACKE_dsb_nancheck ๐Ÿ•ต๏ธโ€โ™€๏ธ

lapack_logical LAPACKE_dsb_nancheck (int matrix_layout, char uplo,
    lapack_int n, lapack_int kd, const double * ab, lapack_int ldab)

Definition at line 37 of file lapacke_dsb_nancheck.c.

Symmetric band, double precision. uplo, n, kd, ab, ldab. The band girlies stay winning.

LAPACKE_dsb_trans ๐Ÿ”„

void LAPACKE_dsb_trans (int matrix_layout, char uplo, lapack_int n,
    lapack_int kd, const double * in, lapack_int ldin, double * out,
    lapack_int ldout)

Definition at line 40 of file lapacke_dsb_trans.c.

And the symmetric-band double transposer to round out this chunk โ€” kd, both leading dimensions, the whole ensemble. Gorgeous, no cap ๐Ÿ”ฅ

LAPACKE_dsp_nancheck ๐Ÿ’…

lapack_logical LAPACKE_dsp_nancheck (lapack_int n, const double * ap)

okay so bestie, this is the NaN detector for packed symmetric double data โ€” you hand it n and your packed array ap, and it tells you (with a lapack_logical) whether anybody snuck a Not-A-Number in there. packed means no wasted zeros, very efficient, we love her.

Definition at line 40 of file lapacke_dsp_nancheck.c.

LAPACKE_dsp_trans ๐Ÿฆ‹

void LAPACKE_dsp_trans (int matrix_layout, char uplo, lapack_int n, const double * in, double * out)

the trans fam โœจ converts packed symmetric double between layouts โ€” you tell it matrix_layout, uplo, n, and it reads in, writes out. packed in, packed out, no ldin/ldout drama because packed arrays don't need leading dimensions. iconic behavior honestly.

Definition at line 40 of file lapacke_dsp_trans.c.

LAPACKE_dst_nancheck ๐ŸŽ€

lapack_logical LAPACKE_dst_nancheck (lapack_int n, const double * d, const double * e)

tridiagonal NaN check, double edition. give it the diagonal d and the off-diagonal e plus n and it'll tell you if anything's cursed. no cap, always run this before you trust a factorization.

Definition at line 37 of file lapacke_dst_nancheck.c.

LAPACKE_dsy_nancheck ๐Ÿ’–

lapack_logical LAPACKE_dsy_nancheck (int matrix_layout, char uplo, lapack_int n, const double * a, lapack_int lda)

full-storage symmetric double NaN scan. matrix_layout, uplo, n, the array a, and its leading dimension lda โ€” that's the whole guest list. returns a lapack_logical, periodt.

Definition at line 37 of file lapacke_dsy_nancheck.c.

LAPACKE_dsy_trans ๐ŸŒธ

void LAPACKE_dsy_trans (int matrix_layout, char uplo, lapack_int n, const double * in, lapack_int ldin, double * out, lapack_int ldout)

symmetric double layout translator. note she DOES take ldin and ldout because full storage means leading dimensions matter again. reads in, writes out, slays.

Definition at line 40 of file lapacke_dsy_trans.c.

LAPACKE_dtb_nancheck ๐Ÿงš

lapack_logical LAPACKE_dtb_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const double * ab, lapack_int ldab)

triangular band matrix, double, NaN check. you bring matrix_layout, uplo, diag, n, kd, the band array ab and ldab. yes there are a lot of params, that's band storage for you, she's high maintenance but worth it ๐Ÿ’…

Definition at line 37 of file lapacke_dtb_nancheck.c.

LAPACKE_dtb_trans โญ

void LAPACKE_dtb_trans (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const double * in, lapack_int ldin, double * out, lapack_int ldout)

band triangular translator, double flavor. same parameter parade, plus ldin/ldout for the storage handoff. giving very much "yes i know all my arguments" energy.

Definition at line 40 of file lapacke_dtb_trans.c.

LAPACKE_dtf_nancheck ๐Ÿ”ฅ

lapack_logical LAPACKE_dtf_nancheck (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const double * a)

trapezoidal / RFP format NaN check for double. she takes transr (the RFP flag, not the usual trans), uplo, diag, n, and the array a. note: no lda here โ€” RFP storage doesn't play that game. read the signature carefully bestie.

Definition at line 37 of file lapacke_dtf_nancheck.c.

LAPACKE_dtf_trans ๐ŸŒˆ

void LAPACKE_dtf_trans (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const double * in, double * out)

RFP translator for double triangular-ish data. transr, uplo, diag, n, in, out โ€” no leading dimensions anywhere, because RFP said "not today". ๐Ÿ’€

Definition at line 41 of file lapacke_dtf_trans.c. (yes, 41, not 40 โ€” little detail, don't come for me)

LAPACKE_dtp_nancheck ๐Ÿซถ

lapack_logical LAPACKE_dtp_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const double * ap)

packed triangular double NaN check. matrix_layout, uplo, diag, n, packed array ap. packed = no leading dimension = one less thing to get wrong, we stan.

Definition at line 40 of file lapacke_dtp_nancheck.c.

LAPACKE_dtp_trans ๐Ÿ’œ

void LAPACKE_dtp_trans (int matrix_layout, char uplo, char diag, lapack_int n, const double * in, double * out)

packed triangular layout translator, double. give it the vibes (matrix_layout, uplo, diag, n) plus in and out, get back the same numbers in the other layout. no cap.

Definition at line 40 of file lapacke_dtp_trans.c.

LAPACKE_dtr_nancheck ๐Ÿ‘‘

lapack_logical LAPACKE_dtr_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const double * a, lapack_int lda)

full-storage triangular double NaN scan. a and lda are back in the group chat. checks for NaNs and returns lapack_logical so you can gatekeep your downstream math. main character energy.

Definition at line 37 of file lapacke_dtr_nancheck.c.

LAPACKE_dtr_trans ๐Ÿ“

void LAPACKE_dtr_trans (int matrix_layout, char uplo, char diag, lapack_int n, const double * in, lapack_int ldin, double * out, lapack_int ldout)

triangular double translator with full storage. ldin and ldout present and accounted for. reads in, writes out, absolutely ate that.

Definition at line 40 of file lapacke_dtr_trans.c.


LAPACKE_lsame โœจ

lapack_logical LAPACKE_lsame (char ca, char cb)

the tiny legend herself ๐ŸŽ€ two chars in, one lapack_logical out โ€” she tells you if ca and cb are the same letter in the case-insensitive sense LAPACKE cares about. that's the whole job. two arguments. iconic. iykyk.

Definition at line 36 of file lapacke_lsame.c.


the s fam arrives and she is ALL about float ๐Ÿฉท same cast of characters as the d crew, just floatier. let's go:

LAPACKE_s_nancheck ๐ŸŒธ

lapack_logical LAPACKE_s_nancheck (lapack_int n, const float * x, lapack_int incx)

strided vector NaN check. n elements, starting at x, stepping by incx. note the stride, bestie โ€” incx is right there in the signature, do not skip it.

Definition at line 37 of file lapacke_s_nancheck.c.

LAPACKE_sgb_nancheck ๐Ÿฆ‹

lapack_logical LAPACKE_sgb_nancheck (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const float * ab, lapack_int ldab)

general band, float. m, n, kl, ku, ab, ldab โ€” the full band-storage starter pack. her job: are there NaNs in there or not. that's it. that's the tweet.

Definition at line 37 of file lapacke_sgb_nancheck.c.

LAPACKE_sgb_trans ๐ŸŒŸ

void LAPACKE_sgb_trans (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const float * in, lapack_int ldin, float * out, lapack_int ldout)

general band float translator. m, n, kl, ku, in, ldin, out, ldout. yes it's long. no we're not skipping any of them. ๐Ÿ’…

Definition at line 40 of file lapacke_sgb_trans.c.

LAPACKE_sge_nancheck ๐Ÿ’–

lapack_logical LAPACKE_sge_nancheck (int matrix_layout, lapack_int m, lapack_int n, const float * a, lapack_int lda)

the classic!! general float matrix NaN check, m by n, array a, leading dimension lda. if you only remember one nancheck, it's this one. she's the blueprint fr fr.

Definition at line 37 of file lapacke_sge_nancheck.c.

LAPACKE_sge_trans ๐ŸŽ€

void LAPACKE_sge_trans (int matrix_layout, lapack_int m, lapack_int n, const float * in, lapack_int ldin, float * out, lapack_int ldout)

general float matrix layout translator. row-major in, column-major out, or whatever combo you feed her via matrix_layout โ€” she handles m, n, in, ldin, out, ldout and does not complain. queen behavior.

Definition at line 40 of file lapacke_sge_trans.c.

LAPACKE_sgg_nancheck ๐Ÿ’ซ

lapack_logical LAPACKE_sgg_nancheck (int matrix_layout, lapack_int m, lapack_int n, const float * a, lapack_int lda)

the gg NaN check for float โ€” same m, n, a, lda lineup as sge_nancheck. yes they look alike, no they are not the same function, keep them straight bestie ๐Ÿ™ˆ

Definition at line 37 of file lapacke_sgg_nancheck.c.

LAPACKE_sgg_trans ๐ŸŒ™

void LAPACKE_sgg_trans (int matrix_layout, lapack_int m, lapack_int n, const float * in, lapack_int ldin, float * out, lapack_int ldout)

gg variant of the float layout translator. m, n, in, ldin, out, ldout, done. slay.

Definition at line 40 of file lapacke_sgg_trans.c.

LAPACKE_sgt_nancheck ๐Ÿ”ฅ

lapack_logical LAPACKE_sgt_nancheck (lapack_int n, const float * dl, const float * d, const float * du)

tridiagonal float NaN check: subdiagonal dl, diagonal d, superdiagonal du, size n. three arrays, one vibe check. obsessed.

Definition at line 37 of file lapacke_sgt_nancheck.c.

LAPACKE_shs_nancheck ๐ŸŒบ

lapack_logical LAPACKE_shs_nancheck (int matrix_layout, lapack_int n, const float * a, lapack_int lda)

symmetric/Hermitian-ish float NaN scan โ€” no uplo in the signature, just matrix_layout, n, a, lda. read it twice, she's the exception to the pattern.

Definition at line 37 of file lapacke_shs_nancheck.c.

LAPACKE_shs_trans ๐Ÿฆ„

void LAPACKE_shs_trans (int matrix_layout, lapack_int n, const float * in, lapack_int ldin, float * out, lapack_int ldout)

same deal, translator edition. matrix_layout, n, in, ldin, out, ldout โ€” and again, no uplo. lowkey refreshing honestly.

Definition at line 40 of file lapacke_shs_trans.c.

LAPACKE_spb_nancheck ๐Ÿฌ

lapack_logical LAPACKE_spb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float * ab, lapack_int ldab)

positive-definite band, float, NaN check. matrix_layout, uplo, n, kd, ab, ldab. she's checking a banded symmetric positive-definite situation for NaNs and returning lapack_logical. periodt.

Definition at line 37 of file lapacke_spb_nancheck.c.

LAPACKE_spb_trans ๐ŸŒˆ

void LAPACKE_spb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float * in, lapack_int ldin, float * out, lapack_int ldout)

banded PD float layout translator. same params, plus the ldin/ldout duo. she ate, no crumbs.

Definition at line 40 of file lapacke_spb_trans.c.

LAPACKE_spf_nancheck ๐Ÿ’Ž

lapack_logical LAPACKE_spf_nancheck (lapack_int n, const float * a)

packed RFP float NaN check. honestly the shortest guest list ever: n and a. no matrix_layout, no uplo, no diag, no leading dimension. she's minimalism. she's elegance. Definition at line 41 of file lapacke_spf_nancheck.c (41 again, noticed ๐Ÿ‘€).

LAPACKE_spf_trans ๐ŸงŠ

void LAPACKE_spf_trans (int matrix_layout, char transr, char uplo, lapack_int n, const float * in, float * out)

packed RFP float translator. here matrix_layout, transr, uplo and n ARE back, plus in/out โ€” but still zero leading dimensions because RFP said so. the inconsistency is the personality ๐Ÿ’…

Definition at line 40 of file lapacke_spf_trans.c.

LAPACKE_spo_nancheck ๐ŸŒธ

lapack_logical LAPACKE_spo_nancheck (int matrix_layout, char uplo, lapack_int n, const float * a, lapack_int lda)

positive-definite float matrix NaN check. matrix_layout, uplo, n, a, lda โ€” full storage, leading dimension included, no shortcuts.

Definition at line 37 of file lapacke_spo_nancheck.c.

LAPACKE_spo_trans ๐ŸŽ€

void LAPACKE_spo_trans (int matrix_layout, char uplo, lapack_int n, const float * in, lapack_int ldin, float * out, lapack_int ldout)

PD float translator, full storage. reads in at ldin, writes out at ldout. flawless execution tbh.

Definition at line 40 of file lapacke_spo_trans.c.

LAPACKE_spp_nancheck ๐Ÿซง

lapack_logical LAPACKE_spp_nancheck (lapack_int n, const float * ap)

packed PD float, NaN check, and look at that tiny signature โ€” just n and ap. packed storage really said "i'll handle the layout, you handle the NaNs". queen.

Definition at line 40 of file lapacke_spp_nancheck.c.

LAPACKE_spp_trans ๐Ÿฆ‹

void LAPACKE_spp_trans (int matrix_layout, char uplo, lapack_int n, const float * in, float * out)

packed PD float translator. matrix_layout, uplo, n, in, out. no leading dimensions. that's the whole menu. โœจ

Definition at line 40 of file lapacke_spp_trans.c.

LAPACKE_spt_nancheck ๐Ÿ“

lapack_logical LAPACKE_spt_nancheck (lapack_int n, const float * d, const float * e)

packed tridiagonal float NaN check. n, diagonal d, off-diagonal e. note it's _spt_ not _sst_ โ€” they're different, don't mix them up bestie ๐Ÿ˜ญ

Definition at line 37 of file lapacke_spt_nancheck.c.

LAPACKE_ssb_nancheck ๐ŸŒŸ

lapack_logical LAPACKE_ssb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float * ab, lapack_int ldab)

symmetric band float NaN check. matrix_layout, uplo, n, kd, ab, ldab. she's giving "i check band storage and i do it well".

Definition at line 37 of file lapacke_ssb_nancheck.c.

LAPACKE_ssb_trans ๐Ÿ’ซ

void LAPACKE_ssb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float * in, lapack_int ldin, float * out, lapack_int ldout)

symmetric band layout translator, float. all six of her structural params plus in/ldin/out/ldout. she has a lot going on but she never drops a stitch.

Definition at line 40 of file lapacke_ssb_trans.c.

LAPACKE_ssp_nancheck ๐ŸŽ€

lapack_logical LAPACKE_ssp_nancheck (lapack_int n, const float * ap)

packed symmetric float NaN scan. n + packed ap = that's it. returns lapack_logical. she's lowkey the easiest function on this whole page and i love her for it.

Definition at line 40 of file lapacke_ssp_nancheck.c.

LAPACKE_ssp_trans ๐ŸŒธ

void LAPACKE_ssp_trans (int matrix_layout, char uplo, lapack_int n, const float * in, float * out)

packed symmetric float translator. matrix_layout, uplo, n, in, out. same vibes as spp_trans, different name. keep your ps and your ss straight. ๐Ÿ™ˆ

Definition at line 40 of file lapacke_ssp_trans.c.

LAPACKE_sst_nancheck ๐Ÿฌ

lapack_logical LAPACKE_sst_nancheck (lapack_int n, const float * d, const float * e)

tridiagonal float NaN check โ€” n, d, e. yes, structurally identical to spt_nancheck's signature. no, they are not the same function. LAPACKE said "similar names, deal with it" ๐Ÿ’€

Definition at line 37 of file lapacke_sst_nancheck.c.

LAPACKE_ssy_nancheck ๐Ÿ’–

lapack_logical LAPACKE_ssy_nancheck (int matrix_layout, char uplo, lapack_int n, const float * a, lapack_int lda)

full-storage symmetric float NaN check. matrix_layout, uplo, n, a, lda. classic lineup, classic result, lapack_logical.

Definition at line 37 of file lapacke_ssy_nancheck.c.

LAPACKE_ssy_trans ๐Ÿ‘‘

void LAPACKE_ssy_trans (int matrix_layout, char uplo, lapack_int n, const float * in, lapack_int ldin, float * out, lapack_int ldout)

symmetric float translator, full storage, leading dimensions present and correct. she's the ssy counterpart to dsy_trans and she does NOT need an introduction.

Definition at line 40 of file lapacke_ssy_trans.c.

LAPACKE_stb_nancheck ๐Ÿงš

lapack_logical LAPACKE_stb_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const float * ab, lapack_int ldab)

triangular band float NaN check, ldab and all. yes, diag is here too. yes, it matters. always read the params bestie ๐Ÿซถ

Definition at line 37 of file lapacke_stb_nancheck.c.

LAPACKE_stb_trans โญ

void LAPACKE_stb_trans (int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const float * in, lapack_int ldin, float * out, lapack_int ldout)

triangular band float translator. eight params. eight reasons to double-check your call site. she's worth it though ๐Ÿ’…

Definition at line 40 of file lapacke_stb_trans.c.

LAPACKE_stf_nancheck ๐Ÿ”ฅ

lapack_logical LAPACKE_stf_nancheck (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const float * a)

RFP float NaN check. transr, uplo, diag, n, a โ€” and once again, no leading dimension because RFP doesn't use them. she's consistent about being inconsistent.

Definition at line 37 of file lapacke_stf_nancheck.c.

LAPACKE_stf_trans ๐ŸŒˆ

void LAPACKE_stf_trans (int matrix_layout, char transr, char uplo, char diag, lapack_int n, const float * in, float * out)

RFP float translator โ€” same transr/uplo/diag/n setup, then in straight into out. no leading dimensions, no problem. Definition at line 41 of file lapacke_stf_trans.c (third forty-one of the page, we're keeping score ๐ŸŽ€).

LAPACKE_stp_nancheck ๐Ÿ’Ž

lapack_logical LAPACKE_stp_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const float * ap)

packed triangular float NaN check. matrix_layout, uplo, diag, n, packed ap. short, sweet, returns lapack_logical. perfection.

Definition at line 40 of file lapacke_stp_nancheck.c.

LAPACKE_stp_trans ๐Ÿซถ

void LAPACKE_stp_trans (int matrix_layout, char uplo, char diag, lapack_int n, const float * in, float * out)

packed triangular float layout translator. same five setup params, then in and out. packed in, packed out, no ld anywhere. slay.

Definition at line 40 of file lapacke_stp_trans.c.

LAPACKE_str_nancheck ๐ŸŒบ

lapack_logical LAPACKE_str_nancheck (int matrix_layout, char uplo, char diag, lapack_int n, const float * a, lapack_int lda)

full-storage triangular float NaN check. diag and lda both present, as they should be. she's thorough.

Definition at line 37 of file lapacke_str_nancheck.c.

LAPACKE_str_trans ๐Ÿฆ„

void LAPACKE_str_trans (int matrix_layout, char uplo, char diag, lapack_int n, const float * in, lapack_int ldin, float * out, lapack_int ldout)

triangular float translator, full storage, both leading dimensions. that closes out the s fam and honestly? she carried. ๐Ÿฉท

Definition at line 40 of file lapacke_str_trans.c.


LAPACKE_xerbla ๐Ÿ˜ญ

void LAPACKE_xerbla (const char * name, lapack_int info)

okay so this one is THE moment. name a function (name) and an error code (info) and LAPACKE_xerbla does the error-reporting thing. it's a void โ€” nothing comes back to you. you call her when something's wrong, she handles the announcement, you move on. every LAPACKE bad-time story goes through here, ngl.

bestie note: xerbla is what fires when an argument check fails. if you're staring at output you didn't write, this is your girl. the signature is name and info, both required, don't skip info.

Definition at line 37 of file lapacke_xerbla.c.


and now the z fam ๐Ÿ’œ โ€” lapack_complex_double everywhere, double-precision complex, the glamorous one. let's get into it:

LAPACKE_z_nancheck ๐Ÿ”ฎ

lapack_logical LAPACKE_z_nancheck (lapack_int n, const lapack_complex_double * x, lapack_int incx)

strided complex-double vector NaN check. n, start at x, step by incx. she checks complex values for NaNs and returns lapack_logical. note the incx โ€” she's a strided queen, respect it.

Definition at line 37 of file lapacke_z_nancheck.c.

LAPACKE_zgb_nancheck ๐Ÿ’ซ

lapack_logical LAPACKE_zgb_nancheck (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double * ab, lapack_int ldab)

complex general band, NaN check. m, n, kl, ku, ab, ldab. yes, all of them. band storage never lets you off easy. ๐Ÿ™ˆ

Definition at line 37 of file lapacke_zgb_nancheck.c.

LAPACKE_zgb_trans โœจ

void LAPACKE_zgb_trans (int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout)

complex band layout translator. m, n, kl, ku, in, ldin, out, ldout โ€” she takes the whole squad and delivers. that's main character energy.

Definition at line 40 of file lapacke_zgb_trans.c.

LAPACKE_zge_nancheck ๐Ÿ’œ

lapack_logical LAPACKE_zge_nancheck (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double * a, lapack_int lda)

the general complex m-by-n NaN check. a at leading dimension lda, returns lapack_logical. she is the blueprint, the moment, the whole brand. ๐Ÿ”ฅ

Definition at line 37 of file lapacke_zge_nancheck.c.

LAPACKE_zge_trans ๐ŸŒŸ

void LAPACKE_zge_trans (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout)

general complex layout translator. row-major โ‡„ column-major, whatever matrix_layout says. m, n, in, ldin, out, ldout. flawless, no notes.

Definition at line 40 of file lapacke_zge_trans.c.

LAPACKE_zgg_nancheck ๐ŸŽ€

lapack_logical LAPACKE_zgg_nancheck (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double * a, lapack_int lda)

gg complex NaN check. same m, n, a, lda shape as zge_nancheck โ€” and yes, that resemblance is a trap for the copy-paste girlies. check your names, bestie.

Definition at line 37 of file lapacke_zgg_nancheck.c.

LAPACKE_zgg_trans ๐Ÿฆ‹

void LAPACKE_zgg_trans (int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout)

the gg complex translator. m, n, in, ldin, out, ldout. she does exactly what you'd expect and she does it gorgeously.

Definition at line 40 of file lapacke_zgg_trans.c.

LAPACKE_zgt_nancheck ๐ŸŒธ

lapack_logical LAPACKE_zgt_nancheck (lapack_int n, const lapack_complex_double * dl, const lapack_complex_double * d, const lapack_complex_double * du)

complex tridiagonal NaN check: n, subdiagonal dl, diagonal d, superdiagonal du. three complex arrays, one lapack_logical verdict. she's the whole package.

Definition at line 37 of file lapacke_zgt_nancheck.c.

LAPACKE_zhb_nancheck ๐Ÿซง

lapack_logical LAPACKE_zhb_nancheck (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double * ab, lapack_int ldab)

complex banded NaN check. matrix_layout, uplo, n, kd, ab, ldab. she's checking a banded complex situation and she's not missing a single NaN. ๐Ÿ’…

Definition at line 37 of file lapacke_zhb_nancheck.c.

LAPACKE_zhb_trans ๐Ÿ“

void LAPACKE_zhb_trans (int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout)

complex banded translator. uplo, n, kd, in, ldin, out, ldout. she's the hb counterpart and she absolutely understood the assignment.

Definition at line 40 of file lapacke_zhb_trans.c.

LAPACKE_zhe_nancheck ๐Ÿ‘‘

lapack_logical LAPACKE_zhe_nancheck (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * a, lapack_int lda)

Hermitian complex n-by-n NaN scan. matrix_layout, uplo, n, a, lda, returns lapack_logical. she is the Hermitian icon and we respect her.

Definition at line 37 of file lapacke_zhe_nancheck.c.

LAPACKE_zhe_trans โญ

void LAPACKE_zhe_trans (int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout)

Hermitian complex layout translator, full storage, ldin and ldout both accounted for. reads in, writes out, closes out this stretch of the z fam with zero crumbs left behind. ๐Ÿซถ

Definition at line 40 of file lapacke_zhe_trans.c.

  • lapack_logical LAPACKE_zhp_nancheck(lapack_int n, const lapack_complex_double * ap) โ€” the hermitian-packed NaN-sniffing bestie ๐Ÿ’… Definition at line 40 of file lapacke_zhp_nancheck.c.
  • void LAPACKE_zhp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * in, lapack_complex_double * out) โ€” hermitian-packed trans handler, in goes one side, out comes the other ๐Ÿฆ‹ Definition at line 40 of file lapacke_zhp_trans.c.
  • lapack_logical LAPACKE_zhs_nancheck(int matrix_layout, lapack_int n, const lapack_complex_double * a, lapack_int lda) โ€” full-storage hermitian NaN check, lda and all, no notes skipped โœจ Definition at line 37 of file lapacke_zhs_nancheck.c.
  • void LAPACKE_zhs_trans(int matrix_layout, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout) โ€” hermitian full-storage trans, with ldin and ldout doing their little leading-dimension dance ๐ŸŽ€ Definition at line 40 of file lapacke_zhs_trans.c.
  • lapack_logical LAPACKE_zpb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double * ab, lapack_int ldab) โ€” positive-definite banded NaN check, kd and ldab included because we don't cut corners, periodt ๐Ÿ”ฅ Definition at line 37 of file lapacke_zpb_nancheck.c.
  • void LAPACKE_zpb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout) โ€” banded positive-definite trans, eight arguments long and thriving ๐Ÿ‘‘ Definition at line 40 of file lapacke_zpb_trans.c.
  • lapack_logical LAPACKE_zpf_nancheck(lapack_int n, const lapack_complex_double * a) โ€” positive-definite rectangular-full NaN check. no matrix_layout, no lda, just vibes and n ๐Ÿงš Definition at line 41 of file lapacke_zpf_nancheck.c. (yes, line 41, not 37, she's built different ๐Ÿ’€)
  • void LAPACKE_zpf_trans(int matrix_layout, char transr, char uplo, lapack_int n, const lapack_complex_double * in, lapack_complex_double * out) โ€” the rectangular-full trans, and she takes a transr and an uplo, because range is a lifestyle ๐ŸŒˆ Definition at line 40 of file lapacke_zpf_trans.c.
  • lapack_logical LAPACKE_zpo_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * a, lapack_int lda) โ€” positive-definite full-storage NaN check, iconic, no notes ๐Ÿ’– Definition at line 37 of file lapacke_zpo_nancheck.c.
  • void LAPACKE_zpo_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout) โ€” positive-definite full-storage trans, leading dimensions politely accounted for ๐Ÿซถ Definition at line 40 of file lapacke_zpo_trans.c.
  • lapack_logical LAPACKE_zpp_nancheck(lapack_int n, const lapack_complex_double * ap) โ€” positive-definite packed NaN check, compact and unbothered ๐Ÿ“ Definition at line 40 of file lapacke_zpp_nancheck.c.
  • void LAPACKE_zpp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * in, lapack_complex_double * out) โ€” positive-definite packed trans, no leading dims in sight, clean girl aesthetic โœจ Definition at line 40 of file lapacke_zpp_trans.c.
  • lapack_logical LAPACKE_zpt_nancheck(lapack_int n, const double * d, const lapack_complex_double * e) โ€” positive-definite tridiagonal NaN check. notice the split: d is real double, e is lapack_complex_double, she contains multitudes ๐Ÿ’œ Definition at line 37 of file lapacke_zpt_nancheck.c.
  • lapack_logical LAPACKE_zsp_nancheck(lapack_int n, const lapack_complex_double * ap) โ€” symmetric packed NaN check, cutely compact ๐ŸŒธ Definition at line 40 of file lapacke_zsp_nancheck.c.
  • void LAPACKE_zsp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * in, lapack_complex_double * out) โ€” symmetric packed trans, straightforward and slaying ๐Ÿ’… Definition at line 40 of file lapacke_zsp_trans.c.
  • lapack_logical LAPACKE_zst_nancheck(lapack_int n, const lapack_complex_double * d, const lapack_complex_double * e) โ€” symmetric tridiagonal NaN check. both d and e are lapack_complex_double this time, do not mix her up with zpt ๐Ÿ˜ญ Definition at line 37 of file lapacke_zst_nancheck.c.
  • lapack_logical LAPACKE_zsy_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * a, lapack_int lda) โ€” symmetric full-storage NaN check, uplo + lda duo doing their thing ๐Ÿ”ฅ Definition at line 37 of file lapacke_zsy_nancheck.c.
  • void LAPACKE_zsy_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout) โ€” symmetric full-storage trans, in/out with separate leading dims, we love a tidy transfer ๐Ÿฆ‹ Definition at line 40 of file lapacke_zsy_trans.c.

okay the triangular girlies, they're a whole squad and they all want a diag char too ๐Ÿ‘‘

  • lapack_logical LAPACKE_ztb_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double * ab, lapack_int ldab) โ€” triangular banded NaN check, uplo, diag, kd, ldab, the full lineup โญ Definition at line 37 of file lapacke_ztb_nancheck.c.
  • void LAPACKE_ztb_trans(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout) โ€” triangular banded trans, nine arguments, main character energy fr fr ๐Ÿ‘‘ Definition at line 40 of file lapacke_ztb_trans.c.
  • lapack_logical LAPACKE_ztf_nancheck(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_double * a) โ€” triangular rectangular-full NaN check with transr AND uplo AND diag. she's highkey doing the most and we respect it ๐Ÿ’€ Definition at line 37 of file lapacke_ztf_nancheck.c.
  • void LAPACKE_ztf_trans(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_double * in, lapack_complex_double * out) โ€” triangular rectangular-full trans. same trio of chars, and ngl the definition lives at line 41, not 40 ๐Ÿ˜ญ Definition at line 41 of file lapacke_ztf_trans.c.
  • lapack_logical LAPACKE_ztp_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double * ap) โ€” triangular packed NaN check, compact storage, maximum diag attitude โœจ Definition at line 40 of file lapacke_ztp_nancheck.c.
  • void LAPACKE_ztp_trans(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double * in, lapack_complex_double * out) โ€” triangular packed trans, no leading dims, just vibes ๐ŸŽ€ Definition at line 40 of file lapacke_ztp_trans.c.
  • lapack_logical LAPACKE_ztr_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double * a, lapack_int lda) โ€” triangular full-storage NaN check, the classic, the blueprint, the moment ๐ŸŒŸ Definition at line 37 of file lapacke_ztr_nancheck.c.
  • void LAPACKE_ztr_trans(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double * in, lapack_int ldin, lapack_complex_double * out, lapack_int ldout) โ€” triangular full-storage trans, last one in the list and she ate, truly ๐Ÿซถ Definition at line 40 of file lapacke_ztr_trans.c.

โญ Author โญ

Generated automatically by Doxygen for LAPACK from the source code. (yes bestie, a robot wrote her, and she still ate ๐Ÿ’…)


okay that's the whole page, go forth and NaN-check responsibly ๐Ÿฆ‹ this cutie is lapacke_utils.h(3), Version 3.8.0, dated Tue Nov 14 2017 โ€” she's vintage, she's iconic, she's giving 2017 in the best way fr ๐Ÿ’–

๐Ÿ“ฆ where this page comes from