! Replaces ZHEMV 8 procedures ! Level 2 COMPLEX ZHEMV ! . alpha beta side 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 zhemv_01 CONTAINS SUBROUTINE zhemv_201(alpha,a,b,beta,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: alpha, beta TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('L',n,alpha,a,n,b,1,beta,c,1) END SUBROUTINE zhemv_201 END MODULE zhemv_01 MODULE zhemv_02 CONTAINS SUBROUTINE zhemv_202(alpha,a,b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: alpha, beta ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('U',n,alpha,a,n,b,1,beta,c,1) END SUBROUTINE zhemv_202 END MODULE zhemv_02 MODULE zhemv_03 CONTAINS SUBROUTINE zhemv_203(alpha,a,b,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('L',n,alpha,a,n,b,1,zero,c,1) END SUBROUTINE zhemv_203 END MODULE zhemv_03 MODULE zhemv_04 CONTAINS SUBROUTINE zhemv_204(alpha,a,b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: alpha ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('U',n,alpha,a,n,b,1,zero,c,1) END SUBROUTINE zhemv_204 END MODULE zhemv_04 MODULE zhemv_05 CONTAINS SUBROUTINE zhemv_205(a,b,beta,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: beta TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('L',n,one,a,n,b,1,beta,c,1) END SUBROUTINE zhemv_205 END MODULE zhemv_05 MODULE zhemv_06 CONTAINS SUBROUTINE zhemv_206(a,b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: beta ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('U',n,one,a,n,b,1,beta,c,1) END SUBROUTINE zhemv_206 END MODULE zhemv_06 MODULE zhemv_07 CONTAINS SUBROUTINE zhemv_207(a,b,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('L',n,one,a,n,b,1,zero,c,1) END SUBROUTINE zhemv_207 END MODULE zhemv_07 MODULE zhemv_08 CONTAINS SUBROUTINE zhemv_208(a,b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zhemv n = SIZE(c) CALL zhemv('U',n,one,a,n,b,1,zero,c,1) END SUBROUTINE zhemv_208 END MODULE zhemv_08