! Replaces ZGERU 4 procedures ! Replaces ZGERC 4 procedures ! Level 2 COMPLEX (ZGERU, ZGERC) ! . alpha op_b beta c ! 201 any any c < alpha a b(T) + beta c ! 202 any 0.0 c < alpha a b(T) ! 203 1.0 any c < a b(T) + beta c ! 204 1.0 0.0 c < a b(T) ! 205 any C any c < alpha a b(H) + beta c ! 206 any C 0.0 c < alpha a b(H) ! 207 1.0 C any c < a b(H) + beta c ! 208 1.0 C 0.0 c < a b(H) MODULE zger_01 CONTAINS SUBROUTINE zger_201(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 :: m, n ! .. External Procedures .. EXTERNAL zgeru m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL zgeru(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE zger_201 END MODULE zger_01 MODULE zger_02 CONTAINS SUBROUTINE zger_202(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 (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL zgeru m = SIZE(c,1) n = SIZE(c,2) c = zero CALL zgeru(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE zger_202 END MODULE zger_02 MODULE zger_03 CONTAINS SUBROUTINE zger_203(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 :: m, n ! .. External Procedures .. EXTERNAL zgeru m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL zgeru(m,n,one,a,1,b,1,c,m) END SUBROUTINE zger_203 END MODULE zger_03 MODULE zger_04 CONTAINS SUBROUTINE zger_204(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 (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL zgeru m = SIZE(c,1) n = SIZE(c,2) c = zero CALL zgeru(m,n,one,a,1,b,1,c,m) END SUBROUTINE zger_204 END MODULE zger_04 MODULE zger_05 CONTAINS SUBROUTINE zger_205(alpha,a,b,op_b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: alpha, beta TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL zgerc m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL zgerc(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE zger_205 END MODULE zger_05 MODULE zger_06 CONTAINS SUBROUTINE zger_206(alpha,a,b,op_b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: alpha TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL zgerc m = SIZE(c,1) n = SIZE(c,2) c = zero CALL zgerc(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE zger_206 END MODULE zger_06 MODULE zger_07 CONTAINS SUBROUTINE zger_207(a,b,op_b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. COMPLEX (wp), INTENT (IN) :: beta TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL zgerc m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL zgerc(m,n,one,a,1,b,1,c,m) END SUBROUTINE zger_207 END MODULE zger_07 MODULE zger_08 CONTAINS SUBROUTINE zger_208(a,b,op_b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_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_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL zgerc m = SIZE(c,1) n = SIZE(c,2) c = zero CALL zgerc(m,n,one,a,1,b,1,c,m) END SUBROUTINE zger_208 END MODULE zger_08