! Replaces DSBMV 8 procedures ! . alpha beta lower c ! 201 any any L c < alpha a b + beta c ! 202 any any c < alpha a b + beta c ! 203 any 0.0 L c < alpha a b ! 204 any 0.0 c < alpha a b ! 205 1.0 any L c < a b + beta c ! 206 1.0 any c < a b + beta c ! 207 1.0 0.0 L c < a b ! 208 1.0 0.0 c < a b MODULE dsbmv_01 CONTAINS SUBROUTINE dsbmv_201(alpha,a,b,beta,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha, beta TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('L',n,k,alpha,a,k+1,b,1,beta,c,1) END SUBROUTINE dsbmv_201 END MODULE dsbmv_01 MODULE dsbmv_02 CONTAINS SUBROUTINE dsbmv_202(alpha,a,b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha, beta ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('U',n,k,alpha,a,k+1,b,1,beta,c,1) END SUBROUTINE dsbmv_202 END MODULE dsbmv_02 MODULE dsbmv_03 CONTAINS SUBROUTINE dsbmv_203(alpha,a,b,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('L',n,k,alpha,a,k+1,b,1,zero,c,1) END SUBROUTINE dsbmv_203 END MODULE dsbmv_03 MODULE dsbmv_04 CONTAINS SUBROUTINE dsbmv_204(alpha,a,b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('U',n,k,alpha,a,k+1,b,1,zero,c,1) END SUBROUTINE dsbmv_204 END MODULE dsbmv_04 MODULE dsbmv_05 CONTAINS SUBROUTINE dsbmv_205(a,b,beta,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: beta TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('L',n,k,one,a,k+1,b,1,beta,c,1) END SUBROUTINE dsbmv_205 END MODULE dsbmv_05 MODULE dsbmv_06 CONTAINS SUBROUTINE dsbmv_206(a,b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: beta ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('U',n,k,one,a,k+1,b,1,beta,c,1) END SUBROUTINE dsbmv_206 END MODULE dsbmv_06 MODULE dsbmv_07 CONTAINS SUBROUTINE dsbmv_207(a,b,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('L',n,k,one,a,k+1,b,1,zero,c,1) END SUBROUTINE dsbmv_207 END MODULE dsbmv_07 MODULE dsbmv_08 CONTAINS SUBROUTINE dsbmv_208(a,b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:) REAL (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: k, n ! .. External Procedures .. EXTERNAL dsbmv n = SIZE(c) k = SIZE(a,1) - 1 CALL dsbmv('U',n,k,one,a,k+1,b,1,zero,c,1) END SUBROUTINE dsbmv_208 END MODULE dsbmv_08