28 real(kind=
kreal),
intent(in) :: x(:)
29 real(kind=
kreal),
intent(out) :: y(:)
30 real(kind=
kreal),
intent(inout) :: time_ax
31 real(kind=
kreal),
intent(inout),
optional :: commtime
33 real(kind=
kreal) :: start_time, end_time
34 integer(kind=kint) :: i, j, js, je, in
35 real(kind=
kreal) :: yv
40 if (
present(commtime)) commtime = commtime + end_time - start_time
44 yv= hecmat%D(i) * x(i)
45 js= hecmat%indexL(i-1) + 1
49 yv= yv + hecmat%AL(j) * x(in)
51 js= hecmat%indexU(i-1) + 1
55 yv= yv + hecmat%AU(j) * x(in)
60 time_ax = time_ax + end_time - start_time
73 real(kind=
kreal) :: x(:), b(:), r(:)
76 real(kind=
kreal) :: time_ax
77 real(kind=
kreal),
optional :: commtime
79 integer(kind=kint) :: i
80 real(kind=
kreal) :: tcomm
84 if (
present(commtime)) commtime = commtime + tcomm
105 real(kind=
kreal) :: time_ax
106 real(kind=
kreal),
optional :: commtime
108 real(kind=
kreal) :: r(hecmat%NDOF*hecmat%NP)
109 real(kind=
kreal) :: bnorm2, rnorm2
110 real(kind=
kreal) :: tcomm
114 if (bnorm2 == 0.d0)
then
119 if (
present(commtime)) commtime = commtime + tcomm