! Replaces DSYMM 16 procedures ! Level 3 REAL (DSYMM) ! . right ! . alpha beta lower side c ! 301 any any L R c < alpha b a + beta c ! 302 any any L c < alpha a b + beta c ! 303 any any R c < alpha b a + beta c ! 304 any any c < alpha a b + beta c ! 305 any 0.0 L R c < alpha b a ! 306 any 0.0 L c < alpha a b ! 307 any 0.0 R c < alpha b a ! 308 any 0.0 c < alpha a b ! 309 1.0 any L R c < b a + beta c ! 310 1.0 any L c < a b + beta c ! 311 1.0 any R c < b a + beta c ! 312 1.0 any c < a b + beta c ! 313 1.0 0.0 L R c < b a ! 314 1.0 0.0 L c < a b ! 315 1.0 0.0 R c < b a ! 316 1.0 0.0 c < a b MODULE dsymm_01 CONTAINS SUBROUTINE dsymm_301(alpha,a,b,beta,c,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha, beta TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','L',m,n,alpha,a,n,b,m,beta,c,m) END SUBROUTINE dsymm_301 END MODULE dsymm_01 MODULE dsymm_02 CONTAINS SUBROUTINE dsymm_302(alpha,a,b,beta,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha, beta TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','L',m,n,alpha,a,m,b,m,beta,c,m) END SUBROUTINE dsymm_302 END MODULE dsymm_02 MODULE dsymm_03 CONTAINS SUBROUTINE dsymm_303(alpha,a,b,beta,c,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha, beta TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','U',m,n,alpha,a,n,b,m,beta,c,m) END SUBROUTINE dsymm_303 END MODULE dsymm_03 MODULE dsymm_04 CONTAINS SUBROUTINE dsymm_304(alpha,a,b,beta,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. 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 dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','U',m,n,alpha,a,m,b,m,beta,c,m) END SUBROUTINE dsymm_304 END MODULE dsymm_04 MODULE dsymm_05 CONTAINS SUBROUTINE dsymm_305(alpha,a,b,c,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','L',m,n,alpha,a,n,b,m,zero,c,m) END SUBROUTINE dsymm_305 END MODULE dsymm_05 MODULE dsymm_06 CONTAINS SUBROUTINE dsymm_306(alpha,a,b,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','L',m,n,alpha,a,m,b,m,zero,c,m) END SUBROUTINE dsymm_306 END MODULE dsymm_06 MODULE dsymm_07 CONTAINS SUBROUTINE dsymm_307(alpha,a,b,c,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','U',m,n,alpha,a,n,b,m,zero,c,m) END SUBROUTINE dsymm_307 END MODULE dsymm_07 MODULE dsymm_08 CONTAINS SUBROUTINE dsymm_308(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 (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','U',m,n,alpha,a,m,b,m,zero,c,m) END SUBROUTINE dsymm_308 END MODULE dsymm_08 MODULE dsymm_09 CONTAINS SUBROUTINE dsymm_309(a,b,beta,c,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: beta TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','L',m,n,one,a,n,b,m,beta,c,m) END SUBROUTINE dsymm_309 END MODULE dsymm_09 MODULE dsymm_10 CONTAINS SUBROUTINE dsymm_310(a,b,beta,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: beta TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','L',m,n,one,a,m,b,m,beta,c,m) END SUBROUTINE dsymm_310 END MODULE dsymm_10 MODULE dsymm_11 CONTAINS SUBROUTINE dsymm_311(a,b,beta,c,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: beta TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','U',m,n,one,a,n,b,m,beta,c,m) END SUBROUTINE dsymm_311 END MODULE dsymm_11 MODULE dsymm_12 CONTAINS SUBROUTINE dsymm_312(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 dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','U',m,n,one,a,m,b,m,beta,c,m) END SUBROUTINE dsymm_312 END MODULE dsymm_12 MODULE dsymm_13 CONTAINS SUBROUTINE dsymm_313(a,b,c,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','L',m,n,one,a,n,b,m,zero,c,m) END SUBROUTINE dsymm_313 END MODULE dsymm_13 MODULE dsymm_14 CONTAINS SUBROUTINE dsymm_314(a,b,c,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','L',m,n,one,a,m,b,m,zero,c,m) END SUBROUTINE dsymm_314 END MODULE dsymm_14 MODULE dsymm_15 CONTAINS SUBROUTINE dsymm_315(a,b,c,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('R','U',m,n,one,a,n,b,m,zero,c,m) END SUBROUTINE dsymm_315 END MODULE dsymm_15 MODULE dsymm_16 CONTAINS SUBROUTINE dsymm_316(a,b,c) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. REAL (wp), PARAMETER :: zero = 0.0_wp REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:), b(:,:) REAL (wp), INTENT (INOUT) :: c(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dsymm m = SIZE(c,1) n = SIZE(c,2) CALL dsymm('L','U',m,n,one,a,m,b,m,zero,c,m) END SUBROUTINE dsymm_316 END MODULE dsymm_16