Diff for /rpl/lapack/lapack/dlasyf_aa.f between versions 1.4 and 1.6

version 1.4, 2018/05/29 07:18:01 version 1.6, 2023/08/07 08:39:00
Line 136 Line 136
 *> \author Univ. of Colorado Denver  *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.  *> \author NAG Ltd.
 *  *
 *> \date November 2017  
 *  
 *> \ingroup doubleSYcomputational  *> \ingroup doubleSYcomputational
 *  *
 *  =====================================================================  *  =====================================================================
       SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,        SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
      $                      H, LDH, WORK )       $                      H, LDH, WORK )
 *  *
 *  -- LAPACK computational routine (version 3.8.0) --  *  -- LAPACK computational routine --
 *  -- 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..--
 *     November 2017  
 *  *
       IMPLICIT NONE        IMPLICIT NONE
 *  *
Line 284 Line 281
 *  *
 *              Swap A(I1, I2+1:M) with A(I2, I2+1:M)  *              Swap A(I1, I2+1:M) with A(I2, I2+1:M)
 *  *
                CALL DSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,                 IF( I2.LT.M )
      $                           A( J1+I2-1, I2+1 ), LDA )       $            CALL DSWAP( M-I2, A( J1+I1-1, I2+1 ), LDA,
        $                              A( J1+I2-1, I2+1 ), LDA )
 *  *
 *              Swap A(I1, I1) with A(I2,I2)  *              Swap A(I1, I1) with A(I2,I2)
 *  *
Line 325 Line 323
 *           Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),  *           Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
 *            where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)  *            where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
 *  *
             IF( A( K, J+1 ).NE.ZERO ) THEN              IF( J.LT.(M-1) ) THEN
                ALPHA = ONE / A( K, J+1 )                 IF( A( K, J+1 ).NE.ZERO ) THEN
                CALL DCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )                    ALPHA = ONE / A( K, J+1 )
                CALL DSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )                    CALL DCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
             ELSE                    CALL DSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
                CALL DLASET( 'Full', 1, M-J-1, ZERO, ZERO,                 ELSE
      $                      A( K, J+2 ), LDA)                    CALL DLASET( 'Full', 1, M-J-1, ZERO, ZERO,
        $                         A( K, J+2 ), LDA)
                  END IF
             END IF              END IF
          END IF           END IF
          J = J + 1           J = J + 1
Line 432 Line 432
 *  *
 *              Swap A(I2+1:M, I1) with A(I2+1:M, I2)  *              Swap A(I2+1:M, I1) with A(I2+1:M, I2)
 *  *
                CALL DSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,                 IF( I2.LT.M )
      $                           A( I2+1, J1+I2-1 ), 1 )       $            CALL DSWAP( M-I2, A( I2+1, J1+I1-1 ), 1,
        $                              A( I2+1, J1+I2-1 ), 1 )
 *  *
 *              Swap A(I1, I1) with A(I2, I2)  *              Swap A(I1, I1) with A(I2, I2)
 *  *
Line 473 Line 474
 *           Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),  *           Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
 *            where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)  *            where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
 *  *
             IF( A( J+1, K ).NE.ZERO ) THEN              IF( J.LT.(M-1) ) THEN
                ALPHA = ONE / A( J+1, K )                 IF( A( J+1, K ).NE.ZERO ) THEN
                CALL DCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )                    ALPHA = ONE / A( J+1, K )
                CALL DSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )                    CALL DCOPY( M-J-1, WORK( 3 ), 1, A( J+2, K ), 1 )
             ELSE                    CALL DSCAL( M-J-1, ALPHA, A( J+2, K ), 1 )
                CALL DLASET( 'Full', M-J-1, 1, ZERO, ZERO,                 ELSE
      $                      A( J+2, K ), LDA )                    CALL DLASET( 'Full', M-J-1, 1, ZERO, ZERO,
        $                         A( J+2, K ), LDA )
                  END IF
             END IF              END IF
          END IF           END IF
          J = J + 1           J = J + 1

Removed from v.1.4  
changed lines
  Added in v.1.6


CVSweb interface <joel.bertrand@systella.fr>