! Replaces DSYMV 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 dsymv_01 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('L',n,alpha,a,n,b,1,beta,c,1) END SUBROUTINE dsymv_201 END MODULE dsymv_01 MODULE dsymv_02 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('U',n,alpha,a,n,b,1,beta,c,1) END SUBROUTINE dsymv_202 END MODULE dsymv_02 MODULE dsymv_03 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('L',n,alpha,a,n,b,1,zero,c,1) END SUBROUTINE dsymv_203 END MODULE dsymv_03 MODULE dsymv_04 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('U',n,alpha,a,n,b,1,zero,c,1) END SUBROUTINE dsymv_204 END MODULE dsymv_04 MODULE dsymv_05 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('L',n,one,a,n,b,1,beta,c,1) END SUBROUTINE dsymv_205 END MODULE dsymv_05 MODULE dsymv_06 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('U',n,one,a,n,b,1,beta,c,1) END SUBROUTINE dsymv_206 END MODULE dsymv_06 MODULE dsymv_07 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('L',n,one,a,n,b,1,zero,c,1) END SUBROUTINE dsymv_207 END MODULE dsymv_07 MODULE dsymv_08 CONTAINS SUBROUTINE dsymv_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 :: n ! .. External Procedures .. EXTERNAL dsymv n = SIZE(c) CALL dsymv('U',n,one,a,n,b,1,zero,c,1) END SUBROUTINE dsymv_208 END MODULE dsymv_08