/home/abui...RC/crscl.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… /home/abui...RC/crscl.f(3) β€” Library Functions Manual, bestie ✨

okay so picture this: you're deep in the LAPACK source tree, right, and you stumble on this little icon. That's crscl.f, and it lives at:

/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/SRC/crscl.f

no cap, that's the whole NAME section and it's just the path. slay, we love a self-explaining filename πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines 🌸

  • subroutine CRSCL (n, a, x, incx) β€” CRSCL multiplies a vector by the reciprocal of a real scalar. yes bestie, that's the whole vibe πŸ’–

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine CRSCL (integer n, complex a, complex, dimension( * ) x, integer
    incx)

CRSCL multiplies a vector by the reciprocal of a real scalar. periodt. πŸ‘‘

πŸŽ€ Purpose: πŸŽ€

!> !> CRSCL multiplies an n-element complex vector x by the complex scalar !> 1/a. This is done without overflow or underflow as long as !> the final result x/a does not overflow or underflow. !>

so like β€” it's dividing by a, but the fancy way. It multiplies by 1/a and it's carefully built so you don't overflow or underflow along the way. πŸ’€ the caveat tho: this only holds as long as the final result x/a does not overflow or underflow. So the intermediate math is safe, the destination is on you, iykyk. πŸ™ˆ

🧚 Parameters 🧚

  • N β€” N is INTEGER, and it's literally the number of components of the vector x. that's it, that's the whole job. πŸ’œ
  • A β€” A is COMPLEX, the scalar a which is used to divide each component of x. πŸ“ but listen: A must not be 0, or the subroutine will divide by zero. not me warning you about the classic divide-by-zero jump scare 😭 <red>hard no on a = 0, bestie.</red>
  • X β€” X is COMPLEX array, dimension (1+(N-1)*abs(INCX)), and it's the n-element vector x. main character energy honestly. ✨
  • INCX β€” INCX is INTEGER, the increment between successive values of the vector X. and then the iconic line:
> 0: X(1) = X(1) and X(1+(i-1)*INCX) = x(i), 1< i<= n

so the stride mapping is spelled out exactly like that β€” X(1) = X(1) and X(1+(i-1)*INCX) = x(i) for 1< i<= n. write it down, don't improvise it. 🫢

🌈 Author 🌈

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

four whole institutions on the group project and it still shipped, we love to see it πŸ’…

⭐ Definition at line 83 of file crscl.f. ⭐

like, literally line 83. go look. πŸ”₯


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. πŸ€– not a human wrote this one, it's giving robot secretary energy, and honestly? she ate. πŸŽ€


so yeah, that's the whole page! πŸ’–

LAPACK β€” Version 3.12.0, dated with that very page footer /home/abui...RC/crscl.f(3) 🌸 mwah, go divide something responsibly, bestie πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from