! Replaces DTRMM 48 procedures ! Level 3 REAL (DTRMM) ! . right unit ! . alpha op_a lower side diag b ! 301* any H L R U b < alpha b a(H) ! 302* any H L R b < alpha b a(H) ! 303* any H L U b < alpha a(H) b ! 304* any H L b < alpha a(H) b ! 305* any H R U b < alpha b a(H) ! 306* any H R b < alpha b a(H) ! 307* any H U b < alpha a(H) b ! 308* any H b < alpha a(H) b ! 309 any T L R U b < alpha b a(T) ! 310 any T L R b < alpha b a(T) ! 311 any T L U b < alpha a(T) b ! 312 any T L b < alpha a(T) b ! 313 any T R U b < alpha b a(T) ! 314 any T R b < alpha b a(T) ! 315 any T U b < alpha a(T) b ! 316 any T b < alpha a(T) b ! 317 any L R U b < alpha b a ! 318 any L R b < alpha b a ! 319 any L U b < alpha a b ! 320 any L b < alpha a b ! 321 any R U b < alpha b a ! 322 any R b < alpha b a ! 323 any U b < alpha a b ! 324 any b < alpha a b ! 325* 1.0 H L R U b < b a(H) ! 326* 1.0 H L R b < b a(H) ! 327* 1.0 H L U b < a(H) b ! 328* 1.0 H L b < a(H) b ! 329* 1.0 H R U b < b a(H) ! 330* 1.0 H R b < b a(H) ! 331* 1.0 H U b < a(H) b ! 332* 1.0 H b < a(H) b ! 333 1.0 T L R U b < b a(T) ! 334 1.0 T L R b < b a(T) ! 335 1.0 T L U b < a(T) b ! 336 1.0 T L b < a(T) b ! 337 1.0 T R U b < b a(T) ! 338 1.0 T R b < b a(T) ! 339 1.0 T U b < a(T) b ! 340 1.0 T b < a(T) b ! 341 1.0 L R U b < b a ! 342 1.0 L R b < b a ! 343 1.0 L U b < a b ! 344 1.0 L b < a b ! 345 1.0 R U b < b a ! 346 1.0 R b < b a ! 347 1.0 U b < a b ! 348 1.0 b < a b ! * means not needed for the REAL case ! . all procedures with op_a of type "blas_conj_trans" ! . are not needed but have been added for consistency ! . with the complex case ! . (301, 302, 303, 304, 305, 306, 307, 308, ! . 325, 326, 327, 328, 329, 330, 331, 332) MODULE dtrmm_01 CONTAINS SUBROUTINE dtrmm_301(alpha,a,op_a,b,lower,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_unit_diag_type, blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','C','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_301 END MODULE dtrmm_01 MODULE dtrmm_02 CONTAINS SUBROUTINE dtrmm_302(alpha,a,op_a,b,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','C','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_302 END MODULE dtrmm_02 MODULE dtrmm_03 CONTAINS SUBROUTINE dtrmm_303(alpha,a,op_a,b,lower,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_unit_diag_type, & blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','C','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_303 END MODULE dtrmm_03 MODULE dtrmm_04 CONTAINS SUBROUTINE dtrmm_304(alpha,a,op_a,b,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','C','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_304 END MODULE dtrmm_04 MODULE dtrmm_05 CONTAINS SUBROUTINE dtrmm_305(alpha,a,op_a,b,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_unit_diag_type, & blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','C','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_305 END MODULE dtrmm_05 MODULE dtrmm_06 CONTAINS SUBROUTINE dtrmm_306(alpha,a,op_a,b,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','C','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_306 END MODULE dtrmm_06 MODULE dtrmm_07 CONTAINS SUBROUTINE dtrmm_307(alpha,a,op_a,b,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_unit_diag_type, blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','C','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_307 END MODULE dtrmm_07 MODULE dtrmm_08 CONTAINS SUBROUTINE dtrmm_308(alpha,a,op_a,b) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_conj_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','C','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_308 END MODULE dtrmm_08 MODULE dtrmm_09 CONTAINS SUBROUTINE dtrmm_309(alpha,a,op_a,b,lower,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_unit_diag_type, blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','T','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_309 END MODULE dtrmm_09 MODULE dtrmm_10 CONTAINS SUBROUTINE dtrmm_310(alpha,a,op_a,b,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','T','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_310 END MODULE dtrmm_10 MODULE dtrmm_11 CONTAINS SUBROUTINE dtrmm_311(alpha,a,op_a,b,lower,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_unit_diag_type, & blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','T','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_311 END MODULE dtrmm_11 MODULE dtrmm_12 CONTAINS SUBROUTINE dtrmm_312(alpha,a,op_a,b,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','T','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_312 END MODULE dtrmm_12 MODULE dtrmm_13 CONTAINS SUBROUTINE dtrmm_313(alpha,a,op_a,b,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_unit_diag_type, & blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','T','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_313 END MODULE dtrmm_13 MODULE dtrmm_14 CONTAINS SUBROUTINE dtrmm_314(alpha,a,op_a,b,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','T','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_314 END MODULE dtrmm_14 MODULE dtrmm_15 CONTAINS SUBROUTINE dtrmm_315(alpha,a,op_a,b,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_unit_diag_type, blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','T','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_315 END MODULE dtrmm_15 MODULE dtrmm_16 CONTAINS SUBROUTINE dtrmm_316(alpha,a,op_a,b) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_trans_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','T','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_316 END MODULE dtrmm_16 MODULE dtrmm_17 CONTAINS SUBROUTINE dtrmm_317(alpha,a,b,lower,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_unit_diag_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','N','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_317 END MODULE dtrmm_17 MODULE dtrmm_18 CONTAINS SUBROUTINE dtrmm_318(alpha,a,b,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 TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','N','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_318 END MODULE dtrmm_18 MODULE dtrmm_19 CONTAINS SUBROUTINE dtrmm_319(alpha,a,b,lower,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_unit_diag_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','N','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_319 END MODULE dtrmm_19 MODULE dtrmm_20 CONTAINS SUBROUTINE dtrmm_320(alpha,a,b,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','N','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_320 END MODULE dtrmm_20 MODULE dtrmm_21 CONTAINS SUBROUTINE dtrmm_321(alpha,a,b,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_unit_diag_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','N','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_321 END MODULE dtrmm_21 MODULE dtrmm_22 CONTAINS SUBROUTINE dtrmm_322(alpha,a,b,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','N','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrmm_322 END MODULE dtrmm_22 MODULE dtrmm_23 CONTAINS SUBROUTINE dtrmm_323(alpha,a,b,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_unit_diag_type ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','N','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_323 END MODULE dtrmm_23 MODULE dtrmm_24 CONTAINS SUBROUTINE dtrmm_324(alpha,a,b) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Scalar Arguments .. REAL (wp), INTENT (IN) :: alpha ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','N','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrmm_324 END MODULE dtrmm_24 MODULE dtrmm_25 CONTAINS SUBROUTINE dtrmm_325(a,op_a,b,lower,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_unit_diag_type, blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','C','U',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_325 END MODULE dtrmm_25 MODULE dtrmm_26 CONTAINS SUBROUTINE dtrmm_326(a,op_a,b,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','C','N',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_326 END MODULE dtrmm_26 MODULE dtrmm_27 CONTAINS SUBROUTINE dtrmm_327(a,op_a,b,lower,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_unit_diag_type, & blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','C','U',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_327 END MODULE dtrmm_27 MODULE dtrmm_28 CONTAINS SUBROUTINE dtrmm_328(a,op_a,b,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','C','N',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_328 END MODULE dtrmm_28 MODULE dtrmm_29 CONTAINS SUBROUTINE dtrmm_329(a,op_a,b,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_unit_diag_type, & blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','C','U',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_329 END MODULE dtrmm_29 MODULE dtrmm_30 CONTAINS SUBROUTINE dtrmm_330(a,op_a,b,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','C','N',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_330 END MODULE dtrmm_30 MODULE dtrmm_31 CONTAINS SUBROUTINE dtrmm_331(a,op_a,b,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_unit_diag_type, blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','C','U',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_331 END MODULE dtrmm_31 MODULE dtrmm_32 CONTAINS SUBROUTINE dtrmm_332(a,op_a,b) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_conj_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_conj_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','C','N',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_332 END MODULE dtrmm_32 MODULE dtrmm_33 CONTAINS SUBROUTINE dtrmm_333(a,op_a,b,lower,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_unit_diag_type, blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','T','U',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_333 END MODULE dtrmm_33 MODULE dtrmm_34 CONTAINS SUBROUTINE dtrmm_334(a,op_a,b,lower,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','T','N',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_334 END MODULE dtrmm_34 MODULE dtrmm_35 CONTAINS SUBROUTINE dtrmm_335(a,op_a,b,lower,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_unit_diag_type, & blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','T','U',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_335 END MODULE dtrmm_35 MODULE dtrmm_36 CONTAINS SUBROUTINE dtrmm_336(a,op_a,b,lower) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','T','N',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_336 END MODULE dtrmm_36 MODULE dtrmm_37 CONTAINS SUBROUTINE dtrmm_337(a,op_a,b,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_unit_diag_type, & blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','T','U',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_337 END MODULE dtrmm_37 MODULE dtrmm_38 CONTAINS SUBROUTINE dtrmm_338(a,op_a,b,right_side) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','T','N',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_338 END MODULE dtrmm_38 MODULE dtrmm_39 CONTAINS SUBROUTINE dtrmm_339(a,op_a,b,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_unit_diag_type, blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','T','U',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_339 END MODULE dtrmm_39 MODULE dtrmm_40 CONTAINS SUBROUTINE dtrmm_340(a,op_a,b) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_trans_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_trans_type), INTENT (IN) :: op_a ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','T','N',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_340 END MODULE dtrmm_40 MODULE dtrmm_41 CONTAINS SUBROUTINE dtrmm_341(a,b,lower,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_lower_type, & blas_unit_diag_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','N','U',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_341 END MODULE dtrmm_41 MODULE dtrmm_42 CONTAINS SUBROUTINE dtrmm_342(a,b,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 .. TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','L','N','N',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_342 END MODULE dtrmm_42 MODULE dtrmm_43 CONTAINS SUBROUTINE dtrmm_343(a,b,lower,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_lower_type, blas_unit_diag_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_lower_type), INTENT (IN) :: lower TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','N','U',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_343 END MODULE dtrmm_43 MODULE dtrmm_44 CONTAINS SUBROUTINE dtrmm_344(a,b,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 .. TYPE (blas_lower_type), INTENT (IN) :: lower ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','L','N','N',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_344 END MODULE dtrmm_44 MODULE dtrmm_45 CONTAINS SUBROUTINE dtrmm_345(a,b,right_side,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_right_type, blas_unit_diag_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_right_type), INTENT (IN) :: right_side TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','N','U',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_345 END MODULE dtrmm_45 MODULE dtrmm_46 CONTAINS SUBROUTINE dtrmm_346(a,b,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 .. TYPE (blas_right_type), INTENT (IN) :: right_side ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('R','U','N','N',m,n,one,a,n,b,n) END SUBROUTINE dtrmm_346 END MODULE dtrmm_46 MODULE dtrmm_47 CONTAINS SUBROUTINE dtrmm_347(a,b,unit_diag) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp USE blas_keywords, ONLY : blas_unit_diag_type ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Scalar Arguments .. TYPE (blas_unit_diag_type), INTENT (IN) :: unit_diag ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','N','U',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_347 END MODULE dtrmm_47 MODULE dtrmm_48 CONTAINS SUBROUTINE dtrmm_348(a,b) ! .. Use Statements .. USE blas_kinds, ONLY : wp => dp ! .. Parameters .. REAL (wp), PARAMETER :: one = 1.0_wp ! .. Array Arguments .. REAL (wp), INTENT (IN) :: a(:,:) REAL (wp), INTENT (INOUT) :: b(:,:) ! .. Local Scalar .. INTEGER :: m, n ! .. External Procedures .. EXTERNAL dtrmm m = SIZE(b,1) n = SIZE(b,2) CALL dtrmm('L','U','N','N',m,n,one,a,m,b,n) END SUBROUTINE dtrmm_348 END MODULE dtrmm_48