/home/abui...G/dblat2.f(3)

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

πŸŽ€ dblat2.f(3) β€” Library Functions Manual πŸŽ€

okay bestie, buckle up πŸ’– this is the man page for /home/abui...G/dblat2.f(3), and it's literally the test driver energy of the whole Double Precision Level 2 BLAS situation. It's a big one, so we're doing it in parts β€” this is part 1, no cap.


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/TESTING/dblat2.f

like... that's the whole name. it's giving "path reveal" πŸ’… and honestly? iconic of it.


🌸 SYNOPSIS 🌸

Functions/Subroutines

okay so here's the whole cast of characters, and I'm keeping every single argument because we do NOT abbreviate in this house 🫢

program DBLAT2
     DBLAT2
subroutine DCHK1 (sname, eps, thresh, nout, ntra, trace, rewi, fatal,
     nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, incmax,
     a, aa, as, x, xx, xs, y, yy, ys, yt, g)
subroutine DCHK2 (sname, eps, thresh, nout, ntra, trace, rewi, fatal,
     nidim, idim, nkb, kb, nalf, alf, nbet, bet, ninc, inc, nmax, incmax,
     a, aa, as, x, xx, xs, y, yy, ys, yt, g)
subroutine DCHK3 (sname, eps, thresh, nout, ntra, trace, rewi, fatal,
     nidim, idim, nkb, kb, ninc, inc, nmax, incmax, a, aa, as, x, xx, xs,
     xt, g, z)
subroutine DCHK4 (sname, eps, thresh, nout, ntra, trace, rewi, fatal,
     nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, xx,
     xs, y, yy, ys, yt, g, z)
subroutine DCHK5 (sname, eps, thresh, nout, ntra, trace, rewi, fatal,
     nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, xx,
     xs, y, yy, ys, yt, g, z)
subroutine DCHK6 (sname, eps, thresh, nout, ntra, trace, rewi, fatal,
     nidim, idim, nalf, alf, ninc, inc, nmax, incmax, a, aa, as, x, xx,
     xs, y, yy, ys, yt, g, z)
subroutine DCHKE (isnum, srnamt, nout)
subroutine DMAKE (type, uplo, diag, m, n, a, nmax, aa, lda, kl, ku,
     reset, transl)
subroutine DMVCH (trans, m, n, alpha, a, nmax, x, incx, beta, y, incy,
     yt, g, yy, eps, err, fatal, nout, mv)
logical function LDE (ri, rj, lr)
logical function LDERES (type, uplo, m, n, aa, as, lda)
double precision function DBEG (reset)
double precision function DDIFF (x, y)
subroutine CHKXER (srnamt, infot, nout, lerr, ok)
subroutine DREGR1 (trans, m, n, ly, kl, ku, alpha, a, lda, x, incx,
     beta, y, incy, ys)
subroutine XERBLA (srname, info)

πŸ’œ Function/Subroutine Documentation πŸ’œ

this is the part where the page goes deep on each one. we're starting in alphabetical-ish order because that's the vibe ✨

πŸ¦‹ subroutine CHKXER

subroutine CHKXER (character*6 srnamt, integer infot, integer nout, logical
    lerr, logical ok)

Definition at line 3120 of file dblat2.f.


πŸ¦‹ double precision function DBEG

double precision function DBEG (logical reset)

Definition at line 3058 of file dblat2.f.


πŸ‘‘ program DBLAT2

program DBLAT2

DBLAT2. that's it, that's the program. main character energy fr πŸ‘‘

Definition at line 101 of file dblat2.f.

πŸŽ€ Purpose

this is the whole point of the thing, so listen up bestie:

