HPL_dlaswp02N(3)

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

πŸ’– HPL_dlaswp02N β€” the pack-rows-into-columns girlie πŸ’–

okay bestie, welcome to HPL_dlaswp02N, a real one from the HPL Library Functions lineup. This is the one that takes scattered rows of A and packs them, all cute and contiguous, into the workspace W. Row offsets in A? Specified by LINDXA. That's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

#include "hpl.h"

void HPL_dlaswp02N( const int M, const int N, const double * A, const
int LDA, double * W0, double * W, const int LDW, const int * LINDXA,
const int * LINDXAU );

🌸 DESCRIPTION 🌸

So like, HPL_dlaswp02N packs scattered rows of an array A into the workspace W. The row offsets in A are specified by LINDXA. That's it, that's the job, and she does it flawlessly. πŸ’…


πŸ‘‘ ARGUMENTS πŸ‘‘

  • M (local input) β€” const int On entry, M says how many rows of A should be copied into W. M must be at least zero. no negative nonsense pls πŸ™ˆ
  • N (local input) β€” const int On entry, N is the length of the rows of A that should be copied into W. N must be at least zero.
  • A (local input) β€” const double * On entry, A points to an array of dimension (LDA,N). The rows of this array specified by LINDXA should be copied into W.
  • LDA (local input) β€” const int On entry, LDA is the leading dimension of the array A. LDA must be at least MAX(1,M).
  • W0 (local input/output) β€” double * On exit, 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. yeah she's input and output, main character energy fr 🫢
  • W (local output) β€” double * On entry, W is an array of size (LDW,M). On exit, W contains the rows LINDXA[i] for i in [0..M) of A stored contiguously in W(:,i).
  • LDW (local input) β€” const int On entry, LDW is the leading dimension of the array W. LDW must be at least MAX(1,N+1).
  • LINDXA (local input) β€” const int * On entry, LINDXA is an array of dimension M that contains the local row indexes of A that should be copied into W.
  • LINDXAU (local input) β€” const int * On entry, LINDXAU is an array of dimension M that contains the local row indexes of U that should be copied into A and replaced by the rows of W. the swap part of the saga, iykyk 😭
lowkey important: those minimum sizes on LDA and LDW are not suggestions bestie, they're the rules. LDA >= MAX(1,M) and LDW >= MAX(1,N+1), periodt.

πŸ¦‹ SEE ALSO πŸ¦‹

the whole dlaswp cinematic universe, go read them all, they ate:

  • 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)

and that's the whole page bestie πŸ’– this iconic little number comes to you from HPL 2.2, dated February 24, 2016 β€” a certified classic, no cap. go pack some rows, you got this πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from