! Replaces DGER 8 procedures ! Level 2 REAL (DGER) ! . 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 dger_01 CONTAINS SUBROUTINE dger_201(alpha,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) :: alpha, beta ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:), b(:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL dger(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE dger_201 END MODULE dger_01 MODULE dger_02 CONTAINS SUBROUTINE dger_202(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 (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) c = zero CALL dger(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE dger_202 END MODULE dger_02 MODULE dger_03 CONTAINS SUBROUTINE dger_203(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 :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL dger(m,n,one,a,1,b,1,c,m) END SUBROUTINE dger_203 END MODULE dger_03 MODULE dger_04 CONTAINS SUBROUTINE dger_204(a,b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:), b(:) REAL (wp), INTENT (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) c = zero CALL dger(m,n,one,a,1,b,1,c,m) END SUBROUTINE dger_204 END MODULE dger_04 MODULE dger_05 CONTAINS SUBROUTINE dger_205(alpha,a,b,op_b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha, beta TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:), b(:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL dger(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE dger_205 END MODULE dger_05 MODULE dger_06 CONTAINS SUBROUTINE dger_206(alpha,a,b,op_b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:), b(:) REAL (wp), INTENT (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) c = zero CALL dger(m,n,alpha,a,1,b,1,c,m) END SUBROUTINE dger_206 END MODULE dger_06 MODULE dger_07 CONTAINS SUBROUTINE dger_207(a,b,op_b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: beta TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:), b(:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) IF (beta/=one) c = beta*c CALL dger(m,n,one,a,1,b,1,c,m) END SUBROUTINE dger_207 END MODULE dger_07 MODULE dger_08 CONTAINS SUBROUTINE dger_208(a,b,op_b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_type), INTENT (IN) :: op_b ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:), b(:) REAL (wp), INTENT (OUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dger m = SIZE(c,1) n = SIZE(c,2) c = zero CALL dger(m,n,one,a,1,b,1,c,m) END SUBROUTINE dger_208 END MODULE dger_08