Test program for the DOUBLE PRECISION Level 2 Blas.
The program must be driven by a short data file. The first 18 records of the file are read using list-directed input, the last 16 records are read using the format ( A6, L2 ). An annotated example of a data file can be obtained by deleting the first 3 characters from the following 34 lines:
'dblat2.out'      NAME OF SUMMARY OUTPUT FILE
6                 UNIT NUMBER OF SUMMARY FILE
'DBLAT2.SNAP'     NAME OF SNAPSHOT OUTPUT FILE
-1                UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0)
F        LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD.
F        LOGICAL FLAG, T TO STOP ON FAILURES.
T        LOGICAL FLAG, T TO TEST ERROR EXITS.
16.0     THRESHOLD VALUE OF TEST RATIO
6                 NUMBER OF VALUES OF N
0 1 2 3 5 9       VALUES OF N
4                 NUMBER OF VALUES OF K
0 1 2 4           VALUES OF K
4                 NUMBER OF VALUES OF INCX AND INCY
1 2 -1 -2         VALUES OF INCX AND INCY
3                 NUMBER OF VALUES OF ALPHA
0.0 1.0 0.7       VALUES OF ALPHA
3                 NUMBER OF VALUES OF BETA
0.0 1.0 0.9       VALUES OF BETAC
DGEMV  T PUT F FOR NO TEST. SAME COLUMNS.
DGBMV  T PUT F FOR NO TEST. SAME COLUMNS.
DSYMV  T PUT F FOR NO TEST. SAME COLUMNS.
DSBMV  T PUT F FOR NO TEST. SAME COLUMNS.
DSPMV  T PUT F FOR NO TEST. SAME COLUMNS.
DTRMV  T PUT F FOR NO TEST. SAME COLUMNS.
DTBMV  T PUT F FOR NO TEST. SAME COLUMNS.
DTPMV  T PUT F FOR NO TEST. SAME COLUMNS.
DTRSV  T PUT F FOR NO TEST. SAME COLUMNS.
DTBSV  T PUT F FOR NO TEST. SAME COLUMNS.
DTPSV  T PUT F FOR NO TEST. SAME COLUMNS.
DGER   T PUT F FOR NO TEST. SAME COLUMNS.
DSYR   T PUT F FOR NO TEST. SAME COLUMNS.
DSPR   T PUT F FOR NO TEST. SAME COLUMNS.
DSYR2  T PUT F FOR NO TEST. SAME COLUMNS.
DSPR2  T PUT F FOR NO TEST. SAME COLUMNS.

like, that's the entire config format in one block. screenshot it, save it, tattoo it, whatever 😭

🌈 Further Details

===============

so there's receipts, and here they are:

See:
Dongarra J. J., Du Croz J. J., Hammarling S. and Hanson R. J.. An extended set of Fortran Basic Linear Algebra Subprograms.
Technical Memoranda Nos. 41 (revision 3) and 81, Mathematics and Computer Science Division, Argonne National Laboratory, 9700 South Cass Avenue, Argonne, Illinois 60439, US.
Or
NAG Technical Reports TR3/87 and TR4/87, Numerical Algorithms Group Ltd., NAG Central Office, 256 Banbury Road, Oxford OX2 7DE, UK, and Numerical Algorithms Group Inc., 1101 31st Street, Suite 100, Downers Grove, Illinois 60515-1263, USA.

and the lore 🫢:

-- Written on 10-August-1987. Richard Hanson, Sandia National Labs. Jeremy Du Croz, NAG Central Office.
10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers can be run multiple times without deleting generated output files (susan)

shoutout susan, fr fr πŸ’–

⭐ Author

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

Definition at line 101 of file dblat2.f.


πŸ“ subroutine DCHK1

subroutine DCHK1 (character*6 sname, double precision eps, double precision
    thresh, integer nout, integer ntra, logical trace, logical rewi, logical
    fatal, integer nidim, integer, dimension( nidim ) idim, integer nkb,
    integer, dimension( nkb ) kb, integer nalf, double precision, dimension(
    nalf ) alf, integer nbet, double precision, dimension( nbet ) bet,
    integer ninc, integer, dimension( ninc ) inc, integer nmax, integer
    incmax, double precision, dimension( nmax, nmax ) a, double precision,
    dimension( nmax*nmax ) aa, double precision, dimension( nmax*nmax ) as,
    double precision, dimension( nmax ) x, double precision, dimension(
    nmax*incmax ) xx, double precision, dimension( nmax*incmax ) xs, double
    precision, dimension( nmax ) y, double precision, dimension( nmax*incmax
    ) yy, double precision, dimension( nmax*incmax ) ys, double precision,
    dimension( nmax ) yt, double precision, dimension( nmax ) g)

Definition at line 427 of file dblat2.f.


πŸ“ subroutine DCHK2

subroutine DCHK2 (character*6 sname, double precision eps, double precision
    thresh, integer nout, integer ntra, logical trace, logical rewi, logical
    fatal, integer nidim, integer, dimension( nidim ) idim, integer nkb,
    integer, dimension( nkb ) kb, integer nalf, double precision, dimension(
    nalf ) alf, integer nbet, double precision, dimension( nbet ) bet,
    integer ninc, integer, dimension( ninc ) inc, integer nmax, integer
    incmax, double precision, dimension( nmax, nmax ) a, double precision,
    dimension( nmax*nmax ) aa, double precision, dimension( nmax*nmax ) as,
    double precision, dimension( nmax ) x, double precision, dimension(
    nmax*incmax ) xx, double precision, dimension( nmax*incmax ) xs, double
    precision, dimension( nmax ) y, double precision, dimension( nmax*incmax
    ) yy, double precision, dimension( nmax*incmax ) ys, double precision,
    dimension( nmax ) yt, double precision, dimension( nmax ) g)

