HPL_dlaswp03N(3)

πŸ“¦ version 2.2, in fedora 43, fedora 44

✨ HPL_dlaswp03N ✨

okay bestie, gather round, because we're talking about a function from the HPL Library Functions crew and it's lowkey a little copy machine πŸ’…


πŸŽ€ NAME πŸŽ€

HPL_dlaswp03N β€” copy rows of W into U. that's it, that's the whole vibe. she copies, she slays, she goes home. πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

#include "hpl.h"

void HPL_dlaswp03N( const int M, const int N, double * U, const int LDU,
       const double * W0, const double * W, const int LDW );

like yes, she needs all of those arguments, don't @ me πŸ™ˆ


🌸 DESCRIPTION 🌸

so here's the tea, bestie: HPL_dlaswp03N copies columns of W into rows of an array U. iconic behavior honestly.

and the way she knows where to put them?? the destination in U for these columns (the ones chillin' inside W) is stored inside W0. so W0 is like the group chat that tells everyone where to sit. no cap. 🫢


πŸ’œ ARGUMENTS πŸ’œ

  • M β€” (local input) const int β€” On entry, M specifies the number of columns of W stored contiguously that should be copied into U. M must be at least zero. like, zero or more, she's not gonna do negative columns, that's not a thing ✨
  • N β€” (local input) const int β€” On entry, N specifies the length of columns of W stored contiguously that should be copied into U. N must be at least zero. same energy, no negativity allowed πŸ’…
  • U β€” (local input/output) double * β€” On entry, U points to an array of dimension (LDU,N). Columns of W are copied as rows within this array U at the positions specified in W0. she's both input AND output btw, main character energy fr fr πŸ‘‘
  • LDU β€” (local input) const int β€” On entry, LDU specifies the leading dimension of the array U. LDU must be at least MAX(1,M). bestie that MAX(1,M) is doing a lot of heavy lifting, don't skip it 😭
  • W0 β€” (local input) const double * β€” On entry, W0 is an array of size (M-1)*LDW+1, that contains the destination offset in U where the columns of W should be copied. she's the map, she's the GPS, she's the little arrow saying "put it there" 🧚
  • W β€” (local input) const double * β€” On entry, W is an array of size (LDW,M), that contains data to be copied into U. For i in [0..M), entries W(:,i) should be copied into the row or column W0(i*LDW) of U. yes the math is specific, yes it matters, yes I said what I said πŸ“
  • LDW β€” (local input) const int β€” On entry, LDW specifies the leading dimension of the array W. LDW must be at least MAX(1,N+1). note the +1 bestie, it's not MAX(1,N), it's MAX(1,N+1), and that one extra is load-bearing πŸ’€

🌈 SEE ALSO 🌈

the whole family came through, and yes they're all invited to the function reunion:

  • HPL_dlaswp00N (3)
  • HPL_dlaswp10N (3)
  • HPL_dlaswp01N (3)
  • HPL_dlaswp01T (3)
  • HPL_dlaswp02N (3)
  • HPL_dlaswp03N (3)
  • HPL_dlaswp03T (3)
  • HPL_dlaswp04N (3)
  • HPL_dlaswp04T (3)
  • HPL_dlaswp05N (3)
  • HPL_dlaswp05T (3)
  • HPL_dlaswp06N (3)
  • HPL_dlaswp06T (3)

ok that's the whole page bestie, go forth and copy those columns into rows responsibly 🫢

and that's a wrap on HPL 2.2, dated February 24, 2016 πŸ’– mwah, stay slay, drink water, and always check your leading dimensions βœ¨πŸŽ€

πŸ“¦ where this page comes from