diff options
author | julie <julielangou@users.noreply.github.com> | 2012-09-21 02:21:29 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2012-09-21 02:21:29 +0000 |
commit | 44948e7c8e4cff62a9a944030e22ef7a93903c37 (patch) | |
tree | ca5dc5ca7137ff29789696ab951b7dfbe30f5224 /SRC/ztprfb.f | |
parent | f045e14fbd8316f88bdcef003049b3959d57a67c (diff) |
Diffstat (limited to 'SRC/ztprfb.f')
-rw-r--r-- | SRC/ztprfb.f | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/SRC/ztprfb.f b/SRC/ztprfb.f index 9110f494..d3d84505 100644 --- a/SRC/ztprfb.f +++ b/SRC/ztprfb.f @@ -184,6 +184,11 @@ *> The leading dimension of the array WORK. *> If SIDE = 'L', LDWORK >= K; *> if SIDE = 'R', LDWORK >= M. +*> +*> If LDWORK = -1, then a workspace query is assumed; the routine +*> only calculates the optimal size of 2nd dimension of the WORK array, +*> returns this value as the first entry of the WORK array, and no +*> error message related to LDWORK is issued by XERBLA. *> \endverbatim * * Authors: @@ -273,7 +278,7 @@ * .. * .. Local Scalars .. INTEGER I, J, MP, NP, KP - LOGICAL LEFT, FORWARD, COLUMN, RIGHT, BACKWARD, ROW + LOGICAL LEFT, LQUERY, FORWARD, COLUMN, RIGHT, BACKWARD, ROW * .. * .. External Functions .. LOGICAL LSAME @@ -287,6 +292,7 @@ * .. * .. Executable Statements .. * + LQUERY = ( LDWORK.EQ.-1 ) * Quick return if possible * IF( M.LE.0 .OR. N.LE.0 .OR. K.LE.0 .OR. L.LT.0 ) RETURN @@ -323,6 +329,19 @@ FORWARD = .FALSE. BACKWARD = .FALSE. END IF +* --------------------------------------------------------------------------- +* +* Workspace Query +* + IF( LQUERY .AND. LEFT ) THEN + LDWORK=MAX(1,K) + ELSE IF ( LQUERY .AND. RIGHT ) THEN + LDWORK=MAX(1,M) + END IF + + IF( LQUERY ) THEN + RETURN + END IF * * --------------------------------------------------------------------------- * |