diff --git a/mlprec/mld_diluk_fct.f90 b/mlprec/mld_diluk_fct.f90 index 4973f926..f8d554ee 100644 --- a/mlprec/mld_diluk_fct.f90 +++ b/mlprec/mld_diluk_fct.f90 @@ -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) diff --git a/mlprec/mld_dilut_fct.f90 b/mlprec/mld_dilut_fct.f90 index 4838852e..e79f02f6 100644 --- a/mlprec/mld_dilut_fct.f90 +++ b/mlprec/mld_dilut_fct.f90 @@ -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 diff --git a/mlprec/mld_ziluk_fct.f90 b/mlprec/mld_ziluk_fct.f90 index 4864e28e..c73c5d62 100644 --- a/mlprec/mld_ziluk_fct.f90 +++ b/mlprec/mld_ziluk_fct.f90 @@ -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) diff --git a/mlprec/mld_zilut_fct.f90 b/mlprec/mld_zilut_fct.f90 index 264b460f..bddda0f9 100644 --- a/mlprec/mld_zilut_fct.f90 +++ b/mlprec/mld_zilut_fct.f90 @@ -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