OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
pbztrsrt.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine pbztrsrt (icontxt, adist, m, n, nb, a, lda, beta, b, ldb, lcmp, lcmq, nint)

Function/Subroutine Documentation

◆ pbztrsrt()

subroutine pbztrsrt ( integer icontxt,
character*1 adist,
integer m,
integer n,
integer nb,
complex*16, dimension( lda, * ) a,
integer lda,
complex*16 beta,
complex*16, dimension( ldb, * ) b,
integer ldb,
integer lcmp,
integer lcmq,
integer nint )

Definition at line 1 of file pbztrsrt.f.

3*
4* -- PB-BLAS routine (version 2.1) --
5* University of Tennessee, Knoxville, Oak Ridge National Laboratory.
6* April 28, 1996
7*
8* .. Scalar Arguments ..
9 CHARACTER*1 ADIST
10 INTEGER ICONTXT, LCMP, LCMQ, LDA, LDB, M, N, NB, NINT
11 COMPLEX*16 BETA
12* ..
13* .. Array Arguments ..
14 COMPLEX*16 A( LDA, * ), B( LDB, * )
15* ..
16*
17* Purpose
18* =======
19*
20* PBZTRSRT forms T <== A + beta * T, where T is a sorted
21* condensed block row (or column) from a block column (or row) of A
22* with sorting index ISRT
23*
24* =====================================================================
25*
26* .. Parameters ..
27 COMPLEX*16 ONE
28 parameter( one = ( 1.0d+0, 0.0d+0 ) )
29* ..
30* .. Local Variables ..
31 INTEGER JA, JB, K, KK, NJUMP
32* ..
33* .. External Subroutines ..
34 EXTERNAL pbzmatadd
35* ..
36* .. External Functions ..
37 LOGICAL LSAME
38 INTEGER ICEIL
39 EXTERNAL iceil, lsame
40* ..
41* .. Intrinsic Functions ..
42 INTRINSIC min, mod
43* ..
44* .. Executable Statements ..
45*
46 IF( lsame( adist, 'r' ) ) THEN
47 NJUMP = NB * LCMQ
48 DO 20 K = 0, LCMQ-1
49 JA = NINT * MOD( K*LCMP, LCMQ ) + 1
50 JB = K * NB + 1
51*
52 DO 10 KK = 1, ICEIL( NINT, NB )
53.LT. IF( NJB ) GO TO 20
54 CALL PBZMATADD( ICONTXT, 'g', M, MIN( N-JB+1, NB ), ONE,
55 $ A(1, JA), LDA, BETA, B(1, JB), LDB )
56 JA = JA + NB
57 JB = JB + NJUMP
58 10 CONTINUE
59 20 CONTINUE
60*
61* if( LSAME( ADIST, 'C') ) then
62*
63 ELSE
64 NJUMP = NB * LCMP
65 DO 40 K = 0, LCMP-1
66 JA = 1
67 JB = K * NB + 1
68*
69 DO 30 KK = 1, ICEIL( NINT, NB )
70.LT. IF( MJB ) GO TO 40
71 CALL PBZMATADD( ICONTXT, 'g', MIN( M-JB+1, NB ), N, ONE,
72 $ A(JA, N*MOD(K*LCMQ,LCMP)+1), LDA, BETA,
73 $ B(JB, 1), LDB )
74 JA = JA + NB
75 JB = JB + NJUMP
76 30 CONTINUE
77 40 CONTINUE
78 END IF
79*
80 RETURN
81*
82* End of PBZTRSRT
83*
logical function lsame(ca, cb)
LSAME
Definition lsame.f:53
integer function iceil(inum, idenom)
Definition iceil.f:2
#define min(a, b)
Definition macros.h:20
subroutine pbzmatadd(icontxt, mode, m, n, alpha, a, lda, beta, b, ldb)
Definition pbzmatadd.f:3