20 void pcscal_(
int * N,
float * ALPHA,
21 float * X,
int * IX,
int * JX,
int * DESCX,
int * INCX )
23 void pcscal_( N, ALPHA, X, IX, JX, DESCX, INCX )
27 int * INCX, * IX, * JX, * N;
158 int Xcol, Xi, Xii, Xj, Xjj, Xld, Xnp, Xnq, Xrow, ctxt, info,
159 mycol, myrow, npcol, nprow;
175 if( !( info = ( ( nprow == -1 ) ? -( 601 +
CTXT_ ) : 0 ) ) )
176 PB_Cchkvec( ctxt,
"PCSCAL",
"X", *N, 1, Xi, Xj, Xd, *INCX, 6, &info );
177 if( info ) {
PB_Cabort( ctxt,
"PCSCAL", info );
return; }
182 if( *N == 0 )
return;
193 PB_Cinfog2l( Xi, Xj, Xd, nprow, npcol, myrow, mycol, &Xii, &Xjj, &Xrow,
198 if( *INCX == Xd[
M_] )
203 if( ( myrow == Xrow ) || ( Xrow < 0 ) )
216 cset_( &Xnq, ((
char *) ALPHA),
Mptr( ((
char *) X), Xii, Xjj,
217 Xld, type->
size ), &Xld );
221 cscal_( &Xnq, ((
char *) ALPHA),
Mptr( ((
char *) X), Xii,
222 Xjj, Xld, type->
size ), &Xld );
233 if( ( mycol == Xcol ) || ( Xcol < 0 ) )
245 cset_( &Xnp, ((
char *) ALPHA),
Mptr( ((
char *) X), Xii,
246 Xjj, Xd[
LLD_], type->
size ), INCX );
250 cscal_( &Xnp, ((
char *) ALPHA),
Mptr( ((
char *) X), Xii,
251 Xjj, Xd[
LLD_], type->
size ), INCX );