@@ -608,6 +608,9 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
608608 CALL CLACPY( ' All' , M, NRHS, COPYB, LDA,
609609 $ B, LDA )
610610 CALL ICOPY( N, IWORK( 1 ), 1 , IWORK( N+1 ), 1 )
611+ DO I = 1 , NTESTS
612+ RESULT( I ) = ZERO
613+ END DO
611614*
612615 ABSTOL = - 1.0
613616 RELTOl = - 1.0
@@ -652,16 +655,6 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
652655 RESULT( 1 ) = CQRT12( M, N, A, LDA, S, WORK,
653656 $ LWORK , RWORK )
654657*
655- DO T = 1 , 1
656- IF ( RESULT( T ).GE. THRESH ) THEN
657- IF ( NFAIL.EQ. 0 .AND. NERRS.EQ. 0 )
658- $ CALL ALAHD( NOUT, PATH )
659- WRITE ( NOUT, FMT = 9999 ) ' CGEQP3RK' , M, N,
660- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX,
661- $ IMAT, T, RESULT( T )
662- NFAIL = NFAIL + 1
663- END IF
664- END DO
665658 NRUN = NRUN + 1
666659*
667660* End test 1
@@ -675,7 +668,7 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
675668* 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS )
676669*
677670 RESULT( 2 ) = CQPT01( M, N, KFACT, COPYA, A, LDA, TAU,
678- $ IWORK( N+1 ), WORK, LWORK )
671+ $ IWORK( N+1 ), WORK, LWORK )
679672*
680673* Compute test 3:
681674*
@@ -684,21 +677,8 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
684677* 1-norm( Q**T * Q - I ) / ( M * EPS )
685678*
686679 RESULT( 3 ) = CQRT11( M, KFACT, A, LDA, TAU, WORK,
687- $ LWORK )
680+ $ LWORK )
688681*
689- * Print information about the tests that did not pass
690- * the threshold.
691- *
692- DO T = 2 , 3
693- IF ( RESULT( T ).GE. THRESH ) THEN
694- IF ( NFAIL.EQ. 0 .AND. NERRS.EQ. 0 )
695- $ CALL ALAHD( NOUT, PATH )
696- WRITE ( NOUT, FMT = 9999 ) ' CGEQP3RK' , M, N,
697- $ NRHS, KMAX, ABSTOL, RELTOL,
698- $ NB, NX, IMAT, T, RESULT( T )
699- NFAIL = NFAIL + 1
700- END IF
701- END DO
702682 NRUN = NRUN + 2
703683*
704684* Compute test 4:
@@ -717,8 +697,8 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
717697*
718698 DO J = 1 , KFACT-1 , 1
719699*
720- DTEMP = (( ABS ( A( (J-1 )* M + J ) ) -
721- $ ABS ( A( (J)* M + J+1 ) ) ) /
700+ DTEMP = (( ABS ( A( (J-1 )* LDA + J ) ) -
701+ $ ABS ( A( (J)* LDA + J+1 ) ) ) /
722702 $ ABS ( A(1 ) ) )
723703*
724704 IF ( DTEMP.LT. ZERO ) THEN
@@ -727,20 +707,6 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
727707*
728708 END DO
729709*
730- * Print information about the tests that did not
731- * pass the threshold.
732- *
733- DO T = 4 , 4
734- IF ( RESULT( T ).GE. THRESH ) THEN
735- IF ( NFAIL.EQ. 0 .AND. NERRS.EQ. 0 )
736- $ CALL ALAHD( NOUT, PATH )
737- WRITE ( NOUT, FMT = 9999 ) ' CGEQP3RK' ,
738- $ M, N, NRHS, KMAX, ABSTOL, RELTOL,
739- $ NB, NX, IMAT, T,
740- $ RESULT( T )
741- NFAIL = NFAIL + 1
742- END IF
743- END DO
744710 NRUN = NRUN + 1
745711*
746712* End test 4.
@@ -762,42 +728,41 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL,
762728*
763729 LWORK_MQR = MAX (1 , NRHS)
764730 CALL CUNMQR( ' Left' , ' Conjugate transpose' ,
765- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA,
766- $ WORK, LWORK_MQR, INFO )
731+ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA,
732+ $ WORK, LWORK_MQR, INFO )
767733*
768734 DO I = 1 , NRHS
769735*
770736* Compare N+J-th column of A and J-column of B.
771737*
772738 CALL CAXPY( M, - CONE, A( ( N+ I-1 )* LDA+1 ), 1 ,
773- $ B( ( I-1 )* LDA+1 ), 1 )
739+ $ B( ( I-1 )* LDA+1 ), 1 )
774740 END DO
775741*
776- RESULT( 5 ) =
777- $ ABS (
778- $ CLANGE( ' One-norm' , M, NRHS, B, LDA, RDUMMY ) /
779- $ ( REAL ( M )* SLAMCH( ' Epsilon' ) )
780- $ )
781- *
782- * Print information about the tests that did not pass
783- * the threshold.
784- *
785- DO T = 5 , 5
786- IF ( RESULT( T ).GE. THRESH ) THEN
787- IF ( NFAIL.EQ. 0 .AND. NERRS.EQ. 0 )
788- $ CALL ALAHD( NOUT, PATH )
789- WRITE ( NOUT, FMT = 9999 ) ' CGEQP3RK' , M, N,
790- $ NRHS, KMAX, ABSTOL, RELTOL,
791- $ NB, NX, IMAT, T, RESULT( T )
792- NFAIL = NFAIL + 1
793- END IF
794- END DO
742+ RESULT( 5 ) = ABS (
743+ $ CLANGE( ' One-norm' , M, NRHS, B, LDA, RDUMMY ) /
744+ $ ( REAL ( M )* SLAMCH( ' Epsilon' ) ) )
745+ *
795746 NRUN = NRUN + 1
796747*
797748* End compute test 5.
798749*
799750 END IF
800751*
752+ * Print information about the tests that did not pass
753+ * the threshold.
754+ *
755+ DO T = 1 , NTESTS
756+ IF ( RESULT( T ).GE. THRESH ) THEN
757+ IF ( NFAIL.EQ. 0 .AND. NERRS.EQ. 0 )
758+ $ CALL ALAHD( NOUT, PATH )
759+ WRITE ( NOUT, FMT = 9999 ) ' CGEQP3RK' , M, N,
760+ $ NRHS, KMAX, ABSTOL, RELTOL,
761+ $ NB, NX, IMAT, T, RESULT( T )
762+ NFAIL = NFAIL + 1
763+ END IF
764+ END DO
765+ *
801766* END DO KMAX = 1, MIN(M,N)+1
802767*
803768 END DO
0 commit comments