! Replaces ZHER2 8 procedures ! . alpha beta lower c ! 201 any any L c < alpha a b(H) + alpha(C) b a(H) + beta c ! 202 any any c < alpha a b(H) + alpha(C) b a(H) + beta c ! 203 any 0.0 L c < alpha a b(H) + alpha(C) b a(H) ! 204 any 0.0 c < alpha a b(H) + alpha(C) b a(H) ! 205 1.0 any L c < a b(H) + b a(H) + beta c ! 206 1.0 any c < a b(H) + b a(H) + beta c ! 207 1.0 0.0 L c < a b(H) + b a(H) ! 208 1.0 0.0 c < a b(H) + b a(H) MODULE zher2_01 CONTAINS SUBROUTINE zher2_201(alpha,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) :: 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 zher2 n = SIZE(a) IF (beta/=one) c = beta*c CALL zher2('L',n,alpha,a,1,b,1,c,n) END SUBROUTINE zher2_201 END MODULE zher2_01 MODULE zher2_02 CONTAINS SUBROUTINE zher2_202(alpha,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) :: alpha, beta ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: n ! .. External Procedures .. EXTERNAL zher2 n = SIZE(a) IF (beta/=one) c = beta*c CALL zher2('U',n,alpha,a,1,b,1,c,n) END SUBROUTINE zher2_202 END MODULE zher2_02 MODULE zher2_03 CONTAINS SUBROUTINE zher2_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 zher2 n = SIZE(a) c = zero CALL zher2('L',n,alpha,a,1,b,1,c,n) END SUBROUTINE zher2_203 END MODULE zher2_03 MODULE zher2_04 CONTAINS SUBROUTINE zher2_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 zher2 n = SIZE(a) c = zero CALL zher2('U',n,alpha,a,1,b,1,c,n) END SUBROUTINE zher2_204 END MODULE zher2_04 MODULE zher2_05 CONTAINS SUBROUTINE zher2_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 zher2 n = SIZE(a) IF (beta/=one) c = beta*c CALL zher2('L',n,one,a,1,b,1,c,n) END SUBROUTINE zher2_205 END MODULE zher2_05 MODULE zher2_06 CONTAINS SUBROUTINE zher2_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 zher2 n = SIZE(a) IF (beta/=one) c = beta*c CALL zher2('U',n,one,a,1,b,1,c,n) END SUBROUTINE zher2_206 END MODULE zher2_06 MODULE zher2_07 CONTAINS SUBROUTINE zher2_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 zher2 n = SIZE(a) c = zero CALL zher2('L',n,one,a,1,b,1,c,n) END SUBROUTINE zher2_207 END MODULE zher2_07 MODULE zher2_08 CONTAINS SUBROUTINE zher2_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 zher2 n = SIZE(a) c = zero CALL zher2('U',n,one,a,1,b,1,c,n) END SUBROUTINE zher2_208 END MODULE zher2_08