Diff for /rpl/lapack/lapack/dgetsls.f between versions 1.2 and 1.3

version 1.2, 2017/06/17 11:06:18 version 1.3, 2018/05/29 06:55:16
Line 152 Line 152
 *> \author Univ. of Colorado Denver  *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.  *> \author NAG Ltd.
 *  *
 *> \date December 2016  *> \date June 2017
 *  *
 *> \ingroup doubleGEsolve  *> \ingroup doubleGEsolve
 *  *
Line 160 Line 160
       SUBROUTINE DGETSLS( TRANS, M, N, NRHS, A, LDA, B, LDB,        SUBROUTINE DGETSLS( TRANS, M, N, NRHS, A, LDA, B, LDB,
      $                    WORK, LWORK, INFO )       $                    WORK, LWORK, INFO )
 *  *
 *  -- LAPACK driver routine (version 3.7.0) --  *  -- LAPACK driver routine (version 3.7.1) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     December 2016  *     June 2017
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       CHARACTER          TRANS        CHARACTER          TRANS
Line 185 Line 185
       INTEGER            I, IASCL, IBSCL, J, MINMN, MAXMN, BROW,        INTEGER            I, IASCL, IBSCL, J, MINMN, MAXMN, BROW,
      $                   SCLLEN, MNK, TSZO, TSZM, LWO, LWM, LW1, LW2,       $                   SCLLEN, MNK, TSZO, TSZM, LWO, LWM, LW1, LW2,
      $                   WSIZEO, WSIZEM, INFO2       $                   WSIZEO, WSIZEM, INFO2
       DOUBLE PRECISION   ANRM, BIGNUM, BNRM, SMLNUM, TQ( 5 ), WORKQ        DOUBLE PRECISION   ANRM, BIGNUM, BNRM, SMLNUM, TQ( 5 ), WORKQ( 1 )
 *     ..  *     ..
 *     .. External Functions ..  *     .. External Functions ..
       LOGICAL            LSAME        LOGICAL            LSAME
Line 233 Line 233
        IF( M.GE.N ) THEN         IF( M.GE.N ) THEN
          CALL DGEQR( M, N, A, LDA, TQ, -1, WORKQ, -1, INFO2 )           CALL DGEQR( M, N, A, LDA, TQ, -1, WORKQ, -1, INFO2 )
          TSZO = INT( TQ( 1 ) )           TSZO = INT( TQ( 1 ) )
          LWO  = INT( WORKQ )           LWO  = INT( WORKQ( 1 ) )
          CALL DGEMQR( 'L', TRANS, M, NRHS, N, A, LDA, TQ,           CALL DGEMQR( 'L', TRANS, M, NRHS, N, A, LDA, TQ,
      $                TSZO, B, LDB, WORKQ, -1, INFO2 )       $                TSZO, B, LDB, WORKQ, -1, INFO2 )
          LWO  = MAX( LWO, INT( WORKQ ) )           LWO  = MAX( LWO, INT( WORKQ( 1 ) ) )
          CALL DGEQR( M, N, A, LDA, TQ, -2, WORKQ, -2, INFO2 )           CALL DGEQR( M, N, A, LDA, TQ, -2, WORKQ, -2, INFO2 )
          TSZM = INT( TQ( 1 ) )           TSZM = INT( TQ( 1 ) )
          LWM  = INT( WORKQ )           LWM  = INT( WORKQ( 1 ) )
          CALL DGEMQR( 'L', TRANS, M, NRHS, N, A, LDA, TQ,           CALL DGEMQR( 'L', TRANS, M, NRHS, N, A, LDA, TQ,
      $                TSZM, B, LDB, WORKQ, -1, INFO2 )       $                TSZM, B, LDB, WORKQ, -1, INFO2 )
          LWM = MAX( LWM, INT( WORKQ ) )           LWM = MAX( LWM, INT( WORKQ( 1 ) ) )
          WSIZEO = TSZO + LWO           WSIZEO = TSZO + LWO
          WSIZEM = TSZM + LWM           WSIZEM = TSZM + LWM
        ELSE         ELSE
          CALL DGELQ( M, N, A, LDA, TQ, -1, WORKQ, -1, INFO2 )           CALL DGELQ( M, N, A, LDA, TQ, -1, WORKQ, -1, INFO2 )
          TSZO = INT( TQ( 1 ) )           TSZO = INT( TQ( 1 ) )
          LWO  = INT( WORKQ )           LWO  = INT( WORKQ( 1 ) )
          CALL DGEMLQ( 'L', TRANS, N, NRHS, M, A, LDA, TQ,           CALL DGEMLQ( 'L', TRANS, N, NRHS, M, A, LDA, TQ,
      $                TSZO, B, LDB, WORKQ, -1, INFO2 )       $                TSZO, B, LDB, WORKQ, -1, INFO2 )
          LWO  = MAX( LWO, INT( WORKQ ) )           LWO  = MAX( LWO, INT( WORKQ( 1 ) ) )
          CALL DGELQ( M, N, A, LDA, TQ, -2, WORKQ, -2, INFO2 )           CALL DGELQ( M, N, A, LDA, TQ, -2, WORKQ, -2, INFO2 )
          TSZM = INT( TQ( 1 ) )           TSZM = INT( TQ( 1 ) )
          LWM  = INT( WORKQ )           LWM  = INT( WORKQ( 1 ) )
          CALL DGEMLQ( 'L', TRANS, N, NRHS, M, A, LDA, TQ,           CALL DGEMLQ( 'L', TRANS, N, NRHS, M, A, LDA, TQ,
      $                TSZO, B, LDB, WORKQ, -1, INFO2 )       $                TSZO, B, LDB, WORKQ, -1, INFO2 )
          LWM  = MAX( LWM, INT( WORKQ ) )           LWM  = MAX( LWM, INT( WORKQ( 1 ) ) )
          WSIZEO = TSZO + LWO           WSIZEO = TSZO + LWO
          WSIZEM = TSZM + LWM           WSIZEM = TSZM + LWM
        END IF         END IF

Removed from v.1.2  
changed lines
  Added in v.1.3


CVSweb interface <joel.bertrand@systella.fr>