# DragonFly On-Line Manual Pages

Search: Section:

```HPL_dswap(3)                 HPL Library Functions                HPL_dswap(3)

NAME
HPL_dswap - y <-> x.

SYNOPSIS
#include "hpl.h"

void HPL_dswap( const int N, double * X, const int INCX, double * Y,
const int INCY );

DESCRIPTION
HPL_dswap swaps the vectors x and y.

ARGUMENTS
N       (local input)           const int
On entry, N specifies the length of the vectors  x  and  y. N
must be at least zero.

X       (local input/output)    double *
On entry,  X  is an incremented array of dimension  at  least (
1 + ( n - 1 ) * abs( INCX ) )  that  contains the vector x.  On
exit, the entries of the incremented array  X  are updated with
the entries of the incremented array Y.

INCX    (local input)           const int
On entry, INCX specifies the increment for the elements of X.
INCX must not be zero.

Y       (local input/output)    double *
On entry,  Y  is an incremented array of dimension  at  least (
1 + ( n - 1 ) * abs( INCY ) )  that  contains the vector y.  On
exit, the entries of the incremented array  Y  are updated with
the entries of the incremented array X.

INCY    (local input)           const int
On entry, INCY specifies the increment for the elements of Y.
INCY must not be zero.

EXAMPLE
#include "hpl.h"

int main(int argc, char *argv[])
{
double x[3], y[3];
x[0] = 1.0; x[1] = 2.0; x[2] = 3.0;
y[0] = 4.0; y[1] = 5.0; y[2] = 6.0;
HPL_dswap( 3, x, 1, y, 1 );
printf("x=[%f,%f,%f]\n", x[0], x[1], x[2]);
printf("y=[%f,%f,%f]\n", y[0], y[1], y[2]);
exit(0); return(0);
}