3 C ----------------------------------------------------------
5 subroutine daxpy
(n
,da
,dx
,incx
,dy
,incy
)
7 c constant times a vector plus a vector.
8 c uses unrolled loops for increments equal to one.
9 c jack dongarra, linpack, 3/11/78.
11 double precision dx
(1),dy
(1),da
12 integer i
,incx
,incy
,ix
,iy
,m
,mp1
,n
15 if (da
.eq
. 0.0d0
) return
16 if(incx
.eq
.1.and
.incy
.eq
.1)go to 20
18 c code for unequal increments or equal increments
23 if(incx
.lt
.0)ix
= (-n
+1)*incx
+ 1
24 if(incy
.lt
.0)iy
= (-n
+1)*incy
+ 1
26 dy
(iy
) = dy
(iy
) + da*dx
(ix
)
32 c code for both increments equal to 1
38 if( m
.eq
. 0 ) go to 40
40 dy
(i
) = dy
(i
) + da*dx
(i
)
45 dy
(i
) = dy
(i
) + da*dx
(i
)
46 dy
(i
+ 1) = dy
(i
+ 1) + da*dx
(i
+ 1)
47 dy
(i
+ 2) = dy
(i
+ 2) + da*dx
(i
+ 2)
48 dy
(i
+ 3) = dy
(i
+ 3) + da*dx
(i
+ 3)