Update BLAS API unit tests

This commit is contained in:
Gael Guennebaud 2015-11-30 22:19:20 +01:00
parent 034ca5a22d
commit e7a1c48185
10 changed files with 1036 additions and 588 deletions

View File

@ -1,7 +1,49 @@
*> \brief \b CBLAT1
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM CBLAT1
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the COMPLEX Level 1 BLAS.
*> Based upon the original BLAS test routine together with:
*>
*> F06GAF Example Program Text
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup complex_blas_testing
*
* =====================================================================
PROGRAM CBLAT1
* Test program for the COMPLEX Level 1 BLAS.
* Based upon the original BLAS test routine together with:
* F06GAF Example Program Text
*
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* =====================================================================
*
* .. Parameters ..
INTEGER NOUT
PARAMETER (NOUT=6)
@ -114,8 +156,8 @@
+ (5.0E0,6.0E0), (5.0E0,6.0E0), (0.1E0,0.1E0),
+ (-0.6E0,0.1E0), (0.1E0,-0.3E0), (7.0E0,8.0E0),
+ (7.0E0,8.0E0), (7.0E0,8.0E0), (7.0E0,8.0E0),
+ (7.0E0,8.0E0), (0.3E0,0.1E0), (0.1E0,0.4E0),
+ (0.4E0,0.1E0), (0.1E0,0.2E0), (2.0E0,3.0E0),
+ (7.0E0,8.0E0), (0.3E0,0.1E0), (0.5E0,0.0E0),
+ (0.0E0,0.5E0), (0.0E0,0.2E0), (2.0E0,3.0E0),
+ (2.0E0,3.0E0), (2.0E0,3.0E0), (2.0E0,3.0E0)/
DATA ((CV(I,J,2),I=1,8),J=1,5)/(0.1E0,0.1E0),
+ (4.0E0,5.0E0), (4.0E0,5.0E0), (4.0E0,5.0E0),
@ -129,10 +171,10 @@
+ (3.0E0,6.0E0), (-0.6E0,0.1E0), (4.0E0,7.0E0),
+ (0.1E0,-0.3E0), (7.0E0,2.0E0), (7.0E0,2.0E0),
+ (7.0E0,2.0E0), (0.3E0,0.1E0), (5.0E0,8.0E0),
+ (0.1E0,0.4E0), (6.0E0,9.0E0), (0.4E0,0.1E0),
+ (8.0E0,3.0E0), (0.1E0,0.2E0), (9.0E0,4.0E0)/
DATA STRUE2/0.0E0, 0.5E0, 0.6E0, 0.7E0, 0.7E0/
DATA STRUE4/0.0E0, 0.7E0, 1.0E0, 1.3E0, 1.7E0/
+ (0.5E0,0.0E0), (6.0E0,9.0E0), (0.0E0,0.5E0),
+ (8.0E0,3.0E0), (0.0E0,0.2E0), (9.0E0,4.0E0)/
DATA STRUE2/0.0E0, 0.5E0, 0.6E0, 0.7E0, 0.8E0/
DATA STRUE4/0.0E0, 0.7E0, 1.0E0, 1.3E0, 1.6E0/
DATA ((CTRUE5(I,J,1),I=1,8),J=1,5)/(0.1E0,0.1E0),
+ (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0),
+ (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0),
@ -145,8 +187,8 @@
+ (0.11E0,-0.03E0), (-0.17E0,0.46E0),
+ (-0.17E0,-0.19E0), (7.0E0,8.0E0), (7.0E0,8.0E0),
+ (7.0E0,8.0E0), (7.0E0,8.0E0), (7.0E0,8.0E0),
+ (0.19E0,-0.17E0), (0.32E0,0.09E0),
+ (0.23E0,-0.24E0), (0.18E0,0.01E0),
+ (0.19E0,-0.17E0), (0.20E0,-0.35E0),
+ (0.35E0,0.20E0), (0.14E0,0.08E0),
+ (2.0E0,3.0E0), (2.0E0,3.0E0), (2.0E0,3.0E0),
+ (2.0E0,3.0E0)/
DATA ((CTRUE5(I,J,2),I=1,8),J=1,5)/(0.1E0,0.1E0),
@ -162,9 +204,9 @@
+ (-0.17E0,0.46E0), (4.0E0,7.0E0),
+ (-0.17E0,-0.19E0), (7.0E0,2.0E0), (7.0E0,2.0E0),
+ (7.0E0,2.0E0), (0.19E0,-0.17E0), (5.0E0,8.0E0),
+ (0.32E0,0.09E0), (6.0E0,9.0E0),
+ (0.23E0,-0.24E0), (8.0E0,3.0E0),
+ (0.18E0,0.01E0), (9.0E0,4.0E0)/
+ (0.20E0,-0.35E0), (6.0E0,9.0E0),
+ (0.35E0,0.20E0), (8.0E0,3.0E0),
+ (0.14E0,0.08E0), (9.0E0,4.0E0)/
DATA ((CTRUE6(I,J,1),I=1,8),J=1,5)/(0.1E0,0.1E0),
+ (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0),
+ (1.0E0,2.0E0), (1.0E0,2.0E0), (1.0E0,2.0E0),
@ -177,8 +219,8 @@
+ (0.03E0,0.03E0), (-0.18E0,0.03E0),
+ (0.03E0,-0.09E0), (7.0E0,8.0E0), (7.0E0,8.0E0),
+ (7.0E0,8.0E0), (7.0E0,8.0E0), (7.0E0,8.0E0),
+ (0.09E0,0.03E0), (0.03E0,0.12E0),
+ (0.12E0,0.03E0), (0.03E0,0.06E0), (2.0E0,3.0E0),
+ (0.09E0,0.03E0), (0.15E0,0.00E0),
+ (0.00E0,0.15E0), (0.00E0,0.06E0), (2.0E0,3.0E0),
+ (2.0E0,3.0E0), (2.0E0,3.0E0), (2.0E0,3.0E0)/
DATA ((CTRUE6(I,J,2),I=1,8),J=1,5)/(0.1E0,0.1E0),
+ (4.0E0,5.0E0), (4.0E0,5.0E0), (4.0E0,5.0E0),
@ -193,8 +235,8 @@
+ (-0.18E0,0.03E0), (4.0E0,7.0E0),
+ (0.03E0,-0.09E0), (7.0E0,2.0E0), (7.0E0,2.0E0),
+ (7.0E0,2.0E0), (0.09E0,0.03E0), (5.0E0,8.0E0),
+ (0.03E0,0.12E0), (6.0E0,9.0E0), (0.12E0,0.03E0),
+ (8.0E0,3.0E0), (0.03E0,0.06E0), (9.0E0,4.0E0)/
+ (0.15E0,0.00E0), (6.0E0,9.0E0), (0.00E0,0.15E0),
+ (8.0E0,3.0E0), (0.00E0,0.06E0), (9.0E0,4.0E0)/
DATA ITRUE3/0, 1, 2, 2, 2/
* .. Executable Statements ..
DO 60 INCX = 1, 2
@ -529,7 +571,8 @@
*
* .. Parameters ..
INTEGER NOUT
PARAMETER (NOUT=6)
REAL ZERO
PARAMETER (NOUT=6, ZERO=0.0E0)
* .. Scalar Arguments ..
REAL SFAC
INTEGER LEN
@ -552,7 +595,7 @@
*
DO 40 I = 1, LEN
SD = SCOMP(I) - STRUE(I)
IF (SDIFF(ABS(SSIZE(I))+ABS(SFAC*SD),ABS(SSIZE(I))).EQ.0.0E0)
IF (ABS(SFAC*SD) .LE. ABS(SSIZE(I))*EPSILON(ZERO))
+ GO TO 40
*
* HERE SCOMP(I) IS NOT CLOSE TO STRUE(I).

