From: Ichitaro Yamazaki Date: Fri, 11 Nov 2016 21:43:33 +0000 (-0500) Subject: Argument checks for Aasen's. X-Git-Tag: accepted/tizen/5.0/unified/20181102.024111~107^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2e0a0094aa09e73a2463b271b42f2ee193c779e;p=platform%2Fupstream%2Flapack.git Argument checks for Aasen's. --- diff --git a/TESTING/LIN/cerrhe.f b/TESTING/LIN/cerrhe.f index 19a3182..22defe6 100644 --- a/TESTING/LIN/cerrhe.f +++ b/TESTING/LIN/cerrhe.f @@ -89,9 +89,10 @@ * .. * .. 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 @@ -334,6 +335,43 @@ 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. * diff --git a/TESTING/LIN/derrsy.f b/TESTING/LIN/derrsy.f index 8523fc8..a453ab1 100644 --- a/TESTING/LIN/derrsy.f +++ b/TESTING/LIN/derrsy.f @@ -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 @@ -333,6 +334,42 @@ 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 diff --git a/TESTING/LIN/serrsy.f b/TESTING/LIN/serrsy.f index 5326612..8fd3868 100644 --- a/TESTING/LIN/serrsy.f +++ b/TESTING/LIN/serrsy.f @@ -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 @@ -337,6 +338,42 @@ * 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 diff --git a/TESTING/LIN/zerrhe.f b/TESTING/LIN/zerrhe.f index 6006628..47b64ae 100644 --- a/TESTING/LIN/zerrhe.f +++ b/TESTING/LIN/zerrhe.f @@ -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 @@ -337,6 +337,43 @@ 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. *