Definition at line 796 of file dblat2.f.


πŸ“ subroutine DCHK3

note bestie: this one swaps nbet/bet out for xt and z β€” the way it curates its own argument list πŸ’…

subroutine DCHK3 (character*6 sname, double precision eps, double precision
    thresh, integer nout, integer ntra, logical trace, logical rewi, logical
    fatal, integer nidim, integer, dimension( nidim ) idim, integer nkb,
    integer, dimension( nkb ) kb, integer ninc, integer, dimension( ninc )
    inc, integer nmax, integer incmax, double precision, dimension( nmax,
    nmax ) a, double precision, dimension( nmax*nmax ) aa, double precision,
    dimension( nmax*nmax ) as, double precision, dimension( nmax ) x, double
    precision, dimension( nmax*incmax ) xx, double precision, dimension(
    nmax*incmax ) xs, double precision, dimension( nmax ) xt, double
    precision, dimension( nmax ) g, double precision, dimension( nmax ) z)

Definition at line 1139 of file dblat2.f.


πŸ“ subroutine DCHK4

subroutine DCHK4 (character*6 sname, double precision eps, double precision
    thresh, integer nout, integer ntra, logical trace, logical rewi, logical
    fatal, integer nidim, integer, dimension( nidim ) idim, integer nalf,
    double precision, dimension( nalf ) alf, integer ninc, integer,
    dimension( ninc ) inc, integer nmax, integer incmax, double precision,
    dimension( nmax, nmax ) a, double precision, dimension( nmax*nmax ) aa,
    double precision, dimension( nmax*nmax ) as, double precision,
    dimension( nmax ) x, double precision, dimension( nmax*incmax ) xx,
    double precision, dimension( nmax*incmax ) xs, double precision,
    dimension( nmax ) y, double precision, dimension( nmax*incmax ) yy,
    double precision, dimension( nmax*incmax ) ys, double precision,
    dimension( nmax ) yt, double precision, dimension( nmax ) g, double
    precision, dimension( nmax ) z)

Definition at line 1496 of file dblat2.f.


πŸ“ subroutine DCHK5

subroutine DCHK5 (character*6 sname, double precision eps, double precision
    thresh, integer nout, integer ntra, logical trace, logical rewi, logical
    fatal, integer nidim, integer, dimension( nidim ) idim, integer nalf,
    double precision, dimension( nalf ) alf, integer ninc, integer,
    dimension( ninc ) inc, integer nmax, integer incmax, double precision,
    dimension( nmax, nmax ) a, double precision, dimension( nmax*nmax ) aa,
    double precision, dimension( nmax*nmax ) as, double precision,
    dimension( nmax ) x, double precision, dimension( nmax*incmax ) xx,
    double precision, dimension( nmax*incmax ) xs, double precision,
    dimension( nmax ) y, double precision, dimension( nmax*incmax ) yy,
    double precision, dimension( nmax*incmax ) ys, double precision,
    dimension( nmax ) yt, double precision, dimension( nmax ) g, double
    precision, dimension( nmax ) z)

Definition at line 1757 of file dblat2.f.


πŸŒ€ DCHK6

subroutine DCHK6 (character*6 sname, double precision eps, double precision
    thresh, integer nout, integer ntra, logical trace, logical rewi, logical
    fatal, integer nidim, integer, dimension( nidim ) idim, integer nalf,
    double precision, dimension( nalf ) alf, integer ninc, integer,
    dimension( ninc ) inc, integer nmax, integer incmax, double precision,
    dimension( nmax, nmax ) a, double precision, dimension( nmax*nmax ) aa,
    double precision, dimension( nmax*nmax ) as, double precision,
    dimension( nmax ) x, double precision, dimension( nmax*incmax ) xx,
    double precision, dimension( nmax*incmax ) xs, double precision,
    dimension( nmax ) y, double precision, dimension( nmax*incmax ) yy,
    double precision, dimension( nmax*incmax ) ys, double precision,
    dimension( nmax ) yt, double precision, dimension( nmax ) g, double
    precision, dimension( nmax, 2 ) z)

Definition at line 2035 of file dblat2.f.

Ok bestie, look at this parameter list β€” it is not playing around πŸ’€. sname (a character*6), eps, thresh, nout, ntra, trace, rewi, fatal, nidim with idim, nalf with alf, ninc with inc, nmax, incmax, then a whole squad of arrays: a, aa, as, x, xx, xs, y, yy, ys, yt, g, and z. All of them sized off those dimension args. It's giving "test-driver main character" energy fr fr πŸ‘‘.


