3 /* Subroutine */ int dswap_(integer *n, doublereal *dx, integer *incx,
4 doublereal *dy, integer *incy)
6 /* System generated locals */
10 integer i__, m, ix, iy, mp1;
13 /* .. Scalar Arguments .. */
15 /* .. Array Arguments .. */
21 /* interchanges two vectors. */
22 /* uses unrolled loops for increments equal one. */
23 /* jack dongarra, linpack, 3/11/78. */
24 /* modified 12/3/93, array(1) declarations changed to array(*) */
27 /* .. Local Scalars .. */
29 /* .. Intrinsic Functions .. */
31 /* Parameter adjustments */
39 if (*incx == 1 && *incy == 1) {
43 /* code for unequal increments or equal increments not equal */
49 ix = (-(*n) + 1) * *incx + 1;
52 iy = (-(*n) + 1) * *incy + 1;
55 for (i__ = 1; i__ <= i__1; ++i__) {
65 /* code for both increments equal to 1 */
76 for (i__ = 1; i__ <= i__1; ++i__) {
88 for (i__ = mp1; i__ <= i__1; i__ += 3) {
93 dx[i__ + 1] = dy[i__ + 1];
96 dx[i__ + 2] = dy[i__ + 2];