Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
p?swap
Swaps two distributed vectors.
Syntax
call psswap ( n , x , ix , jx , descx , incx , y , iy , jy , descy , incy )
call pdswap ( n , x , ix , jx , descx , incx , y , iy , jy , descy , incy )
call pcswap ( n , x , ix , jx , descx , incx , y , iy , jy , descy , incy )
call pzswap ( n , x , ix , jx , descx , incx , y , iy , jy , descy , incy )
Include Files
mkl_pblas.h
Description
Given two distributed vectors sub(x) and sub(y) , the p?swap routines return vectors sub(y) and sub(x) swapped, each replacing the other.
Here sub(x) denotes X(ix, jx:jx+n-1) if incx=m_x , and X(ix: ix+n-1, jx) if incx= 1 ;
sub(y) denotes Y(iy, jy:jy+n-1) if incy=m_y , and Y(iy: iy+n-1, jy) if incy= 1 .
Input Parameters
n
(global) INTEGER . The length of distributed vectors, n ≥ 0.
x
(local) REAL for psswap
DOUBLE PRECISION for pdswap COMPLEX for pcswap DOUBLE COMPLEX for pzswap Array, size (jx-1)*m_x + ix+(n-1)*abs(incx)) . This array contains the entries of the distributed vector sub(x) .
ix , jx
(global) INTEGER . The row and column indices in the distributed matrix X indicating the first row and the first column of the submatrix sub(X) , respectively.
descx
(global and local) INTEGER array of dimension 9. The array descriptor of the distributed matrix X .
incx
(global) INTEGER . Specifies the increment for the elements of sub(x) . Only two values are supported, namely 1 and m_x . incx must not be zero.
y
(local) REAL for psswap
DOUBLE PRECISION for pdswap COMPLEX for pcswap DOUBLE COMPLEX for pzswap Array, size (jy-1)*m_y + iy+(n-1)*abs(incy)) . This array contains the entries of the distributed vector sub(y) .
iy , jy
(global) INTEGER . The row and column indices in the distributed matrix Y indicating the first row and the first column of the submatrix sub(Y) , respectively.
descy
(global and local) INTEGER array of dimension 9. The array descriptor of the distributed matrix Y .
incy
(global) INTEGER . Specifies the increment for the elements of sub(y) . Only two values are supported, namely 1 and m_y . incy must not be zero.
Output Parameters
- x
-
Overwritten by distributed vector sub(y) .
- y
-
Overwritten by distributed vector sub(x) .