Argument checks for Aasen's.
authorIchitaro Yamazaki <iyamazak@bunsen.icl.utk.edu>
Fri, 11 Nov 2016 21:43:33 +0000 (16:43 -0500)
committerIchitaro Yamazaki <iyamazak@bunsen.icl.utk.edu>
Fri, 11 Nov 2016 21:43:33 +0000 (16:43 -0500)
TESTING/LIN/cerrhe.f
TESTING/LIN/derrsy.f
TESTING/LIN/serrsy.f
TESTING/LIN/zerrhe.f

index 19a3182..22defe6 100644 (file)
 *     ..
 *     .. External Subroutines ..
       EXTERNAL           ALAESM, CHECON, CHECON_ROOK, CHERFS, CHETF2,
-     $                   CHETF2_ROOK, CHETRF, CHETRF_ROOK, CHETRI,
-     $                   CHETRI_ROOK, CHETRI2, CHETRS, CHETRS_ROOK,
-     $                   CHKXER, CHPCON, CHPRFS, CHPTRF, CHPTRI, CHPTRS
+     $                   CHETF2_ROOK, CHETRF, CHETRF_ROOK, CHETRF_AA, 
+     $                   CHETRI, CHETRI_ROOK, CHETRI2, CHETRS, 
+     $                   CHETRS_ROOK, CHETRS_AA, CHKXER, CHPCON, CHPRFS,
+     $                   CHPTRF, CHPTRI, CHPTRS
 *     ..
 *     .. Scalars in Common ..
       LOGICAL            LERR, OK
          CALL CHKXER( 'CHECON_ROOK', INFOT, NOUT, LERR, OK )
 *
 *        Test error exits of the routines that use factorization
+*        of a Hermitian indefinite matrix with Aasen's algorithm.
+*
+      ELSE IF( LSAMEN( 2, C2, 'HA' ) ) THEN
+*
+*        CHETRF_AA
+*
+         SRNAMT = 'CHETRF_AA'
+         INFOT = 1
+         CALL CHETRF_AA( '/', 0, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'CHETRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL CHETRF_AA( 'U', -1, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'CHETRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 4
+         CALL CHETRF_AA( 'U', 2, A, 1, IP, W, 4, INFO )
+         CALL CHKXER( 'CHETRF_AA', INFOT, NOUT, LERR, OK )
+*
+*        CHETRS_AA
+*
+         SRNAMT = 'CHETRS_AA'
+         INFOT = 1
+         CALL CHETRS_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'CHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL CHETRS_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'CHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 3
+         CALL CHETRS_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'CHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 5
+         CALL CHETRS_AA( 'U', 2, 1, A, 1, IP, B, 2, W, 1, INFO )
+         CALL CHKXER( 'CHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 8
+         CALL CHETRS_AA( 'U', 2, 1, A, 2, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'CHETRS_AA', INFOT, NOUT, LERR, OK )
+*
+*        Test error exits of the routines that use factorization
 *        of a Hermitian indefinite packed matrix with patrial
 *        (Bunch-Kaufman) diagonal pivoting method.
 *
index 8523fc8..a453ab1 100644 (file)
@@ -88,8 +88,9 @@
 *     .. External Subroutines ..
       EXTERNAL           ALAESM, CHKXER, DSPCON, DSPRFS, DSPTRF, DSPTRI,
      $                   DSPTRS, DSYCON, DSYCON_ROOK, DSYRFS, DSYTF2,
-     $                   DSYTF2_ROOK, DSYTRF, DSYTRF_ROOK, DSYTRI,
-     $                   DSYTRI_ROOK, DSYTRI2, DSYTRS, DSYTRS_ROOK
+     $                   DSYTF2_ROOK, DSYTRF, DSYTRF_ROOK, DSYTRF_AA,
+     $                   DSYTRI, DSYTRI_ROOK, DSYTRI2, DSYTRS, 
+     $                   DSYTRS_ROOK, DSYTRS_AA
 *     ..
 *     .. Scalars in Common ..
       LOGICAL            LERR, OK
          CALL DSYCON_ROOK( 'U', 1, A, 1, IP, -1.0D0, RCOND, W, IW, INFO)
          CALL CHKXER( 'DSYCON_ROOK', INFOT, NOUT, LERR, OK )
 *
+      ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN
+*
+*        Test error exits of the routines that use factorization
+*        of a symmetric indefinite matrix with Aasen's algorithm.
+*
+*        DSYTRF_AA
+*
+         SRNAMT = 'DSYTRF_AA'
+         INFOT = 1
+         CALL DSYTRF_AA( '/', 0, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'DSYTRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL DSYTRF_AA( 'U', -1, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'DSYTRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 4
+         CALL DSYTRF_AA( 'U', 2, A, 1, IP, W, 4, INFO )
+         CALL CHKXER( 'DSYTRF_AA', INFOT, NOUT, LERR, OK )
+*
+*        DSYTRS_AA
+*
+         SRNAMT = 'DSYTRS_AA'
+         INFOT = 1
+         CALL DSYTRS_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'DSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL DSYTRS_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'DSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 3
+         CALL DSYTRS_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'DSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 5
+         CALL DSYTRS_AA( 'U', 2, 1, A, 1, IP, B, 2, W, 1, INFO )
+         CALL CHKXER( 'DSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 8
+         CALL DSYTRS_AA( 'U', 2, 1, A, 2, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'DSYTRS_AA', INFOT, NOUT, LERR, OK )
       ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
 *
 *        Test error exits of the routines that use factorization
index 5326612..8fd3868 100644 (file)
@@ -88,8 +88,9 @@
 *     .. External Subroutines ..
       EXTERNAL           ALAESM, CHKXER, SSPCON, SSYCON_ROOK, SSPRFS,
      $                   SSPTRF, SSPTRI, SSPTRS, SSYCON, SSYRFS, SSYTF2,
-     $                   SSYTF2_ROOK, SSYTRF, SSYTRF_ROOK, SSYTRI,
-     $                   SSYTRI_ROOK, SSYTRI2, SSYTRS, SSYTRS_ROOK
+     $                   SSYTF2_ROOK, SSYTRF, SSYTRF_ROOK, SSYTRF_AA,
+     $                   SSYTRI, SSYTRI_ROOK, SSYTRI2, SSYTRS, 
+     $                   SSYTRS_ROOK, SSYTRS_AA
 *     ..
 *     .. Scalars in Common ..
       LOGICAL            LERR, OK
 *        of a symmetric indefinite packed matrix with patrial
 *        (Bunch-Kaufman) pivoting.
 *
+      ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN
+*
+*        Test error exits of the routines that use factorization
+*        of a symmetric indefinite matrix with Aasen's algorithm.
+*
+*        SSYTRF_AA
+*
+         SRNAMT = 'SSYTRF_AA'
+         INFOT = 1
+         CALL SSYTRF_AA( '/', 0, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'SSYTRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL SSYTRF_AA( 'U', -1, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'SSYTRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 4
+         CALL SSYTRF_AA( 'U', 2, A, 1, IP, W, 4, INFO )
+         CALL CHKXER( 'SSYTRF_AA', INFOT, NOUT, LERR, OK )
+*
+*        SSYTRS_AA
+*
+         SRNAMT = 'SSYTRS_AA'
+         INFOT = 1
+         CALL SSYTRS_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'SSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL SSYTRS_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'SSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 3
+         CALL SSYTRS_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'SSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 5
+         CALL SSYTRS_AA( 'U', 2, 1, A, 1, IP, B, 2, W, 1, INFO )
+         CALL CHKXER( 'SSYTRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 8
+         CALL SSYTRS_AA( 'U', 2, 1, A, 2, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'SSYTRS_AA', INFOT, NOUT, LERR, OK )
       ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
 *
 *        SSPTRF
index 6006628..47b64ae 100644 (file)
@@ -90,9 +90,9 @@
 *     .. External Subroutines ..
       EXTERNAL           ALAESM, CHKXER, ZHECON, ZHECON_ROOK, ZHERFS,
      $                   ZHETF2, ZHETF2_ROOK, ZHETRF, ZHETRF_ROOK,
-     $                   ZHETRI, ZHETRI_ROOK, ZHETRI2, ZHETRS,
-     $                   ZHETRS_ROOK, ZHPCON, ZHPRFS, ZHPTRF, ZHPTRI,
-     $                   ZHPTRS
+     $                   ZHETRF_AA, ZHETRI, ZHETRI_ROOK, ZHETRI2, 
+     $                   ZHETRS, ZHETRS_ROOK, ZHETRS_AA, ZHPCON, ZHPRFS,
+     $                   ZHPTRF, ZHPTRI, ZHPTRS
 *     ..
 *     .. Scalars in Common ..
       LOGICAL            LERR, OK
          CALL CHKXER( 'ZHECON_ROOK', INFOT, NOUT, LERR, OK )
 *
 *        Test error exits of the routines that use factorization
+*        of a Hermitian indefinite matrix with Aasen's algorithm.
+*
+      ELSE IF( LSAMEN( 2, C2, 'HA' ) ) THEN
+*
+*        ZHETRF_AA
+*
+         SRNAMT = 'ZHETRF_AA'
+         INFOT = 1
+         CALL ZHETRF_AA( '/', 0, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'ZHETRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL ZHETRF_AA( 'U', -1, A, 1, IP, W, 1, INFO )
+         CALL CHKXER( 'ZHETRF_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 4
+         CALL ZHETRF_AA( 'U', 2, A, 1, IP, W, 4, INFO )
+         CALL CHKXER( 'ZHETRF_AA', INFOT, NOUT, LERR, OK )
+*
+*        ZHETRS_AA
+*
+         SRNAMT = 'ZHETRS_AA'
+         INFOT = 1
+         CALL ZHETRS_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'ZHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 2
+         CALL ZHETRS_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'ZHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 3
+         CALL ZHETRS_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'ZHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 5
+         CALL ZHETRS_AA( 'U', 2, 1, A, 1, IP, B, 2, W, 1, INFO )
+         CALL CHKXER( 'ZHETRS_AA', INFOT, NOUT, LERR, OK )
+         INFOT = 8
+         CALL ZHETRS_AA( 'U', 2, 1, A, 2, IP, B, 1, W, 1, INFO )
+         CALL CHKXER( 'ZHETRS_AA', INFOT, NOUT, LERR, OK )
+*
+*        Test error exits of the routines that use factorization
 *        of a Hermitian indefinite packed matrix with patrial
 *        (Bunch-Kaufman) diagonal pivoting method.
 *