| @@ -147,7 +147,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup gebrd | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -230,11 +230,12 @@ | |||
| EXTERNAL SGEBD2, SGEMM, SLABRD, XERBLA | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, MIN, REAL | |||
| INTRINSIC MAX, MIN | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -243,7 +244,7 @@ | |||
| INFO = 0 | |||
| NB = MAX( 1, ILAENV( 1, 'SGEBRD', ' ', M, N, -1, -1 ) ) | |||
| LWKOPT = ( M+N )*NB | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| LQUERY = ( LWORK.EQ.-1 ) | |||
| IF( M.LT.0 ) THEN | |||
| INFO = -1 | |||
| @@ -341,7 +342,7 @@ | |||
| * | |||
| CALL SGEBD2( M-I+1, N-I+1, A( I, I ), LDA, D( I ), E( I ), | |||
| $ TAUQ( I ), TAUP( I ), WORK, IINFO ) | |||
| WORK( 1 ) = WS | |||
| WORK( 1 ) = SROUNDUP_LWORK(WS) | |||
| RETURN | |||
| * | |||
| * End of SGEBRD | |||
| @@ -208,7 +208,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup gees | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, WR, WI, | |||
| @@ -250,14 +250,14 @@ | |||
| REAL DUM( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD, | |||
| $ SLACPY, SLASCL, SORGHR, SSWAP, STRSEN, XERBLA | |||
| EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLACPY, | |||
| $ SLASCL, SORGHR, SSWAP, STRSEN, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, SQRT | |||
| @@ -312,7 +312,7 @@ | |||
| MAXWRK = MAX( MAXWRK, N + HSWORK ) | |||
| END IF | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -13 | |||
| @@ -338,7 +338,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -524,7 +523,7 @@ | |||
| 30 CONTINUE | |||
| END IF | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| RETURN | |||
| * | |||
| * End of SGEES | |||
| @@ -272,7 +272,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup geesx | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM, | |||
| @@ -317,14 +317,14 @@ | |||
| REAL DUM( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD, | |||
| EXTERNAL SCOPY, SGEBAK, SGEBAL, SGEHRD, SHSEQR, | |||
| $ SLACPY, SLASCL, SORGHR, SSWAP, STRSEN, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, SQRT | |||
| @@ -398,7 +398,7 @@ | |||
| $ LIWRK = ( N*N )/4 | |||
| END IF | |||
| IWORK( 1 ) = LIWRK | |||
| WORK( 1 ) = LWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -16 | |||
| @@ -426,7 +426,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -634,7 +633,7 @@ | |||
| 30 CONTINUE | |||
| END IF | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| IF( WANTSV .OR. WANTSB ) THEN | |||
| IWORK( 1 ) = SDIM*(N-SDIM) | |||
| ELSE | |||
| @@ -184,7 +184,7 @@ | |||
| * | |||
| * @generated from dgeev.f, fortran d -> s, Tue Apr 19 01:47:44 2016 | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup geev | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGEEV( JOBVL, JOBVR, N, A, LDA, WR, WI, VL, LDVL, VR, | |||
| @@ -223,16 +223,15 @@ | |||
| REAL DUM( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD, SLACPY, | |||
| $ SLARTG, SLASCL, SORGHR, SROT, SSCAL, STREVC3, | |||
| $ XERBLA | |||
| EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLACPY, SLARTG, | |||
| $ SLASCL, SORGHR, SROT, SSCAL, STREVC3, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ISAMAX, ILAENV | |||
| REAL SLAMCH, SLANGE, SLAPY2, SNRM2 | |||
| REAL SLAMCH, SLANGE, SLAPY2, SNRM2, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ISAMAX, ILAENV, SLAMCH, SLANGE, SLAPY2, | |||
| $ SNRM2 | |||
| $ SNRM2, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, SQRT | |||
| @@ -312,7 +311,7 @@ | |||
| END IF | |||
| MAXWRK = MAX( MAXWRK, MINWRK ) | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -13 | |||
| @@ -336,7 +335,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -519,7 +517,7 @@ | |||
| END IF | |||
| END IF | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| RETURN | |||
| * | |||
| * End of SGEEV | |||
| @@ -297,7 +297,7 @@ | |||
| * | |||
| * @generated from dgeevx.f, fortran d -> s, Tue Apr 19 01:47:44 2016 | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup geevx | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGEEVX( BALANC, JOBVL, JOBVR, SENSE, N, A, LDA, WR, WI, | |||
| @@ -341,16 +341,16 @@ | |||
| REAL DUM( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLABAD, SLACPY, | |||
| EXTERNAL SGEBAK, SGEBAL, SGEHRD, SHSEQR, SLACPY, | |||
| $ SLARTG, SLASCL, SORGHR, SROT, SSCAL, STREVC3, | |||
| $ STRSNA, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ISAMAX, ILAENV | |||
| REAL SLAMCH, SLANGE, SLAPY2, SNRM2 | |||
| REAL SLAMCH, SLANGE, SLAPY2, SNRM2, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ISAMAX, ILAENV, SLAMCH, SLANGE, SLAPY2, | |||
| $ SNRM2 | |||
| $ SNRM2, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, SQRT | |||
| @@ -453,7 +453,7 @@ | |||
| END IF | |||
| MAXWRK = MAX( MAXWRK, MINWRK ) | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -21 | |||
| @@ -477,7 +477,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -684,7 +683,7 @@ | |||
| END IF | |||
| END IF | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| RETURN | |||
| * | |||
| * End of SGEEVX | |||
| @@ -120,7 +120,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup gehrd | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -201,7 +201,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -227,7 +228,7 @@ | |||
| * | |||
| NB = MIN( NBMAX, ILAENV( 1, 'SGEHRD', ' ', N, ILO, IHI, -1 ) ) | |||
| LWKOPT = N*NB + TSIZE | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| END IF | |||
| * | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -344,7 +345,7 @@ | |||
| * Use unblocked code to reduce the rest of the matrix | |||
| * | |||
| CALL SGEHD2( N, I, IHI, A, LDA, TAU, WORK, IINFO ) | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -166,6 +166,8 @@ | |||
| *> the LQ factorization. | |||
| *> \endverbatim | |||
| *> | |||
| *> \ingroup gelq | |||
| *> | |||
| * ===================================================================== | |||
| SUBROUTINE SGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK, | |||
| $ INFO ) | |||
| @@ -190,7 +192,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| EXTERNAL LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGELQT, SLASWLQ, XERBLA | |||
| @@ -292,9 +295,9 @@ | |||
| T( 2 ) = MB | |||
| T( 3 ) = NB | |||
| IF( MINW ) THEN | |||
| WORK( 1 ) = LWMIN | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWMIN) | |||
| ELSE | |||
| WORK( 1 ) = LWREQ | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWREQ) | |||
| END IF | |||
| END IF | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -319,7 +322,7 @@ | |||
| $ LWORK, INFO ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = LWREQ | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWREQ) | |||
| RETURN | |||
| * | |||
| * End of SGELQ | |||
| @@ -118,7 +118,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup gelqf | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -167,7 +167,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -176,7 +177,7 @@ | |||
| INFO = 0 | |||
| NB = ILAENV( 1, 'SGELQF', ' ', M, N, -1, -1 ) | |||
| LWKOPT = M*NB | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| LQUERY = ( LWORK.EQ.-1 ) | |||
| IF( M.LT.0 ) THEN | |||
| INFO = -1 | |||
| @@ -266,7 +267,7 @@ | |||
| $ CALL SGELQ2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK, | |||
| $ IINFO ) | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGELQF | |||
| @@ -175,7 +175,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsolve | |||
| *> \ingroup gels | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGELS( TRANS, M, N, NRHS, A, LDA, B, LDB, WORK, LWORK, | |||
| @@ -210,15 +210,15 @@ | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGELQF, SGEQRF, SLABAD, SLASCL, SLASET, SORMLQ, | |||
| EXTERNAL SGELQF, SGEQRF, SLASCL, SLASET, SORMLQ, | |||
| $ SORMQR, STRTRS, XERBLA | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, MIN, REAL | |||
| INTRINSIC MAX, MIN | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -273,7 +273,7 @@ | |||
| END IF | |||
| * | |||
| WSIZE = MAX( 1, MN + MAX( MN, NRHS )*NB ) | |||
| WORK( 1 ) = REAL( WSIZE ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( WSIZE ) | |||
| * | |||
| END IF | |||
| * | |||
| @@ -295,7 +295,6 @@ | |||
| * | |||
| SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| * | |||
| * Scale A, B if max element outside range [SMLNUM,BIGNUM] | |||
| * | |||
| @@ -492,7 +491,7 @@ | |||
| END IF | |||
| * | |||
| 50 CONTINUE | |||
| WORK( 1 ) = REAL( WSIZE ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( WSIZE ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -189,7 +189,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsolve | |||
| *> \ingroup gelsd | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -229,13 +229,13 @@ | |||
| REAL ANRM, BIGNUM, BNRM, EPS, SFMIN, SMLNUM | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEBRD, SGELQF, SGEQRF, SLABAD, SLACPY, SLALSD, | |||
| $ SLASCL, SLASET, SORMBR, SORMLQ, SORMQR, XERBLA | |||
| EXTERNAL SGEBRD, SGELQF, SGEQRF, SLACPY, SLALSD, SLASCL, | |||
| $ SLASET, SORMBR, SORMLQ, SORMQR, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL SLAMCH, SLANGE, ILAENV | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL SLAMCH, SLANGE, ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC INT, LOG, MAX, MIN, REAL | |||
| @@ -348,7 +348,7 @@ | |||
| END IF | |||
| END IF | |||
| MINWRK = MIN( MINWRK, MAXWRK ) | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| IWORK( 1 ) = LIWORK | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| @@ -376,7 +376,6 @@ | |||
| SFMIN = SLAMCH( 'S' ) | |||
| SMLNUM = SFMIN / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| * | |||
| * Scale A if max entry outside range [SMLNUM,BIGNUM]. | |||
| * | |||
| @@ -615,7 +614,7 @@ | |||
| END IF | |||
| * | |||
| 10 CONTINUE | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| IWORK( 1 ) = LIWORK | |||
| RETURN | |||
| * | |||
| @@ -207,8 +207,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, MIN | |||
| @@ -355,7 +355,7 @@ | |||
| END IF | |||
| MAXWRK = MAX( MINWRK, MAXWRK ) | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) | |||
| $ INFO = -12 | |||
| @@ -731,7 +731,7 @@ | |||
| END IF | |||
| * | |||
| 70 CONTINUE | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| RETURN | |||
| * | |||
| * End of SGELSS | |||
| @@ -176,7 +176,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsolve | |||
| *> \ingroup gelst | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -222,15 +222,15 @@ | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGELQT, SGEQRT, SGEMLQT, SGEMQRT, SLABAD, | |||
| EXTERNAL SGELQT, SGEQRT, SGEMLQT, SGEMQRT, | |||
| $ SLASCL, SLASET, STRTRS, XERBLA | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC REAL, MAX, MIN | |||
| INTRINSIC MAX, MIN | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -268,7 +268,7 @@ | |||
| * | |||
| MNNRHS = MAX( MN, NRHS ) | |||
| LWOPT = MAX( 1, (MN+MNNRHS)*NB ) | |||
| WORK( 1 ) = REAL( LWOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWOPT ) | |||
| * | |||
| END IF | |||
| * | |||
| @@ -283,7 +283,7 @@ | |||
| * | |||
| IF( MIN( M, N, NRHS ).EQ.0 ) THEN | |||
| CALL SLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDB ) | |||
| WORK( 1 ) = REAL( LWOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -309,7 +309,6 @@ | |||
| * | |||
| SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| * | |||
| * Scale A, B if max element outside range [SMLNUM,BIGNUM] | |||
| * | |||
| @@ -332,7 +331,7 @@ | |||
| * Matrix all zero. Return zero solution. | |||
| * | |||
| CALL SLASET( 'Full', MAX( M, N ), NRHS, ZERO, ZERO, B, LDB ) | |||
| WORK( 1 ) = REAL( LWOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -522,7 +521,7 @@ | |||
| $ INFO ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = REAL( LWOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWOPT ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -191,7 +191,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsolve | |||
| *> \ingroup gelsy | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -234,11 +234,11 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SGEQP3, SLABAD, SLAIC1, SLASCL, SLASET, | |||
| EXTERNAL SCOPY, SGEQP3, SLAIC1, SLASCL, SLASET, | |||
| $ SORMQR, SORMRZ, STRSM, STZRZF, XERBLA | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| @@ -282,7 +282,7 @@ | |||
| LWKOPT = MAX( LWKMIN, | |||
| $ MN + 2*N + NB*( N + 1 ), 2*MN + NB*NRHS ) | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN | |||
| INFO = -12 | |||
| @@ -307,7 +307,6 @@ | |||
| * | |||
| SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| * | |||
| * Scale A, B if max entries outside range [SMLNUM,BIGNUM] | |||
| * | |||
| @@ -469,7 +468,7 @@ | |||
| END IF | |||
| * | |||
| 70 CONTINUE | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -119,7 +119,7 @@ | |||
| *> The dimension of the array WORK. | |||
| *> If LWORK = -1, then a workspace query is assumed. The routine | |||
| *> only calculates the size of the WORK array, returns this | |||
| *> value as WORK(1), and no error message related to WORK | |||
| *> value as WORK(1), and no error message related to WORK | |||
| *> is issued by XERBLA. | |||
| *> \endverbatim | |||
| *> | |||
| @@ -143,7 +143,7 @@ | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> These details are particular for this LAPACK implementation. Users should not | |||
| *> These details are particular for this LAPACK implementation. Users should not | |||
| *> take them for granted. These details may change in the future, and are not likely | |||
| *> true for another LAPACK implementation. These details are relevant if one wants | |||
| *> to try to understand the code. They are not part of the interface. | |||
| @@ -159,11 +159,13 @@ | |||
| *> block sizes MB and NB returned by ILAENV, SGELQ will use either | |||
| *> SLASWLQ (if the matrix is wide-and-short) or SGELQT to compute | |||
| *> the LQ factorization. | |||
| *> This version of SGEMLQ will use either SLAMSWLQ or SGEMLQT to | |||
| *> This version of SGEMLQ will use either SLAMSWLQ or SGEMLQT to | |||
| *> multiply matrix Q by another matrix. | |||
| *> Further Details in SLAMSWLQ or SGEMLQT. | |||
| *> \endverbatim | |||
| *> | |||
| *> \ingroup gemlq | |||
| *> | |||
| * ===================================================================== | |||
| SUBROUTINE SGEMLQ( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE, | |||
| $ C, LDC, WORK, LWORK, INFO ) | |||
| @@ -191,6 +193,10 @@ | |||
| LOGICAL LSAME | |||
| EXTERNAL LSAME | |||
| * .. | |||
| * .. External Functions .. | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SLAMSWLQ, SGEMLQT, XERBLA | |||
| * .. | |||
| @@ -249,7 +255,7 @@ | |||
| END IF | |||
| * | |||
| IF( INFO.EQ.0 ) THEN | |||
| WORK( 1 ) = REAL( LW ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LW ) | |||
| END IF | |||
| * | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -274,7 +280,7 @@ | |||
| $ MB, C, LDC, WORK, LWORK, INFO ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = REAL( LW ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LW ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -120,7 +120,7 @@ | |||
| *> The dimension of the array WORK. | |||
| *> If LWORK = -1, then a workspace query is assumed. The routine | |||
| *> only calculates the size of the WORK array, returns this | |||
| *> value as WORK(1), and no error message related to WORK | |||
| *> value as WORK(1), and no error message related to WORK | |||
| *> is issued by XERBLA. | |||
| *> \endverbatim | |||
| *> | |||
| @@ -144,7 +144,7 @@ | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> These details are particular for this LAPACK implementation. Users should not | |||
| *> These details are particular for this LAPACK implementation. Users should not | |||
| *> take them for granted. These details may change in the future, and are not likely | |||
| *> true for another LAPACK implementation. These details are relevant if one wants | |||
| *> to try to understand the code. They are not part of the interface. | |||
| @@ -160,12 +160,14 @@ | |||
| *> block sizes MB and NB returned by ILAENV, SGEQR will use either | |||
| *> SLATSQR (if the matrix is tall-and-skinny) or SGEQRT to compute | |||
| *> the QR factorization. | |||
| *> This version of SGEMQR will use either SLAMTSQR or SGEMQRT to | |||
| *> This version of SGEMQR will use either SLAMTSQR or SGEMQRT to | |||
| *> multiply matrix Q by another matrix. | |||
| *> Further Details in SLAMTSQR or SGEMQRT. | |||
| *> | |||
| *> \endverbatim | |||
| *> | |||
| *> \ingroup gemqr | |||
| *> | |||
| * ===================================================================== | |||
| SUBROUTINE SGEMQR( SIDE, TRANS, M, N, K, A, LDA, T, TSIZE, | |||
| $ C, LDC, WORK, LWORK, INFO ) | |||
| @@ -191,7 +193,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| EXTERNAL LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEMQRT, SLAMTSQR, XERBLA | |||
| @@ -251,7 +254,7 @@ | |||
| END IF | |||
| * | |||
| IF( INFO.EQ.0 ) THEN | |||
| WORK( 1 ) = LW | |||
| WORK( 1 ) = SROUNDUP_LWORK(LW) | |||
| END IF | |||
| * | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -276,7 +279,7 @@ | |||
| $ NB, C, LDC, WORK, LWORK, INFO ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = LW | |||
| WORK( 1 ) = SROUNDUP_LWORK(LW) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -113,7 +113,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup geqlf | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -162,7 +162,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -186,7 +187,7 @@ | |||
| NB = ILAENV( 1, 'SGEQLF', ' ', M, N, -1, -1 ) | |||
| LWKOPT = N*NB | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN | |||
| INFO = -7 | |||
| @@ -276,7 +277,7 @@ | |||
| IF( MU.GT.0 .AND. NU.GT.0 ) | |||
| $ CALL SGEQL2( MU, NU, A, LDA, TAU, WORK, IINFO ) | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGEQLF | |||
| @@ -120,7 +120,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup geqp3 | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -177,8 +177,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| REAL SNRM2 | |||
| EXTERNAL ILAENV, SNRM2 | |||
| REAL SNRM2, SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SNRM2, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC INT, MAX, MIN | |||
| @@ -205,7 +205,7 @@ | |||
| NB = ILAENV( INB, 'SGEQRF', ' ', M, N, -1, -1 ) | |||
| LWKOPT = 2*N + ( N + 1 )*NB | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| IF( ( LWORK.LT.IWS ) .AND. .NOT.LQUERY ) THEN | |||
| INFO = -8 | |||
| @@ -347,7 +347,7 @@ | |||
| * | |||
| END IF | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGEQP3 | |||
| @@ -121,7 +121,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup geqrf | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -170,7 +170,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -199,7 +200,7 @@ | |||
| ELSE | |||
| LWKOPT = N*NB | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -274,7 +275,7 @@ | |||
| $ CALL SGEQR2( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK, | |||
| $ IINFO ) | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGEQRF | |||
| @@ -122,7 +122,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup geqrfp | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -173,7 +173,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -182,7 +183,7 @@ | |||
| INFO = 0 | |||
| NB = ILAENV( 1, 'SGEQRF', ' ', M, N, -1, -1 ) | |||
| LWKOPT = N*NB | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| LQUERY = ( LWORK.EQ.-1 ) | |||
| IF( M.LT.0 ) THEN | |||
| INFO = -1 | |||
| @@ -272,7 +273,7 @@ | |||
| $ CALL SGEQR2P( M-I+1, N-I+1, A( I, I ), LDA, TAU( I ), WORK, | |||
| $ IINFO ) | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGEQRFP | |||
| @@ -114,7 +114,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup gerqf | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -163,7 +163,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -187,7 +188,7 @@ | |||
| NB = ILAENV( 1, 'SGERQF', ' ', M, N, -1, -1 ) | |||
| LWKOPT = M*NB | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| IF ( .NOT.LQUERY ) THEN | |||
| IF( LWORK.LE.0 .OR. ( N.GT.0 .AND. LWORK.LT.MAX( 1, M ) ) ) | |||
| @@ -278,7 +279,7 @@ | |||
| IF( MU.GT.0 .AND. NU.GT.0 ) | |||
| $ CALL SGERQ2( MU, NU, A, LDA, TAU, WORK, IINFO ) | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGERQF | |||
| @@ -203,7 +203,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsing | |||
| *> \ingroup gesvd | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGESVD( JOBU, JOBVT, M, N, A, LDA, S, U, LDU, VT, LDVT, | |||
| @@ -251,8 +251,8 @@ | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, MIN, SQRT | |||
| @@ -628,7 +628,7 @@ | |||
| END IF | |||
| END IF | |||
| MAXWRK = MAX( MAXWRK, MINWRK ) | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -13 | |||
| @@ -3493,7 +3493,7 @@ | |||
| * | |||
| * Return optimal workspace in WORK(1) | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -254,7 +254,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsing | |||
| *> \ingroup gesvdx | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGESVDX( JOBU, JOBVT, RANGE, M, N, A, LDA, VL, VU, | |||
| @@ -301,8 +301,8 @@ | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC MAX, MIN, SQRT | |||
| @@ -456,7 +456,7 @@ | |||
| END IF | |||
| END IF | |||
| MAXWRK = MAX( MAXWRK, MINWRK ) | |||
| WORK( 1 ) = REAL( MAXWRK ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( MAXWRK ) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -19 | |||
| @@ -822,7 +822,7 @@ | |||
| * | |||
| * Return optimal workspace in WORK(1) | |||
| * | |||
| WORK( 1 ) = REAL( MAXWRK ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( MAXWRK ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -107,7 +107,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup getri | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO ) | |||
| @@ -137,7 +137,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEMM, SGEMV, SSWAP, STRSM, STRTRI, XERBLA | |||
| @@ -152,7 +153,7 @@ | |||
| INFO = 0 | |||
| NB = ILAENV( 1, 'SGETRI', ' ', N, -1, -1, -1 ) | |||
| LWKOPT = N*NB | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| LQUERY = ( LWORK.EQ.-1 ) | |||
| IF( N.LT.0 ) THEN | |||
| INFO = -1 | |||
| @@ -250,7 +251,7 @@ | |||
| $ CALL SSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 ) | |||
| 60 CONTINUE | |||
| * | |||
| WORK( 1 ) = IWS | |||
| WORK( 1 ) = SROUNDUP_LWORK(IWS) | |||
| RETURN | |||
| * | |||
| * End of SGETRI | |||
| @@ -154,7 +154,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsolve | |||
| *> \ingroup getsls | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGETSLS( TRANS, M, N, NRHS, A, LDA, B, LDB, | |||
| @@ -188,15 +188,15 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, SLABAD, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQR, SGEMQR, SLASCL, SLASET, | |||
| $ STRTRS, XERBLA, SGELQ, SGEMLQ | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC REAL, MAX, MIN, INT | |||
| INTRINSIC MAX, MIN, INT | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -262,7 +262,7 @@ | |||
| INFO = -10 | |||
| END IF | |||
| * | |||
| WORK( 1 ) = REAL( WSIZEO ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( WSIZEO ) | |||
| * | |||
| END IF | |||
| * | |||
| @@ -271,7 +271,7 @@ | |||
| RETURN | |||
| END IF | |||
| IF( LQUERY ) THEN | |||
| IF( LWORK.EQ.-2 ) WORK( 1 ) = REAL( WSIZEM ) | |||
| IF( LWORK.EQ.-2 ) WORK( 1 ) = SROUNDUP_LWORK( WSIZEM ) | |||
| RETURN | |||
| END IF | |||
| IF( LWORK.LT.WSIZEO ) THEN | |||
| @@ -294,7 +294,6 @@ | |||
| * | |||
| SMLNUM = SLAMCH( 'S' ) / SLAMCH( 'P' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| * | |||
| * Scale A, B if max element outside range [SMLNUM,BIGNUM] | |||
| * | |||
| @@ -482,7 +481,7 @@ | |||
| END IF | |||
| * | |||
| 50 CONTINUE | |||
| WORK( 1 ) = REAL( TSZO + LWO ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( TSZO + LWO ) | |||
| RETURN | |||
| * | |||
| * End of SGETSLS | |||
| @@ -160,7 +160,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup singleOTHERcomputational | |||
| *> \ingroup getsqrhrt | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -200,6 +200,10 @@ | |||
| INTEGER I, IINFO, J, LW1, LW2, LWT, LDWT, LWORKOPT, | |||
| $ NB1LOCAL, NB2LOCAL, NUM_ALL_ROW_BLOCKS | |||
| * .. | |||
| * .. External Functions .. | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SLATSQR, SORGTSQR_ROW, SORHR_COL, | |||
| $ XERBLA | |||
| @@ -277,14 +281,14 @@ | |||
| CALL XERBLA( 'SGETSQRHRT', -INFO ) | |||
| RETURN | |||
| ELSE IF ( LQUERY ) THEN | |||
| WORK( 1 ) = REAL( LWORKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWORKOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| * Quick return if possible | |||
| * | |||
| IF( MIN( M, N ).EQ.0 ) THEN | |||
| WORK( 1 ) = REAL( LWORKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWORKOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -341,7 +345,7 @@ | |||
| END IF | |||
| END DO | |||
| * | |||
| WORK( 1 ) = REAL( LWORKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWORKOPT ) | |||
| RETURN | |||
| * | |||
| * End of SGETSQRHRT | |||
| @@ -275,7 +275,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup gges | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, LDB, | |||
| @@ -321,15 +321,14 @@ | |||
| REAL DIF( 2 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD, | |||
| $ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGSEN, | |||
| $ XERBLA | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY, | |||
| $ SLASCL, SLASET, SORGQR, SORMQR, STGSEN | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, MAX, SQRT | |||
| @@ -406,7 +405,7 @@ | |||
| MINWRK = 1 | |||
| MAXWRK = 1 | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) | |||
| $ INFO = -19 | |||
| @@ -431,7 +430,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SAFMIN = SLAMCH( 'S' ) | |||
| SAFMAX = ONE / SAFMIN | |||
| CALL SLABAD( SAFMIN, SAFMAX ) | |||
| SMLNUM = SQRT( SAFMIN ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -668,7 +666,7 @@ | |||
| * | |||
| 40 CONTINUE | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -273,7 +273,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup gges3 | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, | |||
| @@ -318,14 +318,13 @@ | |||
| REAL DIF( 2 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLABAD, | |||
| $ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGSEN, | |||
| $ XERBLA | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLACPY, | |||
| $ SLASCL, SLASET, SORGQR, SORMQR, STGSEN, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, MAX, SQRT | |||
| @@ -408,7 +407,7 @@ | |||
| $ IERR ) | |||
| LWKOPT = MAX( LWKOPT, 2*N+INT( WORK( 1 ) ) ) | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| END IF | |||
| * | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -430,7 +429,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SAFMIN = SLAMCH( 'S' ) | |||
| SAFMAX = ONE / SAFMIN | |||
| CALL SLABAD( SAFMIN, SAFMAX ) | |||
| SMLNUM = SQRT( SAFMIN ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -659,7 +657,7 @@ | |||
| * | |||
| 40 CONTINUE | |||
| * | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -337,7 +337,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup ggesx | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -405,15 +405,14 @@ | |||
| REAL DIF( 2 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD, | |||
| $ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGSEN, | |||
| $ XERBLA | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY, | |||
| $ SLASCL, SLASET, SORGQR, SORMQR, STGSEN, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, MAX, SQRT | |||
| @@ -510,7 +509,7 @@ | |||
| MAXWRK = 1 | |||
| LWRK = 1 | |||
| END IF | |||
| WORK( 1 ) = LWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWRK) | |||
| IF( WANTSN .OR. N.EQ.0 ) THEN | |||
| LIWMIN = 1 | |||
| ELSE | |||
| @@ -544,7 +543,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SAFMIN = SLAMCH( 'S' ) | |||
| SAFMAX = ONE / SAFMIN | |||
| CALL SLABAD( SAFMIN, SAFMAX ) | |||
| SMLNUM = SQRT( SAFMIN ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -807,7 +805,7 @@ | |||
| * | |||
| 50 CONTINUE | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| IWORK( 1 ) = LIWMIN | |||
| * | |||
| RETURN | |||
| @@ -218,7 +218,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup ggev | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGGEV( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR, ALPHAI, | |||
| @@ -257,15 +257,14 @@ | |||
| LOGICAL LDUMMA( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD, | |||
| $ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGEVC, | |||
| $ XERBLA | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY, | |||
| $ SLASCL, SLASET, SORGQR, SORMQR, STGEVC, XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, MAX, SQRT | |||
| @@ -335,7 +334,7 @@ | |||
| MAXWRK = MAX( MAXWRK, N*( 7 + | |||
| $ ILAENV( 1, 'SORGQR', ' ', N, 1, N, -1 ) ) ) | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) | |||
| $ INFO = -16 | |||
| @@ -358,7 +357,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -581,7 +579,7 @@ | |||
| CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| RETURN | |||
| * | |||
| * End of SGGEV | |||
| @@ -217,7 +217,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup ggev3 | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGGEV3( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR, | |||
| @@ -256,14 +256,13 @@ | |||
| LOGICAL LDUMMA( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLABAD, | |||
| $ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGEVC, | |||
| $ XERBLA | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHD3, SLAQZ0, SLACPY, | |||
| $ SLASCL, SLASET, SORGQR, SORMQR, STGEVC | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, MAX, SQRT | |||
| @@ -341,7 +340,7 @@ | |||
| $ WORK, -1, 0, IERR ) | |||
| LWKOPT = MAX( LWKOPT, 2*N+INT ( WORK( 1 ) ) ) | |||
| END IF | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| END IF | |||
| * | |||
| @@ -362,7 +361,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -578,7 +576,7 @@ | |||
| CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| RETURN | |||
| * | |||
| * End of SGGEV3 | |||
| @@ -352,7 +352,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEeigen | |||
| *> \ingroup ggevx | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -427,15 +427,15 @@ | |||
| LOGICAL LDUMMA( 1 ) | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLABAD, | |||
| $ SLACPY, SLASCL, SLASET, SORGQR, SORMQR, STGEVC, | |||
| $ STGSNA, XERBLA | |||
| EXTERNAL SGEQRF, SGGBAK, SGGBAL, SGGHRD, SHGEQZ, SLACPY, | |||
| $ SLASCL, SLASET, SORGQR, SORMQR, STGEVC, STGSNA, | |||
| $ XERBLA | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, ILAENV, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, MAX, SQRT | |||
| @@ -532,7 +532,7 @@ | |||
| $ N*ILAENV( 1, 'SORGQR', ' ', N, 1, N, 0 ) ) | |||
| END IF | |||
| END IF | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| * | |||
| IF( LWORK.LT.MINWRK .AND. .NOT.LQUERY ) THEN | |||
| INFO = -26 | |||
| @@ -557,7 +557,6 @@ | |||
| EPS = SLAMCH( 'P' ) | |||
| SMLNUM = SLAMCH( 'S' ) | |||
| BIGNUM = ONE / SMLNUM | |||
| CALL SLABAD( SMLNUM, BIGNUM ) | |||
| SMLNUM = SQRT( SMLNUM ) / EPS | |||
| BIGNUM = ONE / SMLNUM | |||
| * | |||
| @@ -855,7 +854,7 @@ | |||
| CALL SLASCL( 'G', 0, 0, BNRMTO, BNRM, N, 1, BETA, N, IERR ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = MAXWRK | |||
| WORK( 1 ) = SROUNDUP_LWORK(MAXWRK) | |||
| RETURN | |||
| * | |||
| * End of SGGEVX | |||
| @@ -177,7 +177,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHEReigen | |||
| *> \ingroup ggglm | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGGGLM( N, M, P, A, LDA, B, LDB, D, X, Y, WORK, LWORK, | |||
| @@ -212,7 +212,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC INT, MAX, MIN | |||
| @@ -251,7 +252,7 @@ | |||
| LWKMIN = M + N + P | |||
| LWKOPT = M + NP + MAX( N, P )*NB | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN | |||
| INFO = -12 | |||
| @@ -211,7 +211,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERcomputational | |||
| *> \ingroup gghd3 | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -260,14 +260,15 @@ | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV, LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGGHRD, SLARTG, SLASET, SORM22, SROT, SGEMM, | |||
| $ SGEMV, STRMV, SLACPY, XERBLA | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC REAL, MAX | |||
| INTRINSIC MAX | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -276,7 +277,7 @@ | |||
| INFO = 0 | |||
| NB = ILAENV( 1, 'SGGHD3', ' ', N, ILO, IHI, -1 ) | |||
| LWKOPT = MAX( 6*N*NB, 1 ) | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| INITQ = LSAME( COMPQ, 'I' ) | |||
| WANTQ = INITQ .OR. LSAME( COMPQ, 'V' ) | |||
| INITZ = LSAME( COMPZ, 'I' ) | |||
| @@ -885,7 +886,7 @@ | |||
| IF ( JCOL.LT.IHI ) | |||
| $ CALL SGGHRD( COMPQ2, COMPZ2, N, JCOL, IHI, A, LDA, B, LDB, Q, | |||
| $ LDQ, Z, LDZ, IERR ) | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -172,7 +172,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERsolve | |||
| *> \ingroup gglse | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SGGLSE( M, N, P, A, LDA, B, LDB, C, D, X, WORK, LWORK, | |||
| @@ -207,7 +207,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC INT, MAX, MIN | |||
| @@ -246,7 +247,7 @@ | |||
| LWKMIN = M + N + P | |||
| LWKOPT = P + MN + MAX( M, N )*NB | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| * | |||
| IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN | |||
| INFO = -12 | |||
| @@ -173,7 +173,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERcomputational | |||
| *> \ingroup ggqrf | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -236,7 +236,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC INT, MAX, MIN | |||
| @@ -251,7 +252,7 @@ | |||
| NB3 = ILAENV( 1, 'SORMQR', ' ', N, M, P, -1 ) | |||
| NB = MAX( NB1, NB2, NB3 ) | |||
| LWKOPT = MAX( N, M, P )*NB | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| LQUERY = ( LWORK.EQ.-1 ) | |||
| IF( N.LT.0 ) THEN | |||
| INFO = -1 | |||
| @@ -287,7 +288,8 @@ | |||
| * RQ factorization of N-by-P matrix B: B = T*Z. | |||
| * | |||
| CALL SGERQF( N, P, B, LDB, TAUB, WORK, LWORK, INFO ) | |||
| WORK( 1 ) = MAX( LOPT, INT( WORK( 1 ) ) ) | |||
| LWKOPT = MAX( LOPT, INT( WORK( 1 ) ) ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -172,7 +172,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERcomputational | |||
| *> \ingroup ggrqf | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -235,7 +235,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC INT, MAX, MIN | |||
| @@ -250,7 +251,7 @@ | |||
| NB3 = ILAENV( 1, 'SORMRQ', ' ', M, N, P, -1 ) | |||
| NB = MAX( NB1, NB2, NB3 ) | |||
| LWKOPT = MAX( N, M, P)*NB | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| LQUERY = ( LWORK.EQ.-1 ) | |||
| IF( M.LT.0 ) THEN | |||
| INFO = -1 | |||
| @@ -287,7 +288,8 @@ | |||
| * QR factorization of P-by-N matrix B: B = Z*T | |||
| * | |||
| CALL SGEQRF( P, N, B, LDB, TAUB, WORK, LWORK, INFO ) | |||
| WORK( 1 ) = MAX( LOPT, INT( WORK( 1 ) ) ) | |||
| LWKOPT = MAX( LOPT, INT( WORK( 1 ) ) ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| RETURN | |||
| * | |||
| @@ -328,7 +328,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEsing | |||
| *> \ingroup ggsvd3 | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -372,8 +372,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| REAL SLAMCH, SLANGE | |||
| EXTERNAL LSAME, SLAMCH, SLANGE | |||
| REAL SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SLAMCH, SLANGE, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SGGSVP3, STGSJA, XERBLA | |||
| @@ -429,7 +429,7 @@ | |||
| LWKOPT = N + INT( WORK( 1 ) ) | |||
| LWKOPT = MAX( 2*N, LWKOPT ) | |||
| LWKOPT = MAX( 1, LWKOPT ) | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| END IF | |||
| * | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -492,7 +492,7 @@ | |||
| END IF | |||
| 20 CONTINUE | |||
| * | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| RETURN | |||
| * | |||
| * End of SGGSVD3 | |||
| @@ -250,7 +250,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERcomputational | |||
| *> \ingroup ggsvp3 | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -300,7 +300,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| EXTERNAL LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SGEQP3, SGEQR2, SGERQ2, SLACPY, SLAPMT, | |||
| @@ -365,7 +366,7 @@ | |||
| CALL SGEQP3( M, N, A, LDA, IWORK, TAU, WORK, -1, INFO ) | |||
| LWKOPT = MAX( LWKOPT, INT( WORK ( 1 ) ) ) | |||
| LWKOPT = MAX( 1, LWKOPT ) | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| END IF | |||
| * | |||
| IF( INFO.NE.0 ) THEN | |||
| @@ -560,7 +561,7 @@ | |||
| * | |||
| END IF | |||
| * | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| RETURN | |||
| * | |||
| * End of SGGSVP3 | |||
| @@ -282,7 +282,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGEcomputational | |||
| *> \ingroup hgeqz | |||
| * | |||
| *> \par Further Details: | |||
| * ===================== | |||
| @@ -346,8 +346,9 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| REAL SLAMCH, SLANHS, SLAPY2, SLAPY3 | |||
| EXTERNAL LSAME, SLAMCH, SLANHS, SLAPY2, SLAPY3 | |||
| REAL SLAMCH, SLANHS, SLAPY2, SLAPY3, SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SLAMCH, SLANHS, SLAPY2, SLAPY3, | |||
| $ SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SLAG2, SLARFG, SLARTG, SLASET, SLASV2, SROT, | |||
| @@ -1364,7 +1365,7 @@ | |||
| * Exit (other than argument error) -- return optimal workspace size | |||
| * | |||
| 420 CONTINUE | |||
| WORK( 1 ) = REAL( N ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( N ) | |||
| RETURN | |||
| * | |||
| * End of SHGEQZ | |||
| @@ -233,7 +233,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERcomputational | |||
| *> \ingroup hseqr | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -358,7 +358,8 @@ | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| LOGICAL LSAME | |||
| EXTERNAL ILAENV, LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SLACPY, SLAHQR, SLAQR0, SLASET, XERBLA | |||
| @@ -373,7 +374,7 @@ | |||
| WANTT = LSAME( JOB, 'S' ) | |||
| INITZ = LSAME( COMPZ, 'I' ) | |||
| WANTZ = INITZ .OR. LSAME( COMPZ, 'V' ) | |||
| WORK( 1 ) = REAL( MAX( 1, N ) ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( MAX( 1, N ) ) | |||
| LQUERY = LWORK.EQ.-1 | |||
| * | |||
| INFO = 0 | |||
| @@ -263,7 +263,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERauxiliary | |||
| *> \ingroup laqr2 | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -305,11 +305,11 @@ | |||
| LOGICAL BULGE, SORTED | |||
| * .. | |||
| * .. External Functions .. | |||
| REAL SLAMCH | |||
| EXTERNAL SLAMCH | |||
| REAL SLAMCH, SROUNDUP_LWORK | |||
| EXTERNAL SLAMCH, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SGEHRD, SGEMM, SLABAD, SLACPY, SLAHQR, | |||
| EXTERNAL SCOPY, SGEHRD, SGEMM, SLACPY, SLAHQR, | |||
| $ SLANV2, SLARF, SLARFG, SLASET, SORMHR, STREXC | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| @@ -343,7 +343,7 @@ | |||
| * ==== Quick return in case of workspace query. ==== | |||
| * | |||
| IF( LWORK.EQ.-1 ) THEN | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -362,7 +362,6 @@ | |||
| * | |||
| SAFMIN = SLAMCH( 'SAFE MINIMUM' ) | |||
| SAFMAX = ONE / SAFMIN | |||
| CALL SLABAD( SAFMIN, SAFMAX ) | |||
| ULP = SLAMCH( 'PRECISION' ) | |||
| SMLNUM = SAFMIN*( REAL( N ) / ULP ) | |||
| * | |||
| @@ -674,7 +673,7 @@ | |||
| * | |||
| * ==== Return optimal workspace. ==== | |||
| * | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| * ==== End of SLAQR2 ==== | |||
| * | |||
| @@ -260,7 +260,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERauxiliary | |||
| *> \ingroup laqr3 | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -302,14 +302,13 @@ | |||
| LOGICAL BULGE, SORTED | |||
| * .. | |||
| * .. External Functions .. | |||
| REAL SLAMCH | |||
| REAL SLAMCH, SROUNDUP_LWORK | |||
| INTEGER ILAENV | |||
| EXTERNAL SLAMCH, ILAENV | |||
| EXTERNAL SLAMCH, SROUNDUP_LWORK, ILAENV | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SCOPY, SGEHRD, SGEMM, SLABAD, SLACPY, SLAHQR, | |||
| $ SLANV2, SLAQR4, SLARF, SLARFG, SLASET, SORMHR, | |||
| $ STREXC | |||
| EXTERNAL SCOPY, SGEHRD, SGEMM, SLACPY, SLAHQR, SLANV2, | |||
| $ SLAQR4, SLARF, SLARFG, SLASET, SORMHR, STREXC | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, INT, MAX, MIN, REAL, SQRT | |||
| @@ -348,7 +347,7 @@ | |||
| * ==== Quick return in case of workspace query. ==== | |||
| * | |||
| IF( LWORK.EQ.-1 ) THEN | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -367,7 +366,6 @@ | |||
| * | |||
| SAFMIN = SLAMCH( 'SAFE MINIMUM' ) | |||
| SAFMAX = ONE / SAFMIN | |||
| CALL SLABAD( SAFMIN, SAFMAX ) | |||
| ULP = SLAMCH( 'PRECISION' ) | |||
| SMLNUM = SAFMIN*( REAL( N ) / ULP ) | |||
| * | |||
| @@ -685,7 +683,7 @@ | |||
| * | |||
| * ==== Return optimal workspace. ==== | |||
| * | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| * ==== End of SLAQR3 ==== | |||
| * | |||
| @@ -239,7 +239,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realOTHERauxiliary | |||
| *> \ingroup laqr4 | |||
| * | |||
| *> \par Contributors: | |||
| * ================== | |||
| @@ -316,7 +316,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| INTEGER ILAENV | |||
| EXTERNAL ILAENV | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL ILAENV, SROUNDUP_LWORK | |||
| * .. | |||
| * .. Local Arrays .. | |||
| REAL ZDUM( 1, 1 ) | |||
| @@ -325,7 +326,7 @@ | |||
| EXTERNAL SLACPY, SLAHQR, SLANV2, SLAQR2, SLAQR5 | |||
| * .. | |||
| * .. Intrinsic Functions .. | |||
| INTRINSIC ABS, INT, MAX, MIN, MOD, REAL | |||
| INTRINSIC ABS, INT, MAX, MIN, MOD | |||
| * .. | |||
| * .. Executable Statements .. | |||
| INFO = 0 | |||
| @@ -401,7 +402,7 @@ | |||
| * ==== Quick return in case of workspace query. ==== | |||
| * | |||
| IF( LWORK.EQ.-1 ) THEN | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -732,7 +733,7 @@ | |||
| * | |||
| * ==== Return the optimal value of LWORK. ==== | |||
| * | |||
| WORK( 1 ) = REAL( LWKOPT ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWKOPT ) | |||
| * | |||
| * ==== End of SLAQR4 ==== | |||
| * | |||
| @@ -294,7 +294,7 @@ | |||
| * | |||
| *> \date May 2020 | |||
| * | |||
| *> \ingroup doubleGEcomputational | |||
| *> \ingroup laqz0 | |||
| *> | |||
| * ===================================================================== | |||
| RECURSIVE SUBROUTINE SLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A, | |||
| @@ -331,7 +331,7 @@ | |||
| * External Functions | |||
| EXTERNAL :: XERBLA, SHGEQZ, SLAQZ3, SLAQZ4, SLASET, | |||
| $ SLARTG, SROT | |||
| REAL, EXTERNAL :: SLAMCH, SLANHS | |||
| REAL, EXTERNAL :: SLAMCH, SLANHS, SROUNDUP_LWORK | |||
| LOGICAL, EXTERNAL :: LSAME | |||
| INTEGER, EXTERNAL :: ILAENV | |||
| @@ -461,7 +461,7 @@ | |||
| LWORKREQ = MAX( ITEMP1+2*NW**2, ITEMP2+2*NBR**2 ) | |||
| IF ( LWORK .EQ.-1 ) THEN | |||
| WORK( 1 ) = REAL( LWORKREQ ) | |||
| WORK( 1 ) = SROUNDUP_LWORK( LWORKREQ ) | |||
| RETURN | |||
| ELSE IF ( LWORK .LT. LWORKREQ ) THEN | |||
| INFO = -19 | |||
| @@ -228,7 +228,7 @@ | |||
| * | |||
| *> \date May 2020 | |||
| * | |||
| *> \ingroup doubleGEcomputational | |||
| *> \ingroup laqz3 | |||
| *> | |||
| * ===================================================================== | |||
| RECURSIVE SUBROUTINE SLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW, | |||
| @@ -258,9 +258,9 @@ | |||
| REAL :: S, SMLNUM, ULP, SAFMIN, SAFMAX, C1, S1, TEMP | |||
| * External Functions | |||
| EXTERNAL :: XERBLA, STGEXC, SLABAD, SLAQZ0, SLACPY, SLASET, | |||
| EXTERNAL :: XERBLA, STGEXC, SLAQZ0, SLACPY, SLASET, | |||
| $ SLAQZ2, SROT, SLARTG, SLAG2, SGEMM | |||
| REAL, EXTERNAL :: SLAMCH | |||
| REAL, EXTERNAL :: SLAMCH, SROUNDUP_LWORK | |||
| INFO = 0 | |||
| @@ -286,7 +286,7 @@ | |||
| LWORKREQ = MAX( LWORKREQ, N*NW, 2*NW**2+N ) | |||
| IF ( LWORK .EQ.-1 ) THEN | |||
| * workspace query, quick return | |||
| WORK( 1 ) = LWORKREQ | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWORKREQ) | |||
| RETURN | |||
| ELSE IF ( LWORK .LT. LWORKREQ ) THEN | |||
| INFO = -26 | |||
| @@ -300,7 +300,6 @@ | |||
| * Get machine constants | |||
| SAFMIN = SLAMCH( 'SAFE MINIMUM' ) | |||
| SAFMAX = ONE/SAFMIN | |||
| CALL SLABAD( SAFMIN, SAFMAX ) | |||
| ULP = SLAMCH( 'PRECISION' ) | |||
| SMLNUM = SAFMIN*( REAL( N )/ULP ) | |||
| @@ -204,7 +204,7 @@ | |||
| * | |||
| *> \date May 2020 | |||
| * | |||
| *> \ingroup doubleGEcomputational | |||
| *> \ingroup laqz4 | |||
| *> | |||
| * ===================================================================== | |||
| SUBROUTINE SLAQZ4( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS, | |||
| @@ -236,6 +236,7 @@ | |||
| * External functions | |||
| EXTERNAL :: XERBLA, SGEMM, SLAQZ1, SLAQZ2, SLASET, SLARTG, SROT, | |||
| $ SLACPY | |||
| REAL, EXTERNAL :: SROUNDUP_LWORK | |||
| INFO = 0 | |||
| IF ( NBLOCK_DESIRED .LT. NSHIFTS+1 ) THEN | |||
| @@ -243,7 +244,7 @@ | |||
| END IF | |||
| IF ( LWORK .EQ.-1 ) THEN | |||
| * workspace query, quick return | |||
| WORK( 1 ) = N*NBLOCK_DESIRED | |||
| WORK( 1 ) = SROUNDUP_LWORK(N*NBLOCK_DESIRED) | |||
| RETURN | |||
| ELSE IF ( LWORK .LT. N*NBLOCK_DESIRED ) THEN | |||
| INFO = -25 | |||
| @@ -159,6 +159,8 @@ | |||
| *> SIAM J. Sci. Comput, vol. 34, no. 1, 2012 | |||
| *> \endverbatim | |||
| *> | |||
| *> \ingroup laswlq | |||
| *> | |||
| * ===================================================================== | |||
| SUBROUTINE SLASWLQ( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK, | |||
| $ INFO) | |||
| @@ -183,7 +185,8 @@ | |||
| * .. | |||
| * .. EXTERNAL FUNCTIONS .. | |||
| LOGICAL LSAME | |||
| EXTERNAL LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SROUNDUP_LWORK | |||
| * .. EXTERNAL SUBROUTINES .. | |||
| EXTERNAL SGELQT, SGEQRT, STPLQT, STPQRT, XERBLA | |||
| * .. INTRINSIC FUNCTIONS .. | |||
| @@ -262,7 +265,7 @@ | |||
| $ WORK, INFO ) | |||
| END IF | |||
| * | |||
| WORK( 1 ) = M * MB | |||
| WORK( 1 ) = SROUNDUP_LWORK(M * MB) | |||
| RETURN | |||
| * | |||
| * End of SLASWLQ | |||
| @@ -150,7 +150,7 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \ingroup realGBcomputational | |||
| *> \ingroup ungbr | |||
| * | |||
| * ===================================================================== | |||
| SUBROUTINE SORGBR( VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO ) | |||
| @@ -179,7 +179,8 @@ | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| EXTERNAL LSAME | |||
| REAL SROUNDUP_LWORK | |||
| EXTERNAL LSAME, SROUNDUP_LWORK | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL SORGLQ, SORGQR, XERBLA | |||
| @@ -240,7 +241,7 @@ | |||
| CALL XERBLA( 'SORGBR', -INFO ) | |||
| RETURN | |||
| ELSE IF( LQUERY ) THEN | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| RETURN | |||
| END IF | |||
| * | |||
| @@ -326,7 +327,7 @@ | |||
| END IF | |||
| END IF | |||
| END IF | |||
| WORK( 1 ) = LWKOPT | |||
| WORK( 1 ) = SROUNDUP_LWORK(LWKOPT) | |||
| RETURN | |||
| * | |||
| * End of SORGBR | |||