XERBLA_ARRAY(3)
πΈ XERBLA_ARRAY(3) β bestie edition πΈ
okay so real talk, this is a page from the Library Functions Manual, and the file we're stanning is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/xerbla_array.f
like yes that's the whole NAME section, it's literally just the path, we don't make the rules π
β¨ SYNOPSIS β¨
Functions/Subroutines π
subroutine XERBLA_ARRAY (srname_array, srname_len, info)β say hi to XERBLA_ARRAY, the icon herself
π Function/Subroutine Documentation π
subroutine XERBLA_ARRAY (character(1), dimension(srname_len) srname_array,
integer srname_len, integer info)
XERBLA_ARRAY β she's the main character, periodt.
π Purpose π
ok so picture this: XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK and BLAS error handler. she's the middleman, the group-chat admin, the connector π«Ά
- Rather than taking a Fortran string argument as the function's name, XERBLA_ARRAY takes an array of single characters along with the array's length.
- Then she copies up to 32 characters of that array into a Fortran string and passes that to
XERBLA. - And if you call her with a non-positive
SRNAME_LEN, XERBLA_ARRAY will call XERBLA with a string of all blank characters. no name, no problem, blank slate energy β¨
So say some macro or other device makes XERBLA_ARRAY available to C99 by a name lapack_xerbla and with a common Fortran calling convention. Then a C99 program could invoke XERBLA via:
!> {
!> int flen = strlen(__func__);
!> lapack_xerbla(__func__, &flen, &info);
!> }
And honestly? Providing XERBLA_ARRAY is not necessary for intercepting LAPACK errors. XERBLA_ARRAY calls XERBLA. like she's helpful but she's not gatekeeping π
π Parameters π
SRNAME_ARRAYβ ok soSRNAME_ARRAY is CHARACTER(1) array, dimension (SRNAME_LEN). and what is it? it's The name of the routine which called XERBLA_ARRAY. the whole "who sent me here" of it all.SRNAME_LENβSRNAME_LEN is INTEGER, specifically The length of the name in SRNAME_ARRAY. how many characters we're working with, bestie.INFOβINFO is INTEGER, and it's The position of the invalid parameter in the parameter list of the calling routine. it's giving "point at the problem" ππ
π¦ Author π¦
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
yes, four institutions, a whole collective, they ate π
πΈ Purpose (and yes it's genuinely in here twice, no I'm not okay π) πΈ
XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK and BLAS error handler. instead of a Fortran string argument for the function's name, she takes an array of single characters plus the array's length. she copies up to 32 characters of that array into a Fortran string and hands it toXERBLA. called with a non-positiveSRNAME_LEN? she callsXERBLAwith a string of all blank characters. iconic, consistent, unbothered π
Again, for the people in the back: some macro or other device can make XERBLA_ARRAY available to C99 as lapack_xerbla with a common Fortran calling convention, and then a C99 program could invoke XERBLA via:
!> {
!> int flen = strlen(__func__);
!> lapack_xerbla(__func__, &flen, &info);
!> }
And the caveat stays loud: Providing XERBLA_ARRAY is not necessary for intercepting LAPACK errors. XERBLA_ARRAY calls XERBLA. no cap π§
π Parameters (round two, same as round one) π
SRNAME_ARRAYβSRNAME_ARRAY is CHARACTER(1) array, dimension (SRNAME_LEN). The name of the routine which called XERBLA_ARRAY.SRNAME_LENβSRNAME_LEN is INTEGER. The length of the name in SRNAME_ARRAY.INFOβINFO is INTEGER. The position of the invalid parameter in the parameter list of the calling routine.
π¦ Author (again, still the same four) π¦
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
also, little fun fact for the vibe check: Definition at line 79 of file xerbla_array.f. β
π Author π
Generated automatically by Doxygen for LAPACK from the source code. a bot wrote this page and honestly it did that π
okay that's the whole thing, and here's the cute sign-off: this little beauty is from LAPACK, Version 3.12.0, and the footer date/path vibe was /home/abui...bla_array.f(3) β go forth and call your error handler, bestie, she's slaying ππβ¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms