dswap


NAME

dswap - Exchange vectors x and y.


SYNOPSIS

  SUBROUTINE DSWAP( N, X, INCX, Y, INCY)
  INTEGER N, INCX, INCY
  DOUBLE PRECISION X(*), Y(*)
 
  SUBROUTINE DSWAP_64( N, X, INCX, Y, INCY)
  INTEGER*8 N, INCX, INCY
  DOUBLE PRECISION X(*), Y(*)
 

F95 INTERFACE

  SUBROUTINE SWAP( [N], X, [INCX], Y, [INCY])
  INTEGER :: N, INCX, INCY
  REAL(8), DIMENSION(:) :: X, Y
 
  SUBROUTINE SWAP_64( [N], X, [INCX], Y, [INCY])
  INTEGER(8) :: N, INCX, INCY
  REAL(8), DIMENSION(:) :: X, Y
 

C INTERFACE

#include <sunperf.h>

void dswap(int n, double *x, int incx, double *y, int incy);

void dswap_64(long n, double *x, long incx, double *y, long incy);


PURPOSE

dswap Exchange x and y where x and y are n-vectors.


ARGUMENTS

* N (input)
On entry, N specifies the number of elements in the vector. N must be at least one for the subroutine to have any visible effect. Unchanged on exit.

* X (input/output)
( 1 + ( n - 1 )*abs( INCX ) ). On entry, the incremented array X must contain the vector x. On exit, the y vector.

* INCX (input)
On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit.

* Y (input/output)
( 1 + ( m - 1 )*abs( INCY ) ). On entry, the incremented array Y must contain the vector y. On exit, the x vector.

* INCY (input)
On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit.