3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
11 * SUBROUTINE DAXPY(N,DA,DX,INCX,DY,INCY)
13 * .. Scalar Arguments ..
17 * .. Array Arguments ..
18 * DOUBLE PRECISION DX(*),DY(*)
27 *> DAXPY constant times a vector plus a vector.
28 *> uses unrolled loops for increments equal to one.
34 *> \author Univ. of Tennessee
35 *> \author Univ. of California Berkeley
36 *> \author Univ. of Colorado Denver
39 *> \date November 2011
41 *> \ingroup double_blas_level1
43 *> \par Further Details:
44 * =====================
48 *> jack dongarra, linpack, 3/11/78.
49 *> modified 12/3/93, array(1) declarations changed to array(*)
52 * =====================================================================
53 SUBROUTINE DAXPY(N,DA,DX,INCX,DY,INCY)
55 * -- Reference BLAS level1 routine (version 3.4.0) --
56 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
60 * .. Scalar Arguments ..
64 * .. Array Arguments ..
65 DOUBLE PRECISION DX(*),DY(*)
68 * =====================================================================
73 * .. Intrinsic Functions ..
77 IF (DA.EQ.0.0d0) RETURN
78 IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
80 * code for both increments equal to 1
88 DY(I) = DY(I) + DA*DX(I)
94 DY(I) = DY(I) + DA*DX(I)
95 DY(I+1) = DY(I+1) + DA*DX(I+1)
96 DY(I+2) = DY(I+2) + DA*DX(I+2)
97 DY(I+3) = DY(I+3) + DA*DX(I+3)
101 * code for unequal increments or equal increments
106 IF (INCX.LT.0) IX = (-N+1)*INCX + 1
107 IF (INCY.LT.0) IY = (-N+1)*INCY + 1
109 DY(IY) = DY(IY) + DA*DX(IX)