41 |
c------------------------------------ |
c------------------------------------ |
42 |
c declare local variables |
c declare local variables |
43 |
c------------------------------------ |
c------------------------------------ |
44 |
external SDOT |
external DDOT |
45 |
double precision SDOT |
double precision DDOT |
46 |
|
|
47 |
integer jfin, i, j, jp |
integer jfin, i, j, jp |
48 |
double precision r |
double precision r |
70 |
jp = j |
jp = j |
71 |
if (jp.gt.mupd) jp = jp-mupd |
if (jp.gt.mupd) jp = jp-mupd |
72 |
call dostore( nn, xdiff, .false., 2*jp+3 ) |
call dostore( nn, xdiff, .false., 2*jp+3 ) |
73 |
r = SDOT( nn, dd, 1, xdiff,1 ) |
r = DDOT( nn, dd, 1, xdiff,1 ) |
74 |
call dostore( nn, xdiff, .false., 2*jp+2 ) |
call dostore( nn, xdiff, .false., 2*jp+2 ) |
75 |
alpha(jp) = r |
alpha(jp) = r |
76 |
do i = 1, nn |
do i = 1, nn |
95 |
jp = j |
jp = j |
96 |
if (jp .gt. mupd) jp = jp-mupd |
if (jp .gt. mupd) jp = jp-mupd |
97 |
call dostore( nn, xdiff, .false., 2*jp+2 ) |
call dostore( nn, xdiff, .false., 2*jp+2 ) |
98 |
r = alpha(jp) - SDOT( nn, dd,1 , xdiff, 1 ) |
r = alpha(jp) - DDOT( nn, dd,1 , xdiff, 1 ) |
99 |
call dostore( nn, xdiff, .false., 2*jp+3 ) |
call dostore( nn, xdiff, .false., 2*jp+3 ) |
100 |
do i = 1, nn |
do i = 1, nn |
101 |
dd(i) = dd(i) + r*xdiff(i) |
dd(i) = dd(i) + r*xdiff(i) |