View File

@ -1,68 +1,114 @@
*> \brief \b CBLAT2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM CBLAT2
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the COMPLEX 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 17 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 35 lines:
*> 'cblat2.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'CBLA2T.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,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
*> 3 NUMBER OF VALUES OF BETA
*> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
*> CGEMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CGBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CHEMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CHBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CHPMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CTRMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CTBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CTPMV T PUT F FOR NO TEST. SAME COLUMNS.
*> CTRSV T PUT F FOR NO TEST. SAME COLUMNS.
*> CTBSV T PUT F FOR NO TEST. SAME COLUMNS.
*> CTPSV T PUT F FOR NO TEST. SAME COLUMNS.
*> CGERC T PUT F FOR NO TEST. SAME COLUMNS.
*> CGERU T PUT F FOR NO TEST. SAME COLUMNS.
*> CHER T PUT F FOR NO TEST. SAME COLUMNS.
*> CHPR T PUT F FOR NO TEST. SAME COLUMNS.
*> CHER2 T PUT F FOR NO TEST. SAME COLUMNS.
*> CHPR2 T PUT F FOR NO TEST. SAME COLUMNS.
*>
*> Further Details
*> ===============
*>
*> 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.
*>
*>
*> -- 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)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup complex_blas_testing
*
* =====================================================================
PROGRAM CBLAT2
*
* Test program for the COMPLEX Level 2 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* 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 17 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 35 lines:
* 'CBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'CBLA2T.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,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
* 3 NUMBER OF VALUES OF BETA
* (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
* CGEMV T PUT F FOR NO TEST. SAME COLUMNS.
* CGBMV T PUT F FOR NO TEST. SAME COLUMNS.
* CHEMV T PUT F FOR NO TEST. SAME COLUMNS.
* CHBMV T PUT F FOR NO TEST. SAME COLUMNS.
* CHPMV T PUT F FOR NO TEST. SAME COLUMNS.
* CTRMV T PUT F FOR NO TEST. SAME COLUMNS.
* CTBMV T PUT F FOR NO TEST. SAME COLUMNS.
* CTPMV T PUT F FOR NO TEST. SAME COLUMNS.
* CTRSV T PUT F FOR NO TEST. SAME COLUMNS.
* CTBSV T PUT F FOR NO TEST. SAME COLUMNS.
* CTPSV T PUT F FOR NO TEST. SAME COLUMNS.
* CGERC T PUT F FOR NO TEST. SAME COLUMNS.
* CGERU T PUT F FOR NO TEST. SAME COLUMNS.
* CHER T PUT F FOR NO TEST. SAME COLUMNS.
* CHPR T PUT F FOR NO TEST. SAME COLUMNS.
* CHER2 T PUT F FOR NO TEST. SAME COLUMNS.
* CHPR2 T PUT F FOR NO TEST. SAME COLUMNS.
*
* 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.
*
*
* -- Written on 10-August-1987.
* Richard Hanson, Sandia National Labs.
* Jeremy Du Croz, NAG Central Office.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
@ -71,8 +117,8 @@
PARAMETER ( NSUBS = 17 )
COMPLEX ZERO, ONE
PARAMETER ( ZERO = ( 0.0, 0.0 ), ONE = ( 1.0, 0.0 ) )
REAL RZERO, RHALF, RONE
PARAMETER ( RZERO = 0.0, RHALF = 0.5, RONE = 1.0 )
REAL RZERO
PARAMETER ( RZERO = 0.0 )
INTEGER NMAX, INCMAX
PARAMETER ( NMAX = 65, INCMAX = 2 )
INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX
@ -126,7 +172,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -135,7 +181,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -240,14 +286,7 @@
*
* Compute EPS (the machine precision).
*
EPS = RONE
90 CONTINUE
IF( SDIFF( RONE + EPS, RONE ).EQ.RZERO )
$ GO TO 100
EPS = RHALF*EPS
GO TO 90
100 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(RZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of CMVCH using exact data.
@ -3079,7 +3118,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LCERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,50 +1,96 @@
*> \brief \b CBLAT3
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM CBLAT3
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the COMPLEX Level 3 Blas.
*>
*> The program must be driven by a short data file. The first 14 records
*> of the file are read using list-directed input, the last 9 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 23 lines:
*> 'cblat3.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'CBLAT3.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
*> 3 NUMBER OF VALUES OF ALPHA
*> (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
*> 3 NUMBER OF VALUES OF BETA
*> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
*> CGEMM T PUT F FOR NO TEST. SAME COLUMNS.
*> CHEMM T PUT F FOR NO TEST. SAME COLUMNS.
*> CSYMM T PUT F FOR NO TEST. SAME COLUMNS.
*> CTRMM T PUT F FOR NO TEST. SAME COLUMNS.
*> CTRSM T PUT F FOR NO TEST. SAME COLUMNS.
*> CHERK T PUT F FOR NO TEST. SAME COLUMNS.
*> CSYRK T PUT F FOR NO TEST. SAME COLUMNS.
*> CHER2K T PUT F FOR NO TEST. SAME COLUMNS.
*> CSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*>
*> Further Details
*> ===============
*>
*> See:
*>
*> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
*> A Set of Level 3 Basic Linear Algebra Subprograms.
*>
*> Technical Memorandum No.88 (Revision 1), Mathematics and
*> Computer Science Division, Argonne National Laboratory, 9700
*> South Cass Avenue, Argonne, Illinois 60439, US.
*>
*> -- Written on 8-February-1989.
*> Jack Dongarra, Argonne National Laboratory.
*> Iain Duff, AERE Harwell.
*> Jeremy Du Croz, Numerical Algorithms Group Ltd.
*> Sven Hammarling, Numerical Algorithms Group Ltd.
*>
*> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers
*> can be run multiple times without deleting generated
*> output files (susan)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup complex_blas_testing
*
* =====================================================================
PROGRAM CBLAT3
*
* Test program for the COMPLEX Level 3 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* The program must be driven by a short data file. The first 14 records
* of the file are read using list-directed input, the last 9 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 23 lines:
* 'CBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'CBLAT3.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
* 3 NUMBER OF VALUES OF ALPHA
* (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
* 3 NUMBER OF VALUES OF BETA
* (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
* CGEMM T PUT F FOR NO TEST. SAME COLUMNS.
* CHEMM T PUT F FOR NO TEST. SAME COLUMNS.
* CSYMM T PUT F FOR NO TEST. SAME COLUMNS.
* CTRMM T PUT F FOR NO TEST. SAME COLUMNS.
* CTRSM T PUT F FOR NO TEST. SAME COLUMNS.
* CHERK T PUT F FOR NO TEST. SAME COLUMNS.
* CSYRK T PUT F FOR NO TEST. SAME COLUMNS.
* CHER2K T PUT F FOR NO TEST. SAME COLUMNS.
* CSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*
* See:
*
* Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
* A Set of Level 3 Basic Linear Algebra Subprograms.
*
* Technical Memorandum No.88 (Revision 1), Mathematics and
* Computer Science Division, Argonne National Laboratory, 9700
* South Cass Avenue, Argonne, Illinois 60439, US.
*
* -- Written on 8-February-1989.
* Jack Dongarra, Argonne National Laboratory.
* Iain Duff, AERE Harwell.
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
@ -53,8 +99,8 @@
PARAMETER ( NSUBS = 9 )
COMPLEX ZERO, ONE
PARAMETER ( ZERO = ( 0.0, 0.0 ), ONE = ( 1.0, 0.0 ) )
REAL RZERO, RHALF, RONE
PARAMETER ( RZERO = 0.0, RHALF = 0.5, RONE = 1.0 )
REAL RZERO
PARAMETER ( RZERO = 0.0 )
INTEGER NMAX
PARAMETER ( NMAX = 65 )
INTEGER NIDMAX, NALMAX, NBEMAX
@ -103,7 +149,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -112,7 +158,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -189,14 +235,7 @@
*
* Compute EPS (the machine precision).
*
EPS = RONE
70 CONTINUE
IF( SDIFF( RONE + EPS, RONE ).EQ.RZERO )
$ GO TO 80
EPS = RHALF*EPS
GO TO 70
80 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(RZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of CMMCH using exact data.
@ -1946,7 +1985,7 @@
*
* Tests the error exits from the Level 3 Blas.
* Requires a special version of the error-handling routine XERBLA.
* ALPHA, RALPHA, BETA, RBETA, A, B and C should not need to be defined.
* A, B and C should not need to be defined.
*
* Auxiliary routine for test program for Level 3 Blas.
*
@ -1956,12 +1995,19 @@
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
*
* 3-19-92: Initialize ALPHA, BETA, RALPHA, and RBETA (eca)
* 3-19-92: Fix argument 12 in calls to CSYMM and CHEMM
* with INFOT = 9 (eca)
*
* .. Scalar Arguments ..
INTEGER ISNUM, NOUT
CHARACTER*6 SRNAMT
* .. Scalars in Common ..
INTEGER INFOT, NOUTC
LOGICAL LERR, OK
* .. Parameters ..
REAL ONE, TWO
PARAMETER ( ONE = 1.0E0, TWO = 2.0E0 )
* .. Local Scalars ..
COMPLEX ALPHA, BETA
REAL RALPHA, RBETA
@ -1979,6 +2025,14 @@
* LERR is set to .TRUE. by the special version of XERBLA each time
* it is called, and is then tested and re-set by CHKXER.
LERR = .FALSE.
*
* Initialize ALPHA, BETA, RALPHA, and RBETA.
*
ALPHA = CMPLX( ONE, -ONE )
BETA = CMPLX( TWO, -TWO )
RALPHA = ONE
RBETA = TWO
*
GO TO ( 10, 20, 30, 40, 50, 60, 70, 80,
$ 90 )ISNUM
10 INFOT = 1
@ -2205,16 +2259,16 @@
CALL CHEMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL CHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL CHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 12
CALL CHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 )
@ -2272,16 +2326,16 @@
CALL CSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL CSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL CSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL CSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 12
CALL CSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 )
@ -3268,7 +3322,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LCERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,75 +1,121 @@
*> \brief \b DBLAT2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM DBLAT2
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> 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.
*>
*> Further Details
*> ===============
*>
*> 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.
*>
*>
*> -- 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)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup double_blas_testing
*
* =====================================================================
PROGRAM DBLAT2
*
* Test program for the DOUBLE PRECISION Level 2 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* 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.SUMM' 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 BETA
* 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.
*
* 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.
*
*
* -- Written on 10-August-1987.
* Richard Hanson, Sandia National Labs.
* Jeremy Du Croz, NAG Central Office.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
PARAMETER ( NIN = 5 )
INTEGER NSUBS
PARAMETER ( NSUBS = 16 )
DOUBLE PRECISION ZERO, HALF, ONE
PARAMETER ( ZERO = 0.0D0, HALF = 0.5D0, ONE = 1.0D0 )
DOUBLE PRECISION ZERO, ONE
PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 )
INTEGER NMAX, INCMAX
PARAMETER ( NMAX = 65, INCMAX = 2 )
INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX
@ -121,7 +167,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -130,7 +176,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -235,14 +281,7 @@
*
* Compute EPS (the machine precision).
*
EPS = ONE
90 CONTINUE
IF( DDIFF( ONE + EPS, ONE ).EQ.ZERO )
$ GO TO 100
EPS = HALF*EPS
GO TO 90
100 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(ZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of DMVCH using exact data.
@ -2982,7 +3021,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LDERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,55 +1,101 @@
*> \brief \b DBLAT3
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM DBLAT3
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the DOUBLE PRECISION Level 3 Blas.
*>
*> The program must be driven by a short data file. The first 14 records
*> of the file are read using list-directed input, the last 6 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 20 lines:
*> 'dblat3.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'DBLAT3.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
*> 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 1.3 VALUES OF BETA
*> DGEMM T PUT F FOR NO TEST. SAME COLUMNS.
*> DSYMM T PUT F FOR NO TEST. SAME COLUMNS.
*> DTRMM T PUT F FOR NO TEST. SAME COLUMNS.
*> DTRSM T PUT F FOR NO TEST. SAME COLUMNS.
*> DSYRK T PUT F FOR NO TEST. SAME COLUMNS.
*> DSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*>
*> Further Details
*> ===============
*>
*> See:
*>
*> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
*> A Set of Level 3 Basic Linear Algebra Subprograms.
*>
*> Technical Memorandum No.88 (Revision 1), Mathematics and
*> Computer Science Division, Argonne National Laboratory, 9700
*> South Cass Avenue, Argonne, Illinois 60439, US.
*>
*> -- Written on 8-February-1989.
*> Jack Dongarra, Argonne National Laboratory.
*> Iain Duff, AERE Harwell.
*> Jeremy Du Croz, Numerical Algorithms Group Ltd.
*> Sven Hammarling, Numerical Algorithms Group Ltd.
*>
*> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers
*> can be run multiple times without deleting generated
*> output files (susan)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup double_blas_testing
*
* =====================================================================
PROGRAM DBLAT3
*
* Test program for the DOUBLE PRECISION Level 3 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* The program must be driven by a short data file. The first 14 records
* of the file are read using list-directed input, the last 6 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 20 lines:
* 'DBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'DBLAT3.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
* 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 1.3 VALUES OF BETA
* DGEMM T PUT F FOR NO TEST. SAME COLUMNS.
* DSYMM T PUT F FOR NO TEST. SAME COLUMNS.
* DTRMM T PUT F FOR NO TEST. SAME COLUMNS.
* DTRSM T PUT F FOR NO TEST. SAME COLUMNS.
* DSYRK T PUT F FOR NO TEST. SAME COLUMNS.
* DSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*
* See:
*
* Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
* A Set of Level 3 Basic Linear Algebra Subprograms.
*
* Technical Memorandum No.88 (Revision 1), Mathematics and
* Computer Science Division, Argonne National Laboratory, 9700
* South Cass Avenue, Argonne, Illinois 60439, US.
*
* -- Written on 8-February-1989.
* Jack Dongarra, Argonne National Laboratory.
* Iain Duff, AERE Harwell.
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
PARAMETER ( NIN = 5 )
INTEGER NSUBS
PARAMETER ( NSUBS = 6 )
DOUBLE PRECISION ZERO, HALF, ONE
PARAMETER ( ZERO = 0.0D0, HALF = 0.5D0, ONE = 1.0D0 )
DOUBLE PRECISION ZERO, ONE
PARAMETER ( ZERO = 0.0D0, ONE = 1.0D0 )
INTEGER NMAX
PARAMETER ( NMAX = 65 )
INTEGER NIDMAX, NALMAX, NBEMAX
@ -96,7 +142,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -105,7 +151,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -182,14 +228,7 @@
*
* Compute EPS (the machine precision).
*
EPS = ONE
70 CONTINUE
IF( DDIFF( ONE + EPS, ONE ).EQ.ZERO )
$ GO TO 80
EPS = HALF*EPS
GO TO 70
80 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(ZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of DMMCH using exact data.
@ -1802,7 +1841,7 @@
*
* Tests the error exits from the Level 3 Blas.
* Requires a special version of the error-handling routine XERBLA.
* ALPHA, BETA, A, B and C should not need to be defined.
* A, B and C should not need to be defined.
*
* Auxiliary routine for test program for Level 3 Blas.
*
@ -1812,12 +1851,18 @@
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
*
* 3-19-92: Initialize ALPHA and BETA (eca)
* 3-19-92: Fix argument 12 in calls to SSYMM with INFOT = 9 (eca)
*
* .. Scalar Arguments ..
INTEGER ISNUM, NOUT
CHARACTER*6 SRNAMT
* .. Scalars in Common ..
INTEGER INFOT, NOUTC
LOGICAL LERR, OK
* .. Parameters ..
DOUBLE PRECISION ONE, TWO
PARAMETER ( ONE = 1.0D0, TWO = 2.0D0 )
* .. Local Scalars ..
DOUBLE PRECISION ALPHA, BETA
* .. Local Arrays ..
@ -1834,6 +1879,12 @@
* LERR is set to .TRUE. by the special version of XERBLA each time
* it is called, and is then tested and re-set by CHKXER.
LERR = .FALSE.
*
* Initialize ALPHA and BETA.
*
ALPHA = ONE
BETA = TWO
*
GO TO ( 10, 20, 30, 40, 50, 60 )ISNUM
10 INFOT = 1
CALL DGEMM( '/', 'N', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
@ -1963,16 +2014,16 @@
CALL DSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL DSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL DSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL DSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL DSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL DSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL DSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL DSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL DSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 12
CALL DSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 )
@ -2660,7 +2711,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LDERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,75 +1,121 @@
*> \brief \b SBLAT2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM SBLAT2
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the REAL 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:
*> 'sblat2.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'SBLAT2.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 BETA
*> SGEMV T PUT F FOR NO TEST. SAME COLUMNS.
*> SGBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> SSYMV T PUT F FOR NO TEST. SAME COLUMNS.
*> SSBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> SSPMV T PUT F FOR NO TEST. SAME COLUMNS.
*> STRMV T PUT F FOR NO TEST. SAME COLUMNS.
*> STBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> STPMV T PUT F FOR NO TEST. SAME COLUMNS.
*> STRSV T PUT F FOR NO TEST. SAME COLUMNS.
*> STBSV T PUT F FOR NO TEST. SAME COLUMNS.
*> STPSV T PUT F FOR NO TEST. SAME COLUMNS.
*> SGER T PUT F FOR NO TEST. SAME COLUMNS.
*> SSYR T PUT F FOR NO TEST. SAME COLUMNS.
*> SSPR T PUT F FOR NO TEST. SAME COLUMNS.
*> SSYR2 T PUT F FOR NO TEST. SAME COLUMNS.
*> SSPR2 T PUT F FOR NO TEST. SAME COLUMNS.
*>
*> Further Details
*> ===============
*>
*> 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.
*>
*>
*> -- 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)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup single_blas_testing
*
* =====================================================================
PROGRAM SBLAT2
*
* Test program for the REAL Level 2 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* 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:
* 'SBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'SBLAT2.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 BETA
* SGEMV T PUT F FOR NO TEST. SAME COLUMNS.
* SGBMV T PUT F FOR NO TEST. SAME COLUMNS.
* SSYMV T PUT F FOR NO TEST. SAME COLUMNS.
* SSBMV T PUT F FOR NO TEST. SAME COLUMNS.
* SSPMV T PUT F FOR NO TEST. SAME COLUMNS.
* STRMV T PUT F FOR NO TEST. SAME COLUMNS.
* STBMV T PUT F FOR NO TEST. SAME COLUMNS.
* STPMV T PUT F FOR NO TEST. SAME COLUMNS.
* STRSV T PUT F FOR NO TEST. SAME COLUMNS.
* STBSV T PUT F FOR NO TEST. SAME COLUMNS.
* STPSV T PUT F FOR NO TEST. SAME COLUMNS.
* SGER T PUT F FOR NO TEST. SAME COLUMNS.
* SSYR T PUT F FOR NO TEST. SAME COLUMNS.
* SSPR T PUT F FOR NO TEST. SAME COLUMNS.
* SSYR2 T PUT F FOR NO TEST. SAME COLUMNS.
* SSPR2 T PUT F FOR NO TEST. SAME COLUMNS.
*
* 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.
*
*
* -- Written on 10-August-1987.
* Richard Hanson, Sandia National Labs.
* Jeremy Du Croz, NAG Central Office.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
PARAMETER ( NIN = 5 )
INTEGER NSUBS
PARAMETER ( NSUBS = 16 )
REAL ZERO, HALF, ONE
PARAMETER ( ZERO = 0.0, HALF = 0.5, ONE = 1.0 )
REAL ZERO, ONE
PARAMETER ( ZERO = 0.0, ONE = 1.0 )
INTEGER NMAX, INCMAX
PARAMETER ( NMAX = 65, INCMAX = 2 )
INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX
@ -121,7 +167,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -130,7 +176,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -235,14 +281,7 @@
*
* Compute EPS (the machine precision).
*
EPS = ONE
90 CONTINUE
IF( SDIFF( ONE + EPS, ONE ).EQ.ZERO )
$ GO TO 100
EPS = HALF*EPS
GO TO 90
100 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(ZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of SMVCH using exact data.
@ -2982,7 +3021,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LSERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,55 +1,101 @@
*> \brief \b SBLAT3
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM SBLAT3
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the REAL Level 3 Blas.
*>
*> The program must be driven by a short data file. The first 14 records
*> of the file are read using list-directed input, the last 6 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 20 lines:
*> 'sblat3.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'SBLAT3.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
*> 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 1.3 VALUES OF BETA
*> SGEMM T PUT F FOR NO TEST. SAME COLUMNS.
*> SSYMM T PUT F FOR NO TEST. SAME COLUMNS.
*> STRMM T PUT F FOR NO TEST. SAME COLUMNS.
*> STRSM T PUT F FOR NO TEST. SAME COLUMNS.
*> SSYRK T PUT F FOR NO TEST. SAME COLUMNS.
*> SSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*>
*> Further Details
*> ===============
*>
*> See:
*>
*> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
*> A Set of Level 3 Basic Linear Algebra Subprograms.
*>
*> Technical Memorandum No.88 (Revision 1), Mathematics and
*> Computer Science Division, Argonne National Laboratory, 9700
*> South Cass Avenue, Argonne, Illinois 60439, US.
*>
*> -- Written on 8-February-1989.
*> Jack Dongarra, Argonne National Laboratory.
*> Iain Duff, AERE Harwell.
*> Jeremy Du Croz, Numerical Algorithms Group Ltd.
*> Sven Hammarling, Numerical Algorithms Group Ltd.
*>
*> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers
*> can be run multiple times without deleting generated
*> output files (susan)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup single_blas_testing
*
* =====================================================================
PROGRAM SBLAT3
*
* Test program for the REAL Level 3 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* The program must be driven by a short data file. The first 14 records
* of the file are read using list-directed input, the last 6 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 20 lines:
* 'SBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'SBLAT3.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
* 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 1.3 VALUES OF BETA
* SGEMM T PUT F FOR NO TEST. SAME COLUMNS.
* SSYMM T PUT F FOR NO TEST. SAME COLUMNS.
* STRMM T PUT F FOR NO TEST. SAME COLUMNS.
* STRSM T PUT F FOR NO TEST. SAME COLUMNS.
* SSYRK T PUT F FOR NO TEST. SAME COLUMNS.
* SSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*
* See:
*
* Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
* A Set of Level 3 Basic Linear Algebra Subprograms.
*
* Technical Memorandum No.88 (Revision 1), Mathematics and
* Computer Science Division, Argonne National Laboratory, 9700
* South Cass Avenue, Argonne, Illinois 60439, US.
*
* -- Written on 8-February-1989.
* Jack Dongarra, Argonne National Laboratory.
* Iain Duff, AERE Harwell.
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
PARAMETER ( NIN = 5 )
INTEGER NSUBS
PARAMETER ( NSUBS = 6 )
REAL ZERO, HALF, ONE
PARAMETER ( ZERO = 0.0, HALF = 0.5, ONE = 1.0 )
REAL ZERO, ONE
PARAMETER ( ZERO = 0.0, ONE = 1.0 )
INTEGER NMAX
PARAMETER ( NMAX = 65 )
INTEGER NIDMAX, NALMAX, NBEMAX
@ -96,7 +142,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -105,7 +151,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -182,14 +228,7 @@
*
* Compute EPS (the machine precision).
*
EPS = ONE
70 CONTINUE
IF( SDIFF( ONE + EPS, ONE ).EQ.ZERO )
$ GO TO 80
EPS = HALF*EPS
GO TO 70
80 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(ZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of SMMCH using exact data.
@ -1802,7 +1841,7 @@
*
* Tests the error exits from the Level 3 Blas.
* Requires a special version of the error-handling routine XERBLA.
* ALPHA, BETA, A, B and C should not need to be defined.
* A, B and C should not need to be defined.
*
* Auxiliary routine for test program for Level 3 Blas.
*
@ -1812,12 +1851,18 @@
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
*
* 3-19-92: Initialize ALPHA and BETA (eca)
* 3-19-92: Fix argument 12 in calls to SSYMM with INFOT = 9 (eca)
*
* .. Scalar Arguments ..
INTEGER ISNUM, NOUT
CHARACTER*6 SRNAMT
* .. Scalars in Common ..
INTEGER INFOT, NOUTC
LOGICAL LERR, OK
* .. Parameters ..
REAL ONE, TWO
PARAMETER ( ONE = 1.0E0, TWO = 2.0E0 )
* .. Local Scalars ..
REAL ALPHA, BETA
* .. Local Arrays ..
@ -1834,6 +1879,12 @@
* LERR is set to .TRUE. by the special version of XERBLA each time
* it is called, and is then tested and re-set by CHKXER.
LERR = .FALSE.
*
* Initialize ALPHA and BETA.
*
ALPHA = ONE
BETA = TWO
*
GO TO ( 10, 20, 30, 40, 50, 60 )ISNUM
10 INFOT = 1
CALL SGEMM( '/', 'N', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
@ -1963,16 +2014,16 @@
CALL SSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL SSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL SSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL SSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL SSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL SSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL SSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL SSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL SSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 12
CALL SSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 )
@ -2660,7 +2711,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LSERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,7 +1,49 @@
*> \brief \b ZBLAT1
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM ZBLAT1
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the COMPLEX*16 Level 1 BLAS.
*>
*> Based upon the original BLAS test routine together with:
*> F06GAF Example Program Text
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup complex16_blas_testing
*
* =====================================================================
PROGRAM ZBLAT1
* Test program for the COMPLEX*16 Level 1 BLAS.
* Based upon the original BLAS test routine together with:
* F06GAF Example Program Text
*
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* =====================================================================
*
* .. Parameters ..
INTEGER NOUT
PARAMETER (NOUT=6)
@ -114,8 +156,8 @@
+ (5.0D0,6.0D0), (5.0D0,6.0D0), (0.1D0,0.1D0),
+ (-0.6D0,0.1D0), (0.1D0,-0.3D0), (7.0D0,8.0D0),
+ (7.0D0,8.0D0), (7.0D0,8.0D0), (7.0D0,8.0D0),
+ (7.0D0,8.0D0), (0.3D0,0.1D0), (0.1D0,0.4D0),
+ (0.4D0,0.1D0), (0.1D0,0.2D0), (2.0D0,3.0D0),
+ (7.0D0,8.0D0), (0.3D0,0.1D0), (0.5D0,0.0D0),
+ (0.0D0,0.5D0), (0.0D0,0.2D0), (2.0D0,3.0D0),
+ (2.0D0,3.0D0), (2.0D0,3.0D0), (2.0D0,3.0D0)/
DATA ((CV(I,J,2),I=1,8),J=1,5)/(0.1D0,0.1D0),
+ (4.0D0,5.0D0), (4.0D0,5.0D0), (4.0D0,5.0D0),
@ -129,10 +171,10 @@
+ (3.0D0,6.0D0), (-0.6D0,0.1D0), (4.0D0,7.0D0),
+ (0.1D0,-0.3D0), (7.0D0,2.0D0), (7.0D0,2.0D0),
+ (7.0D0,2.0D0), (0.3D0,0.1D0), (5.0D0,8.0D0),
+ (0.1D0,0.4D0), (6.0D0,9.0D0), (0.4D0,0.1D0),
+ (8.0D0,3.0D0), (0.1D0,0.2D0), (9.0D0,4.0D0)/
DATA STRUE2/0.0D0, 0.5D0, 0.6D0, 0.7D0, 0.7D0/
DATA STRUE4/0.0D0, 0.7D0, 1.0D0, 1.3D0, 1.7D0/
+ (0.5D0,0.0D0), (6.0D0,9.0D0), (0.0D0,0.5D0),
+ (8.0D0,3.0D0), (0.0D0,0.2D0), (9.0D0,4.0D0)/
DATA STRUE2/0.0D0, 0.5D0, 0.6D0, 0.7D0, 0.8D0/
DATA STRUE4/0.0D0, 0.7D0, 1.0D0, 1.3D0, 1.6D0/
DATA ((CTRUE5(I,J,1),I=1,8),J=1,5)/(0.1D0,0.1D0),
+ (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0),
+ (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0),
@ -145,8 +187,8 @@
+ (0.11D0,-0.03D0), (-0.17D0,0.46D0),
+ (-0.17D0,-0.19D0), (7.0D0,8.0D0), (7.0D0,8.0D0),
+ (7.0D0,8.0D0), (7.0D0,8.0D0), (7.0D0,8.0D0),
+ (0.19D0,-0.17D0), (0.32D0,0.09D0),
+ (0.23D0,-0.24D0), (0.18D0,0.01D0),
+ (0.19D0,-0.17D0), (0.20D0,-0.35D0),
+ (0.35D0,0.20D0), (0.14D0,0.08D0),
+ (2.0D0,3.0D0), (2.0D0,3.0D0), (2.0D0,3.0D0),
+ (2.0D0,3.0D0)/
DATA ((CTRUE5(I,J,2),I=1,8),J=1,5)/(0.1D0,0.1D0),
@ -162,9 +204,9 @@
+ (-0.17D0,0.46D0), (4.0D0,7.0D0),
+ (-0.17D0,-0.19D0), (7.0D0,2.0D0), (7.0D0,2.0D0),
+ (7.0D0,2.0D0), (0.19D0,-0.17D0), (5.0D0,8.0D0),
+ (0.32D0,0.09D0), (6.0D0,9.0D0),
+ (0.23D0,-0.24D0), (8.0D0,3.0D0),
+ (0.18D0,0.01D0), (9.0D0,4.0D0)/
+ (0.20D0,-0.35D0), (6.0D0,9.0D0),
+ (0.35D0,0.20D0), (8.0D0,3.0D0),
+ (0.14D0,0.08D0), (9.0D0,4.0D0)/
DATA ((CTRUE6(I,J,1),I=1,8),J=1,5)/(0.1D0,0.1D0),
+ (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0),
+ (1.0D0,2.0D0), (1.0D0,2.0D0), (1.0D0,2.0D0),
@ -177,8 +219,8 @@
+ (0.03D0,0.03D0), (-0.18D0,0.03D0),
+ (0.03D0,-0.09D0), (7.0D0,8.0D0), (7.0D0,8.0D0),
+ (7.0D0,8.0D0), (7.0D0,8.0D0), (7.0D0,8.0D0),
+ (0.09D0,0.03D0), (0.03D0,0.12D0),
+ (0.12D0,0.03D0), (0.03D0,0.06D0), (2.0D0,3.0D0),
+ (0.09D0,0.03D0), (0.15D0,0.00D0),
+ (0.00D0,0.15D0), (0.00D0,0.06D0), (2.0D0,3.0D0),
+ (2.0D0,3.0D0), (2.0D0,3.0D0), (2.0D0,3.0D0)/
DATA ((CTRUE6(I,J,2),I=1,8),J=1,5)/(0.1D0,0.1D0),
+ (4.0D0,5.0D0), (4.0D0,5.0D0), (4.0D0,5.0D0),
@ -193,8 +235,8 @@
+ (-0.18D0,0.03D0), (4.0D0,7.0D0),
+ (0.03D0,-0.09D0), (7.0D0,2.0D0), (7.0D0,2.0D0),
+ (7.0D0,2.0D0), (0.09D0,0.03D0), (5.0D0,8.0D0),
+ (0.03D0,0.12D0), (6.0D0,9.0D0), (0.12D0,0.03D0),
+ (8.0D0,3.0D0), (0.03D0,0.06D0), (9.0D0,4.0D0)/
+ (0.15D0,0.00D0), (6.0D0,9.0D0), (0.00D0,0.15D0),
+ (8.0D0,3.0D0), (0.00D0,0.06D0), (9.0D0,4.0D0)/
DATA ITRUE3/0, 1, 2, 2, 2/
* .. Executable Statements ..
DO 60 INCX = 1, 2
@ -529,7 +571,8 @@
*
* .. Parameters ..
INTEGER NOUT
PARAMETER (NOUT=6)
DOUBLE PRECISION ZERO
PARAMETER (NOUT=6, ZERO=0.0D0)
* .. Scalar Arguments ..
DOUBLE PRECISION SFAC
INTEGER LEN
@ -552,7 +595,7 @@
*
DO 40 I = 1, LEN
SD = SCOMP(I) - STRUE(I)
IF (SDIFF(ABS(SSIZE(I))+ABS(SFAC*SD),ABS(SSIZE(I))).EQ.0.0D0)
IF (ABS(SFAC*SD) .LE. ABS(SSIZE(I))*EPSILON(ZERO))
+ GO TO 40
*
* HERE SCOMP(I) IS NOT CLOSE TO STRUE(I).

View File

@ -1,68 +1,114 @@
*> \brief \b ZBLAT2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM ZBLAT2
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the COMPLEX*16 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 17 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 35 lines:
*> 'zblat2.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'CBLA2T.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,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
*> 3 NUMBER OF VALUES OF BETA
*> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
*> ZGEMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZGBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHEMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHPMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTRMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTBMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTPMV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTRSV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTBSV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTPSV T PUT F FOR NO TEST. SAME COLUMNS.
*> ZGERC T PUT F FOR NO TEST. SAME COLUMNS.
*> ZGERU T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHER T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHPR T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHER2 T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHPR2 T PUT F FOR NO TEST. SAME COLUMNS.
*>
*> Further Details
*> ===============
*>
*> 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.
*>
*>
*> -- 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)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup complex16_blas_testing
*
* =====================================================================
PROGRAM ZBLAT2
*
* Test program for the COMPLEX*16 Level 2 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* 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 17 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 35 lines:
* 'ZBLAT2.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'CBLA2T.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,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
* 3 NUMBER OF VALUES OF BETA
* (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
* ZGEMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZGBMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZHEMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZHBMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZHPMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZTRMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZTBMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZTPMV T PUT F FOR NO TEST. SAME COLUMNS.
* ZTRSV T PUT F FOR NO TEST. SAME COLUMNS.
* ZTBSV T PUT F FOR NO TEST. SAME COLUMNS.
* ZTPSV T PUT F FOR NO TEST. SAME COLUMNS.
* ZGERC T PUT F FOR NO TEST. SAME COLUMNS.
* ZGERU T PUT F FOR NO TEST. SAME COLUMNS.
* ZHER T PUT F FOR NO TEST. SAME COLUMNS.
* ZHPR T PUT F FOR NO TEST. SAME COLUMNS.
* ZHER2 T PUT F FOR NO TEST. SAME COLUMNS.
* ZHPR2 T PUT F FOR NO TEST. SAME COLUMNS.
*
* 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.
*
*
* -- Written on 10-August-1987.
* Richard Hanson, Sandia National Labs.
* Jeremy Du Croz, NAG Central Office.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
@ -72,8 +118,8 @@
COMPLEX*16 ZERO, ONE
PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ),
$ ONE = ( 1.0D0, 0.0D0 ) )
DOUBLE PRECISION RZERO, RHALF, RONE
PARAMETER ( RZERO = 0.0D0, RHALF = 0.5D0, RONE = 1.0D0 )
DOUBLE PRECISION RZERO
PARAMETER ( RZERO = 0.0D0 )
INTEGER NMAX, INCMAX
PARAMETER ( NMAX = 65, INCMAX = 2 )
INTEGER NINMAX, NIDMAX, NKBMAX, NALMAX, NBEMAX
@ -127,7 +173,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -136,7 +182,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -241,14 +287,7 @@
*
* Compute EPS (the machine precision).
*
EPS = RONE
90 CONTINUE
IF( DDIFF( RONE + EPS, RONE ).EQ.RZERO )
$ GO TO 100
EPS = RHALF*EPS
GO TO 90
100 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(RZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of ZMVCH using exact data.
@ -3087,7 +3126,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LZERES = .TRUE.
GO TO 80
70 CONTINUE

View File

@ -1,50 +1,97 @@
*> \brief \b ZBLAT3
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* PROGRAM ZBLAT3
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> Test program for the COMPLEX*16 Level 3 Blas.
*>
*> The program must be driven by a short data file. The first 14 records
*> of the file are read using list-directed input, the last 9 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 23 lines:
*> 'zblat3.out' NAME OF SUMMARY OUTPUT FILE
*> 6 UNIT NUMBER OF SUMMARY FILE
*> 'ZBLAT3.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
*> 3 NUMBER OF VALUES OF ALPHA
*> (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
*> 3 NUMBER OF VALUES OF BETA
*> (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
*> ZGEMM T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHEMM T PUT F FOR NO TEST. SAME COLUMNS.
*> ZSYMM T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTRMM T PUT F FOR NO TEST. SAME COLUMNS.
*> ZTRSM T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHERK T PUT F FOR NO TEST. SAME COLUMNS.
*> ZSYRK T PUT F FOR NO TEST. SAME COLUMNS.
*> ZHER2K T PUT F FOR NO TEST. SAME COLUMNS.
*> ZSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*>
*>
*> Further Details
*> ===============
*>
*> See:
*>
*> Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
*> A Set of Level 3 Basic Linear Algebra Subprograms.
*>
*> Technical Memorandum No.88 (Revision 1), Mathematics and
*> Computer Science Division, Argonne National Laboratory, 9700
*> South Cass Avenue, Argonne, Illinois 60439, US.
*>
*> -- Written on 8-February-1989.
*> Jack Dongarra, Argonne National Laboratory.
*> Iain Duff, AERE Harwell.
*> Jeremy Du Croz, Numerical Algorithms Group Ltd.
*> Sven Hammarling, Numerical Algorithms Group Ltd.
*>
*> 10-9-00: Change STATUS='NEW' to 'UNKNOWN' so that the testers
*> can be run multiple times without deleting generated
*> output files (susan)
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date April 2012
*
*> \ingroup complex16_blas_testing
*
* =====================================================================
PROGRAM ZBLAT3
*
* Test program for the COMPLEX*16 Level 3 Blas.
* -- Reference BLAS test routine (version 3.4.1) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* April 2012
*
* The program must be driven by a short data file. The first 14 records
* of the file are read using list-directed input, the last 9 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 23 lines:
* 'ZBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE
* 6 UNIT NUMBER OF SUMMARY FILE
* 'ZBLAT3.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
* 3 NUMBER OF VALUES OF ALPHA
* (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA
* 3 NUMBER OF VALUES OF BETA
* (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA
* ZGEMM T PUT F FOR NO TEST. SAME COLUMNS.
* ZHEMM T PUT F FOR NO TEST. SAME COLUMNS.
* ZSYMM T PUT F FOR NO TEST. SAME COLUMNS.
* ZTRMM T PUT F FOR NO TEST. SAME COLUMNS.
* ZTRSM T PUT F FOR NO TEST. SAME COLUMNS.
* ZHERK T PUT F FOR NO TEST. SAME COLUMNS.
* ZSYRK T PUT F FOR NO TEST. SAME COLUMNS.
* ZHER2K T PUT F FOR NO TEST. SAME COLUMNS.
* ZSYR2K T PUT F FOR NO TEST. SAME COLUMNS.
*
* See:
*
* Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S.
* A Set of Level 3 Basic Linear Algebra Subprograms.
*
* Technical Memorandum No.88 (Revision 1), Mathematics and
* Computer Science Division, Argonne National Laboratory, 9700
* South Cass Avenue, Argonne, Illinois 60439, US.
*
* -- Written on 8-February-1989.
* Jack Dongarra, Argonne National Laboratory.
* Iain Duff, AERE Harwell.
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
* =====================================================================
*
* .. Parameters ..
INTEGER NIN
@ -54,8 +101,8 @@
COMPLEX*16 ZERO, ONE
PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ),
$ ONE = ( 1.0D0, 0.0D0 ) )
DOUBLE PRECISION RZERO, RHALF, RONE
PARAMETER ( RZERO = 0.0D0, RHALF = 0.5D0, RONE = 1.0D0 )
DOUBLE PRECISION RZERO
PARAMETER ( RZERO = 0.0D0 )
INTEGER NMAX
PARAMETER ( NMAX = 65 )
INTEGER NIDMAX, NALMAX, NBEMAX
@ -104,7 +151,7 @@
*
READ( NIN, FMT = * )SUMMRY
READ( NIN, FMT = * )NOUT
OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' )
OPEN( NOUT, FILE = SUMMRY, STATUS = 'UNKNOWN' )
NOUTC = NOUT
*
* Read name and unit number for snapshot output file and open file.
@ -113,7 +160,7 @@
READ( NIN, FMT = * )NTRA
TRACE = NTRA.GE.0
IF( TRACE )THEN
OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' )
OPEN( NTRA, FILE = SNAPS, STATUS = 'UNKNOWN' )
END IF
* Read the flag that directs rewinding of the snapshot file.
READ( NIN, FMT = * )REWI
@ -190,14 +237,7 @@
*
* Compute EPS (the machine precision).
*
EPS = RONE
70 CONTINUE
IF( DDIFF( RONE + EPS, RONE ).EQ.RZERO )
$ GO TO 80
EPS = RHALF*EPS
GO TO 70
80 CONTINUE
EPS = EPS + EPS
EPS = EPSILON(RZERO)
WRITE( NOUT, FMT = 9998 )EPS
*
* Check the reliability of ZMMCH using exact data.
@ -1949,7 +1989,7 @@
*
* Tests the error exits from the Level 3 Blas.
* Requires a special version of the error-handling routine XERBLA.
* ALPHA, RALPHA, BETA, RBETA, A, B and C should not need to be defined.
* A, B and C should not need to be defined.
*
* Auxiliary routine for test program for Level 3 Blas.
*
@ -1959,12 +1999,20 @@
* Jeremy Du Croz, Numerical Algorithms Group Ltd.
* Sven Hammarling, Numerical Algorithms Group Ltd.
*
* 3-19-92: Initialize ALPHA, BETA, RALPHA, and RBETA (eca)
* 3-19-92: Fix argument 12 in calls to ZSYMM and ZHEMM
* with INFOT = 9 (eca)
* 10-9-00: Declared INTRINSIC DCMPLX (susan)
*
* .. Scalar Arguments ..
INTEGER ISNUM, NOUT
CHARACTER*6 SRNAMT
* .. Scalars in Common ..
INTEGER INFOT, NOUTC
LOGICAL LERR, OK
* .. Parameters ..
REAL ONE, TWO
PARAMETER ( ONE = 1.0D0, TWO = 2.0D0 )
* .. Local Scalars ..
COMPLEX*16 ALPHA, BETA
DOUBLE PRECISION RALPHA, RBETA
@ -1973,6 +2021,8 @@
* .. External Subroutines ..
EXTERNAL ZGEMM, ZHEMM, ZHER2K, ZHERK, CHKXER, ZSYMM,
$ ZSYR2K, ZSYRK, ZTRMM, ZTRSM
* .. Intrinsic Functions ..
INTRINSIC DCMPLX
* .. Common blocks ..
COMMON /INFOC/INFOT, NOUTC, OK, LERR
* .. Executable Statements ..
@ -1982,6 +2032,14 @@
* LERR is set to .TRUE. by the special version of XERBLA each time
* it is called, and is then tested and re-set by CHKXER.
LERR = .FALSE.
*
* Initialize ALPHA, BETA, RALPHA, and RBETA.
*
ALPHA = DCMPLX( ONE, -ONE )
BETA = DCMPLX( TWO, -TWO )
RALPHA = ONE
RBETA = TWO
*
GO TO ( 10, 20, 30, 40, 50, 60, 70, 80,
$ 90 )ISNUM
10 INFOT = 1
@ -2208,16 +2266,16 @@
CALL ZHEMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL ZHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL ZHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 12
CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 )
@ -2275,16 +2333,16 @@
CALL ZSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL ZSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 )
CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 9
CALL ZSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 )
CALL ZSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 )
CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK )
INFOT = 12
CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 )
@ -3274,7 +3332,6 @@
50 CONTINUE
END IF
*
60 CONTINUE
LZERES = .TRUE.
GO TO 80
70 CONTINUE