! Replaces DTRSM 48 procedures ! Level 3 REAL (DTRSM) ! . 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(-1) ! 318 any L R b < alpha b a(-1) ! 319 any L U b < alpha a(-1) b ! 320 any L b < alpha a(-1) b ! 321 any R U b < alpha b a(-1) ! 322 any R b < alpha b a(-1) ! 323 any U b < alpha a(-1) b ! 324 any b < alpha a(-1) 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(-1) ! 342 1.0 L R b < b a(-1) ! 343 1.0 L U b < a(-1) b ! 344 1.0 L b < a(-1) b ! 345 1.0 R U b < b a(-1) ! 346 1.0 R b < b a(-1) ! 347 1.0 U b < a(-1) b ! 348 1.0 b < a(-1) 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 dtrsm_01 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','C','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_301 END MODULE dtrsm_01 MODULE dtrsm_02 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','C','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_302 END MODULE dtrsm_02 MODULE dtrsm_03 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','C','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_303 END MODULE dtrsm_03 MODULE dtrsm_04 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','C','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_304 END MODULE dtrsm_04 MODULE dtrsm_05 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','C','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_305 END MODULE dtrsm_05 MODULE dtrsm_06 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','C','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_306 END MODULE dtrsm_06 MODULE dtrsm_07 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','C','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_307 END MODULE dtrsm_07 MODULE dtrsm_08 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','C','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_308 END MODULE dtrsm_08 MODULE dtrsm_09 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','T','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_309 END MODULE dtrsm_09 MODULE dtrsm_10 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','T','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_310 END MODULE dtrsm_10 MODULE dtrsm_11 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','T','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_311 END MODULE dtrsm_11 MODULE dtrsm_12 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','T','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_312 END MODULE dtrsm_12 MODULE dtrsm_13 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','T','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_313 END MODULE dtrsm_13 MODULE dtrsm_14 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','T','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_314 END MODULE dtrsm_14 MODULE dtrsm_15 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','T','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_315 END MODULE dtrsm_15 MODULE dtrsm_16 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','T','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_316 END MODULE dtrsm_16 MODULE dtrsm_17 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','N','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_317 END MODULE dtrsm_17 MODULE dtrsm_18 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','N','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_318 END MODULE dtrsm_18 MODULE dtrsm_19 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','N','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_319 END MODULE dtrsm_19 MODULE dtrsm_20 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','N','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_320 END MODULE dtrsm_20 MODULE dtrsm_21 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','N','U',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_321 END MODULE dtrsm_21 MODULE dtrsm_22 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','N','N',m,n,alpha,a,n,b,n) END SUBROUTINE dtrsm_322 END MODULE dtrsm_22 MODULE dtrsm_23 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','N','U',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_323 END MODULE dtrsm_23 MODULE dtrsm_24 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','N','N',m,n,alpha,a,m,b,n) END SUBROUTINE dtrsm_324 END MODULE dtrsm_24 MODULE dtrsm_25 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','C','U',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_325 END MODULE dtrsm_25 MODULE dtrsm_26 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','C','N',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_326 END MODULE dtrsm_26 MODULE dtrsm_27 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','C','U',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_327 END MODULE dtrsm_27 MODULE dtrsm_28 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','C','N',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_328 END MODULE dtrsm_28 MODULE dtrsm_29 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','C','U',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_329 END MODULE dtrsm_29 MODULE dtrsm_30 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','C','N',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_330 END MODULE dtrsm_30 MODULE dtrsm_31 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','C','U',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_331 END MODULE dtrsm_31 MODULE dtrsm_32 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','C','N',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_332 END MODULE dtrsm_32 MODULE dtrsm_33 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','T','U',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_333 END MODULE dtrsm_33 MODULE dtrsm_34 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','T','N',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_334 END MODULE dtrsm_34 MODULE dtrsm_35 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','T','U',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_335 END MODULE dtrsm_35 MODULE dtrsm_36 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','T','N',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_336 END MODULE dtrsm_36 MODULE dtrsm_37 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','T','U',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_337 END MODULE dtrsm_37 MODULE dtrsm_38 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','T','N',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_338 END MODULE dtrsm_38 MODULE dtrsm_39 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','T','U',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_339 END MODULE dtrsm_39 MODULE dtrsm_40 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','T','N',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_340 END MODULE dtrsm_40 MODULE dtrsm_41 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','N','U',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_341 END MODULE dtrsm_41 MODULE dtrsm_42 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','L','N','N',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_342 END MODULE dtrsm_42 MODULE dtrsm_43 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','N','U',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_343 END MODULE dtrsm_43 MODULE dtrsm_44 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','L','N','N',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_344 END MODULE dtrsm_44 MODULE dtrsm_45 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','N','U',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_345 END MODULE dtrsm_45 MODULE dtrsm_46 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('R','U','N','N',m,n,one,a,n,b,n) END SUBROUTINE dtrsm_346 END MODULE dtrsm_46 MODULE dtrsm_47 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','N','U',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_347 END MODULE dtrsm_47 MODULE dtrsm_48 CONTAINS SUBROUTINE dtrsm_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 dtrsm m = SIZE(b,1) n = SIZE(b,2) CALL dtrsm('L','U','N','N',m,n,one,a,m,b,n) END SUBROUTINE dtrsm_348 END MODULE dtrsm_48