πŸ§ͺ DCHKE

subroutine DCHKE (integer isnum, character*6 srnamt, integer nout)

Definition at line 2350 of file dblat2.f.

Three (3) whole arguments: isnum, srnamt (that's a character*6), and nout. Short, sweet, and to the point β€” the minimalist icon we love to see ✨.


πŸ” DDIFF

double precision function DDIFF (double precision x, double precision y)

Definition at line 3104 of file dblat2.f.

A double precision function this time, not a subroutine β€” taking two double precision args, x and y. She's a function, she returns things, she's lowkey iconic πŸ’….


πŸ—οΈ DMAKE

subroutine DMAKE (character*2 type, character*1 uplo, character*1 diag,
    integer m, integer n, double precision, dimension( nmax, * ) a, integer
    nmax, double precision, dimension( * ) aa, integer lda, integer kl,
    integer ku, logical reset, double precision transl)

Definition at line 2676 of file dblat2.f.

Periodt, we're making something πŸŽ€. Args in order: type (character*2), uplo (character*1), diag (character*1), m, n, the matrix a declared as dimension( nmax, * ), then nmax, aa as dimension( * ), lda, kl, ku, reset (a logical), and transl (a double precision). Count 'em, don't skip 'em 🫢.


πŸ•΅οΈ DMVCH

subroutine DMVCH (character*1 trans, integer m, integer n, double precision
    alpha, double precision, dimension( nmax, * ) a, integer nmax, double
    precision, dimension( * ) x, integer incx, double precision beta, double
    precision, dimension( * ) y, integer incy, double precision, dimension(
    * ) yt, double precision, dimension( * ) g, double precision, dimension(
    * ) yy, double precision eps, double precision err, logical fatal,
    integer nout, logical mv)

Definition at line 2852 of file dblat2.f.

The way this one has everything 😭 β€” trans, m, n, alpha, the matrix a as dimension( nmax, * ), nmax, x with incx, beta, y with incy, yt, g, yy, eps, err, fatal, nout, and mv. That's the full checklist, no notes, ate and left no crumbs πŸ”₯.


πŸ“ DREGR1

subroutine DREGR1 (character*1 trans, integer m, integer n, integer ly,
    integer kl, integer ku, double precision alpha, double precision,
    dimension(lda,*) a, integer lda, double precision, dimension(*) x,
    integer incx, double precision beta, double precision, dimension(*) y,
    integer incy, double precision, dimension(*) ys)

Definition at line 3148 of file dblat2.f.

Careful with ly in there, bestie β€” that one's an integer, not a typo'd y πŸ™ˆ. Full roster: trans, m, n, ly, kl, ku, alpha, a as dimension(lda,*), lda, x as dimension(*), incx, beta, y as dimension(*), incy, and ys as dimension(*). Note the (*) vs (lda,*) β€” copy it exactly, don't be cute about it πŸŽ€.


βš–οΈ LDE

logical function LDE (double precision, dimension( * ) ri, double precision,
    dimension( * ) rj, integer lr)

Definition at line 2969 of file dblat2.f.

A logical function, so she returns a boolean vibe check βœ…. Args: ri and rj (both double precision arrays declared dimension( * )) plus lr, an integer. Short name, big responsibilities πŸ’œ.


🧐 LDERES

logical function LDERES (character*2 type, character*1 uplo, integer m,
    integer n, double precision, dimension( lda, * ) aa, double precision,
    dimension( lda, * ) as, integer lda)

Definition at line 2999 of file dblat2.f.

Another logical function β€” returns true/false and serves looks while doing it πŸ’…. Args: type (character*2), uplo (character*1), m, n, then two matrices aa and as both declared dimension( lda, * ), and finally lda. The "res" in the name is doing the heavy lifting spiritually, but the signature is right here so no guessing, k? 🌸


🚨 XERBLA

subroutine XERBLA (character*6 srname, integer info)

Definition at line 3181 of file dblat2.f.

The moment we've all been waiting for 😭πŸ”₯. XERBLA takes srname (character*6) and info (integer). Two args and legend status. If you know, you know β€” iykyk πŸ‘‘.


🫢 Author

Generated automatically by Doxygen for LAPACK from the source code.


Ok that's the whole page, bestie β€” every single one of those routines accounted for, no cap, no skips, all the dimension(...)s intact and everything 🩷.

LAPACK, Version 3.12.0, straight out of /home/abui...G/dblat2.f β€” mwah, she's generated by Doxygen and she's perfect πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from