@@ -81,7 +81,8 @@ C> \verbatim | |||
C> LWORK is INTEGER | |||
C> \endverbatim | |||
C> \verbatim | |||
C> The dimension of the array WORK. The dimension can be divided into three parts. | |||
C> The dimension of the array WORK. LWORK >= 1 if MIN(M,N) = 0, | |||
C> otherwise the dimension can be divided into three parts. | |||
C> \endverbatim | |||
C> \verbatim | |||
C> 1) The part for the triangular factor T. If the very last T is not bigger | |||
@@ -212,7 +213,13 @@ C> | |||
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB)) | |||
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB)) | |||
IF ( NT.GT.NB ) THEN | |||
IF( K.EQ.0 ) THEN | |||
LBWORK = 0 | |||
LWKOPT = 1 | |||
WORK( 1 ) = LWKOPT | |||
ELSE IF ( NT.GT.NB ) THEN | |||
LBWORK = K-NT | |||
* | |||
@@ -239,8 +246,9 @@ C> | |||
INFO = -2 | |||
ELSE IF( LDA.LT.MAX( 1, M ) ) THEN | |||
INFO = -4 | |||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN | |||
INFO = -7 | |||
ELSE IF ( .NOT.LQUERY ) THEN | |||
IF( LWORK.LE.0 .OR. ( M.GT.0 .AND. LWORK.LT.MAX( 1, N ) ) ) | |||
$ INFO = -7 | |||
END IF | |||
IF( INFO.NE.0 ) THEN | |||
CALL XERBLA( 'CGEQRF', -INFO ) | |||
@@ -252,7 +260,6 @@ C> | |||
* Quick return if possible | |||
* | |||
IF( K.EQ.0 ) THEN | |||
WORK( 1 ) = 1 | |||
RETURN | |||
END IF | |||
* | |||
@@ -81,7 +81,8 @@ C> \verbatim | |||
C> LWORK is INTEGER | |||
C> \endverbatim | |||
C> \verbatim | |||
C> The dimension of the array WORK. The dimension can be divided into three parts. | |||
C> The dimension of the array WORK. LWORK >= 1 if MIN(M,N) = 0, | |||
C> otherwise the dimension can be divided into three parts. | |||
C> \endverbatim | |||
C> \verbatim | |||
C> 1) The part for the triangular factor T. If the very last T is not bigger | |||
@@ -212,7 +213,13 @@ C> | |||
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB)) | |||
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB)) | |||
IF ( NT.GT.NB ) THEN | |||
IF( K.EQ.0 ) THEN | |||
LBWORK = 0 | |||
LWKOPT = 1 | |||
WORK( 1 ) = LWKOPT | |||
ELSE IF ( NT.GT.NB ) THEN | |||
LBWORK = K-NT | |||
* | |||
@@ -239,8 +246,9 @@ C> | |||
INFO = -2 | |||
ELSE IF( LDA.LT.MAX( 1, M ) ) THEN | |||
INFO = -4 | |||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN | |||
INFO = -7 | |||
ELSE IF ( .NOT.LQUERY ) THEN | |||
IF( LWORK.LE.0 .OR. ( M.GT.0 .AND. LWORK.LT.MAX( 1, N ) ) ) | |||
$ INFO = -7 | |||
END IF | |||
IF( INFO.NE.0 ) THEN | |||
CALL XERBLA( 'DGEQRF', -INFO ) | |||
@@ -252,7 +260,6 @@ C> | |||
* Quick return if possible | |||
* | |||
IF( K.EQ.0 ) THEN | |||
WORK( 1 ) = 1 | |||
RETURN | |||
END IF | |||
* | |||
@@ -81,7 +81,8 @@ C> \verbatim | |||
C> LWORK is INTEGER | |||
C> \endverbatim | |||
C> \verbatim | |||
C> The dimension of the array WORK. The dimension can be divided into three parts. | |||
C> The dimension of the array WORK. LWORK >= 1 if MIN(M,N) = 0, | |||
C> otherwise the dimension can be divided into three parts. | |||
C> \endverbatim | |||
C> \verbatim | |||
C> 1) The part for the triangular factor T. If the very last T is not bigger | |||
@@ -212,7 +213,13 @@ C> | |||
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB)) | |||
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB)) | |||
IF ( NT.GT.NB ) THEN | |||
IF( K.EQ.0 ) THEN | |||
LBWORK = 0 | |||
LWKOPT = 1 | |||
WORK( 1 ) = LWKOPT | |||
ELSE IF ( NT.GT.NB ) THEN | |||
LBWORK = K-NT | |||
* | |||
@@ -239,8 +246,9 @@ C> | |||
INFO = -2 | |||
ELSE IF( LDA.LT.MAX( 1, M ) ) THEN | |||
INFO = -4 | |||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN | |||
INFO = -7 | |||
ELSE IF ( .NOT.LQUERY ) THEN | |||
IF( LWORK.LE.0 .OR. ( M.GT.0 .AND. LWORK.LT.MAX( 1, N ) ) ) | |||
$ INFO = -7 | |||
END IF | |||
IF( INFO.NE.0 ) THEN | |||
CALL XERBLA( 'SGEQRF', -INFO ) | |||
@@ -252,7 +260,6 @@ C> | |||
* Quick return if possible | |||
* | |||
IF( K.EQ.0 ) THEN | |||
WORK( 1 ) = 1 | |||
RETURN | |||
END IF | |||
* | |||
@@ -81,7 +81,8 @@ C> \verbatim | |||
C> LWORK is INTEGER | |||
C> \endverbatim | |||
C> \verbatim | |||
C> The dimension of the array WORK. The dimension can be divided into three parts. | |||
C> The dimension of the array WORK. LWORK >= 1 if MIN(M,N) = 0, | |||
C> otherwise the dimension can be divided into three parts. | |||
C> \endverbatim | |||
C> \verbatim | |||
C> 1) The part for the triangular factor T. If the very last T is not bigger | |||
@@ -212,7 +213,13 @@ C> | |||
LLWORK = MAX (MAX((N-M)*K, (N-M)*NB), MAX(K*NB, NB*NB)) | |||
LLWORK = SCEIL(REAL(LLWORK)/REAL(NB)) | |||
IF ( NT.GT.NB ) THEN | |||
IF( K.EQ.0 ) THEN | |||
LBWORK = 0 | |||
LWKOPT = 1 | |||
WORK( 1 ) = LWKOPT | |||
ELSE IF ( NT.GT.NB ) THEN | |||
LBWORK = K-NT | |||
* | |||
@@ -239,8 +246,9 @@ C> | |||
INFO = -2 | |||
ELSE IF( LDA.LT.MAX( 1, M ) ) THEN | |||
INFO = -4 | |||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN | |||
INFO = -7 | |||
ELSE IF ( .NOT.LQUERY ) THEN | |||
IF( LWORK.LE.0 .OR. ( M.GT.0 .AND. LWORK.LT.MAX( 1, N ) ) ) | |||
$ INFO = -7 | |||
END IF | |||
IF( INFO.NE.0 ) THEN | |||
CALL XERBLA( 'ZGEQRF', -INFO ) | |||
@@ -252,7 +260,6 @@ C> | |||
* Quick return if possible | |||
* | |||
IF( K.EQ.0 ) THEN | |||
WORK( 1 ) = 1 | |||
RETURN | |||
END IF | |||
* | |||