Added JMIN:JMAX to internal COPYIN routines.

stopcriterion
Salvatore Filippone 17 years ago
parent 517604ddd7
commit aaa7acf94b

@ -198,9 +198,9 @@ contains
!
d(i) = dzero
if (i<=ma) then
call iluk_copyin(i,ma,a,m,row,rowlevs,heap,ktrw,trw)
call iluk_copyin(i,ma,a,1,m,row,rowlevs,heap,ktrw,trw)
else
call iluk_copyin(i-ma,mb,b,m,row,rowlevs,heap,ktrw,trw)
call iluk_copyin(i-ma,mb,b,1,m,row,rowlevs,heap,ktrw,trw)
endif
if (debug) write(0,*)'LUINT: input Copy done'
@ -249,14 +249,14 @@ contains
end subroutine mld_diluk_fctint
subroutine iluk_copyin(i,m,a,jmax,row,rowlevs,heap,ktrw,trw)
subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw)
use psb_base_mod
implicit none
type(psb_dspmat_type) :: a,trw
integer :: i, rowlevs(:),m,ktrw,jmax
integer :: i, rowlevs(:),m,ktrw,jmin,jmax
real(kind(1.d0)) :: row(:)
type(psb_int_heap) :: heap
integer :: k,j,info,irb
integer, parameter :: nrb=16
character(len=20), parameter :: name='mld_diluk_fctint'
@ -273,10 +273,10 @@ contains
!
if (toupper(a%fida)=='CSR') then
call psb_init_heap(heap,info)
do j = a%ia2(i), a%ia2(i+1) - 1
k = a%ia1(j)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = a%aspk(j)
rowlevs(k) = 0
call psb_insert_heap(k,heap,info)
@ -294,12 +294,12 @@ contains
end if
ktrw=1
end if
do
if (ktrw > trw%infoa(psb_nnz_)) exit
if (trw%ia1(ktrw) > i) exit
k = trw%ia2(ktrw)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = trw%aspk(ktrw)
rowlevs(k) = 0
call psb_insert_heap(k,heap,info)

@ -200,9 +200,9 @@ contains
!
d(i) = dzero
if (i<=ma) then
call ilut_copyin(i,ma,a,i,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
call ilut_copyin(i,ma,a,i,1,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
else
call ilut_copyin(i-ma,mb,b,i,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
call ilut_copyin(i-ma,mb,b,i,1,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
endif
if (debug) write(0,*)'LUINT: input Copy done'
@ -250,11 +250,11 @@ contains
end subroutine mld_dilut_fctint
subroutine ilut_copyin(i,m,a,jd,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
use psb_base_mod
implicit none
type(psb_dspmat_type) :: a,trw
integer :: i, m,ktrw,jmax,jd,nlw,nup,jmaxup
integer :: i, m,ktrw,jmin,jmax,jd,nlw,nup,jmaxup
real(kind(1.d0)) :: nrmi,row(:)
type(psb_int_heap) :: heap
@ -285,7 +285,7 @@ contains
call psb_init_heap(heap,info)
do j = a%ia2(i), a%ia2(i+1) - 1
k = a%ia1(j)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = a%aspk(j)
call psb_insert_heap(k,heap,info)
end if
@ -318,7 +318,7 @@ contains
if (ktrw > trw%infoa(psb_nnz_)) exit
if (trw%ia1(ktrw) > i) exit
k = trw%ia2(ktrw)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = trw%aspk(ktrw)
call psb_insert_heap(k,heap,info)
end if

@ -197,9 +197,9 @@ contains
!
d(i) = zzero
if (i<=ma) then
call iluk_copyin(i,ma,a,m,row,rowlevs,heap,ktrw,trw)
call iluk_copyin(i,ma,a,1,m,row,rowlevs,heap,ktrw,trw)
else
call iluk_copyin(i-ma,mb,b,m,row,rowlevs,heap,ktrw,trw)
call iluk_copyin(i-ma,mb,b,1,m,row,rowlevs,heap,ktrw,trw)
endif
if (debug) write(0,*)'LUINT: input Copy done'
@ -248,11 +248,11 @@ contains
end subroutine mld_ziluk_fctint
subroutine iluk_copyin(i,m,a,jmax,row,rowlevs,heap,ktrw,trw)
subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw)
use psb_base_mod
implicit none
type(psb_zspmat_type) :: a,trw
integer :: i, rowlevs(:),m,ktrw,jmax
integer :: i, rowlevs(:),m,ktrw,jmin,jmax
complex(kind(1.d0)) :: row(:)
type(psb_int_heap) :: heap
@ -275,7 +275,7 @@ contains
do j = a%ia2(i), a%ia2(i+1) - 1
k = a%ia1(j)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = a%aspk(j)
rowlevs(k) = 0
call psb_insert_heap(k,heap,info)
@ -298,7 +298,7 @@ contains
if (ktrw > trw%infoa(psb_nnz_)) exit
if (trw%ia1(ktrw) > i) exit
k = trw%ia2(ktrw)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = trw%aspk(ktrw)
rowlevs(k) = 0
call psb_insert_heap(k,heap,info)

@ -200,9 +200,9 @@ contains
!
d(i) = zzero
if (i<=ma) then
call ilut_copyin(i,ma,a,i,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
call ilut_copyin(i,ma,a,i,1,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
else
call ilut_copyin(i-ma,mb,b,i,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
call ilut_copyin(i-ma,mb,b,i,1,m,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
endif
if (debug) write(0,*)'LUINT: input Copy done'
@ -250,11 +250,11 @@ contains
end subroutine mld_zilut_fctint
subroutine ilut_copyin(i,m,a,jd,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw)
use psb_base_mod
implicit none
type(psb_zspmat_type) :: a,trw
integer :: i, m,ktrw,jmax,jd,nlw,nup,jmaxup
integer :: i, m,ktrw,jmin,jmax,jd,nlw,nup,jmaxup
real(kind(1.d0)) :: nrmi
complex(kind(1.d0)) :: row(:)
type(psb_int_heap) :: heap
@ -286,7 +286,7 @@ contains
call psb_init_heap(heap,info)
do j = a%ia2(i), a%ia2(i+1) - 1
k = a%ia1(j)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = a%aspk(j)
call psb_insert_heap(k,heap,info)
end if
@ -319,7 +319,7 @@ contains
if (ktrw > trw%infoa(psb_nnz_)) exit
if (trw%ia1(ktrw) > i) exit
k = trw%ia2(ktrw)
if ((1<=k).and.(k<=jmax)) then
if ((jmin<=k).and.(k<=jmax)) then
row(k) = trw%aspk(ktrw)
call psb_insert_heap(k,heap,info)
end if

Loading…
Cancel
Save