! Replaces ZGBMV 12 procedures ! . alpha op_a beta c ! 201 any T any c < alpha a(T) b + beta c ! 202 any T 0.0 c < alpha a(T) b ! 203* any H any c < alpha a(H) b + beta c ! 204* any H 0.0 c < alpha a(H) b ! 205 any any c < alpha a b + beta c ! 206 any 0.0 c < alpha a b ! 207 1.0 T any c < a(T) b + beta c ! 208 1.0 T 0.0 c < a(T) b ! 209* 1.0 H any c < a(H) b + beta c ! 210* 1.0 H 0.0 c < a(H) b ! 211 1.0 any c < a b + beta c ! 212 1.0 0.0 c < a b ! * means not needed for the REAL case MODULE zgbmv_01 CONTAINS SUBROUTINE zgbmv_201(alpha,a,op_a,b,beta,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_trans_type ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: alpha, beta TYPE (blas_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(c) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('T',m,n,kl,ku,alpha,a,SIZE(a,1),b,1,beta,c,1) END SUBROUTINE zgbmv_201 END MODULE zgbmv_01 MODULE zgbmv_02 CONTAINS SUBROUTINE zgbmv_202(alpha,a,op_a,b,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_trans_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(c) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('T',m,n,kl,ku,alpha,a,SIZE(a,1),b,1,zero,c,1) END SUBROUTINE zgbmv_202 END MODULE zgbmv_02 MODULE zgbmv_03 CONTAINS SUBROUTINE zgbmv_203(alpha,a,op_a,b,beta,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_trans_type ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: alpha, beta TYPE (blas_conj_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(c) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('C',m,n,kl,ku,alpha,a,SIZE(a,1),b,1,beta,c,1) END SUBROUTINE zgbmv_203 END MODULE zgbmv_03 MODULE zgbmv_04 CONTAINS SUBROUTINE zgbmv_204(alpha,a,op_a,b,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_trans_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(c) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('C',m,n,kl,ku,alpha,a,SIZE(a,1),b,1,zero,c,1) END SUBROUTINE zgbmv_204 END MODULE zgbmv_04 MODULE zgbmv_05 CONTAINS SUBROUTINE zgbmv_205(alpha,a,b,beta,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: alpha, beta ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(b) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('N',m,n,kl,ku,alpha,a,SIZE(a,1),b,1,beta,c,1) END SUBROUTINE zgbmv_205 END MODULE zgbmv_05 MODULE zgbmv_06 CONTAINS SUBROUTINE zgbmv_206(alpha,a,b,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: alpha ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(b) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('N',m,n,kl,ku,alpha,a,SIZE(a,1),b,1,zero,c,1) END SUBROUTINE zgbmv_206 END MODULE zgbmv_06 MODULE zgbmv_07 CONTAINS SUBROUTINE zgbmv_207(a,op_a,b,beta,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_trans_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: beta TYPE (blas_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(b) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('T',m,n,kl,ku,one,a,SIZE(a,1),b,1,beta,c,1) END SUBROUTINE zgbmv_207 END MODULE zgbmv_07 MODULE zgbmv_08 CONTAINS SUBROUTINE zgbmv_208(a,op_a,b,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_trans_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd TYPE (blas_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(b) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('T',m,n,kl,ku,one,a,SIZE(a,1),b,1,zero,c,1) END SUBROUTINE zgbmv_208 END MODULE zgbmv_08 MODULE zgbmv_09 CONTAINS SUBROUTINE zgbmv_209(a,op_a,b,beta,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_trans_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: beta TYPE (blas_conj_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(b) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('C',m,n,kl,ku,one,a,SIZE(a,1),b,1,beta,c,1) END SUBROUTINE zgbmv_209 END MODULE zgbmv_09 MODULE zgbmv_10 CONTAINS SUBROUTINE zgbmv_210(a,op_a,b,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_trans_type ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd TYPE (blas_conj_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(b) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('C',m,n,kl,ku,one,a,SIZE(a,1),b,1,zero,c,1) END SUBROUTINE zgbmv_210 END MODULE zgbmv_10 MODULE zgbmv_11 CONTAINS SUBROUTINE zgbmv_211(a,b,beta,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd COMPLEX (wp), INTENT (IN) :: beta ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (INOUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(c) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('N',m,n,kl,ku,one,a,SIZE(a,1),b,1,beta,c,1) END SUBROUTINE zgbmv_211 END MODULE zgbmv_11 MODULE zgbmv_12 CONTAINS SUBROUTINE zgbmv_212(a,b,c,kd) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. COMPLEX (wp), PARAMETER :: one = (1.0_wp,0.0_wp) COMPLEX (wp), PARAMETER :: zero = (0.0_wp,0.0_wp) ! .. Scalar Arguments .. INTEGER, INTENT (IN) :: kd ! .. Array Arguments .. COMPLEX (wp), INTENT (IN) :: a(:,:), b(:) COMPLEX (wp), INTENT (OUT) :: c(:) ! .. Local Scalar .. INTEGER :: kl, ku, m, n ! .. External Procedures .. EXTERNAL zgbmv m = SIZE(c) n = SIZE(a,2) ku = kd - 1 kl = SIZE(a,1) - kd CALL zgbmv('N',m,n,kl,ku,one,a,SIZE(a,1),b,1,zero,c,1) END SUBROUTINE zgbmv_212 END MODULE zgbmv_12