diff --git a/base/comm/psb_cgather.f90 b/base/comm/psb_cgather.f90 index 9a05f46f..431c42ef 100644 --- a/base/comm/psb_cgather.f90 +++ b/base/comm/psb_cgather.f90 @@ -50,7 +50,7 @@ subroutine psb_cgatherm(globx, locx, desc_a, info, iroot) implicit none complex(psb_spk_), intent(in) :: locx(:,:) - complex(psb_spk_), intent(out) :: globx(:,:) + complex(psb_spk_), intent(out), allocatable :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -100,16 +100,13 @@ subroutine psb_cgatherm(globx, locx, desc_a, info, iroot) ilocx = 1 jlocx = 1 - lda_globx = size(globx,1) - lda_locx = size(locx, 1) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() - - lock=size(locx,2)-jlocx+1 - globk=size(globx,2)-jglobx+1 - maxk=min(lock,globk) - k = maxk + lda_globx = m + lda_locx = size(locx, 1) + lock = size(locx,2) + maxk = lock + k = maxk call psb_bcast(ictxt,k,root=iiroot) @@ -130,13 +127,20 @@ subroutine psb_cgatherm(globx, locx, desc_a, info, iroot) call psb_errpush(info,name) goto 9999 end if + + call psb_realloc(m,k,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if globx(:,:)=czero do j=1,k do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) - globx(idx,jglobx+j-1) = locx(i,jlx+j-1) + globx(idx,j) = locx(i,jlx+j-1) end do end do @@ -146,12 +150,12 @@ subroutine psb_cgatherm(globx, locx, desc_a, info, iroot) if (me /= desc_a%ovrlap_elem(i,3)) then idx = desc_a%ovrlap_elem(i,1) call psb_loc_to_glob(idx,desc_a,info) - globx(idx,jglobx+j-1) = czero + globx(idx,j) = czero end if end do end do - call psb_sum(ictxt,globx(1:m,jglobx:jglobx+k-1),root=root) + call psb_sum(ictxt,globx(1:m,1:k),root=root) call psb_erractionrestore(err_act) return @@ -223,7 +227,7 @@ subroutine psb_cgatherv(globx, locx, desc_a, info, iroot) implicit none complex(psb_spk_), intent(in) :: locx(:) - complex(psb_spk_), intent(out) :: globx(:) + complex(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -268,12 +272,12 @@ subroutine psb_cgatherv(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = size(locx) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = size(locx) + k = 1 @@ -295,6 +299,13 @@ subroutine psb_cgatherv(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:)=czero do i=1,desc_a%get_local_rows() @@ -334,7 +345,7 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot) implicit none type(psb_c_vect_type), intent(inout) :: locx - complex(psb_spk_), intent(out) :: globx(:) + complex(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -379,11 +390,11 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = locx%get_nrows() m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = locx%get_nrows() k = 1 @@ -406,6 +417,13 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:) = czero llocx = locx%get_vect() diff --git a/base/comm/psb_dgather.f90 b/base/comm/psb_dgather.f90 index 8e41c7a1..dc631b9c 100644 --- a/base/comm/psb_dgather.f90 +++ b/base/comm/psb_dgather.f90 @@ -50,7 +50,7 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot) implicit none real(psb_dpk_), intent(in) :: locx(:,:) - real(psb_dpk_), intent(out) :: globx(:,:) + real(psb_dpk_), intent(out), allocatable :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -100,16 +100,13 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot) ilocx = 1 jlocx = 1 - lda_globx = size(globx,1) - lda_locx = size(locx, 1) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() - - lock=size(locx,2)-jlocx+1 - globk=size(globx,2)-jglobx+1 - maxk=min(lock,globk) - k = maxk + lda_globx = m + lda_locx = size(locx, 1) + lock = size(locx,2) + maxk = lock + k = maxk call psb_bcast(ictxt,k,root=iiroot) @@ -130,13 +127,20 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot) call psb_errpush(info,name) goto 9999 end if + + call psb_realloc(m,k,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if globx(:,:)=dzero do j=1,k do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) - globx(idx,jglobx+j-1) = locx(i,jlx+j-1) + globx(idx,j) = locx(i,jlx+j-1) end do end do @@ -146,12 +150,12 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot) if (me /= desc_a%ovrlap_elem(i,3)) then idx = desc_a%ovrlap_elem(i,1) call psb_loc_to_glob(idx,desc_a,info) - globx(idx,jglobx+j-1) = dzero + globx(idx,j) = dzero end if end do end do - call psb_sum(ictxt,globx(1:m,jglobx:jglobx+k-1),root=root) + call psb_sum(ictxt,globx(1:m,1:k),root=root) call psb_erractionrestore(err_act) return @@ -223,7 +227,7 @@ subroutine psb_dgatherv(globx, locx, desc_a, info, iroot) implicit none real(psb_dpk_), intent(in) :: locx(:) - real(psb_dpk_), intent(out) :: globx(:) + real(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -268,12 +272,12 @@ subroutine psb_dgatherv(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = size(locx) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = size(locx) + k = 1 @@ -295,6 +299,13 @@ subroutine psb_dgatherv(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:)=dzero do i=1,desc_a%get_local_rows() @@ -334,7 +345,7 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot) implicit none type(psb_d_vect_type), intent(inout) :: locx - real(psb_dpk_), intent(out) :: globx(:) + real(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -379,11 +390,11 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = locx%get_nrows() m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = locx%get_nrows() k = 1 @@ -406,6 +417,13 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:) = dzero llocx = locx%get_vect() diff --git a/base/comm/psb_sgather.f90 b/base/comm/psb_sgather.f90 index cd67484b..d9f5a63f 100644 --- a/base/comm/psb_sgather.f90 +++ b/base/comm/psb_sgather.f90 @@ -50,7 +50,7 @@ subroutine psb_sgatherm(globx, locx, desc_a, info, iroot) implicit none real(psb_spk_), intent(in) :: locx(:,:) - real(psb_spk_), intent(out) :: globx(:,:) + real(psb_spk_), intent(out), allocatable :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -100,16 +100,13 @@ subroutine psb_sgatherm(globx, locx, desc_a, info, iroot) ilocx = 1 jlocx = 1 - lda_globx = size(globx,1) - lda_locx = size(locx, 1) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() - - lock=size(locx,2)-jlocx+1 - globk=size(globx,2)-jglobx+1 - maxk=min(lock,globk) - k = maxk + lda_globx = m + lda_locx = size(locx, 1) + lock = size(locx,2) + maxk = lock + k = maxk call psb_bcast(ictxt,k,root=iiroot) @@ -130,13 +127,20 @@ subroutine psb_sgatherm(globx, locx, desc_a, info, iroot) call psb_errpush(info,name) goto 9999 end if + + call psb_realloc(m,k,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if globx(:,:)=szero do j=1,k do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) - globx(idx,jglobx+j-1) = locx(i,jlx+j-1) + globx(idx,j) = locx(i,jlx+j-1) end do end do @@ -146,12 +150,12 @@ subroutine psb_sgatherm(globx, locx, desc_a, info, iroot) if (me /= desc_a%ovrlap_elem(i,3)) then idx = desc_a%ovrlap_elem(i,1) call psb_loc_to_glob(idx,desc_a,info) - globx(idx,jglobx+j-1) = szero + globx(idx,j) = szero end if end do end do - call psb_sum(ictxt,globx(1:m,jglobx:jglobx+k-1),root=root) + call psb_sum(ictxt,globx(1:m,1:k),root=root) call psb_erractionrestore(err_act) return @@ -223,7 +227,7 @@ subroutine psb_sgatherv(globx, locx, desc_a, info, iroot) implicit none real(psb_spk_), intent(in) :: locx(:) - real(psb_spk_), intent(out) :: globx(:) + real(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -268,12 +272,12 @@ subroutine psb_sgatherv(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = size(locx) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = size(locx) + k = 1 @@ -295,6 +299,13 @@ subroutine psb_sgatherv(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:)=szero do i=1,desc_a%get_local_rows() @@ -334,7 +345,7 @@ subroutine psb_sgather_vect(globx, locx, desc_a, info, iroot) implicit none type(psb_s_vect_type), intent(inout) :: locx - real(psb_spk_), intent(out) :: globx(:) + real(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -379,11 +390,11 @@ subroutine psb_sgather_vect(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = locx%get_nrows() m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = locx%get_nrows() k = 1 @@ -406,6 +417,13 @@ subroutine psb_sgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:) = szero llocx = locx%get_vect() diff --git a/base/comm/psb_zgather.f90 b/base/comm/psb_zgather.f90 index e80d1b0a..7a3b7473 100644 --- a/base/comm/psb_zgather.f90 +++ b/base/comm/psb_zgather.f90 @@ -50,7 +50,7 @@ subroutine psb_zgatherm(globx, locx, desc_a, info, iroot) implicit none complex(psb_dpk_), intent(in) :: locx(:,:) - complex(psb_dpk_), intent(out) :: globx(:,:) + complex(psb_dpk_), intent(out), allocatable :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -100,16 +100,13 @@ subroutine psb_zgatherm(globx, locx, desc_a, info, iroot) ilocx = 1 jlocx = 1 - lda_globx = size(globx,1) - lda_locx = size(locx, 1) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() - - lock=size(locx,2)-jlocx+1 - globk=size(globx,2)-jglobx+1 - maxk=min(lock,globk) - k = maxk + lda_globx = m + lda_locx = size(locx, 1) + lock = size(locx,2) + maxk = lock + k = maxk call psb_bcast(ictxt,k,root=iiroot) @@ -130,13 +127,20 @@ subroutine psb_zgatherm(globx, locx, desc_a, info, iroot) call psb_errpush(info,name) goto 9999 end if + + call psb_realloc(m,k,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if globx(:,:)=zzero do j=1,k do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) - globx(idx,jglobx+j-1) = locx(i,jlx+j-1) + globx(idx,j) = locx(i,jlx+j-1) end do end do @@ -146,12 +150,12 @@ subroutine psb_zgatherm(globx, locx, desc_a, info, iroot) if (me /= desc_a%ovrlap_elem(i,3)) then idx = desc_a%ovrlap_elem(i,1) call psb_loc_to_glob(idx,desc_a,info) - globx(idx,jglobx+j-1) = zzero + globx(idx,j) = zzero end if end do end do - call psb_sum(ictxt,globx(1:m,jglobx:jglobx+k-1),root=root) + call psb_sum(ictxt,globx(1:m,1:k),root=root) call psb_erractionrestore(err_act) return @@ -223,7 +227,7 @@ subroutine psb_zgatherv(globx, locx, desc_a, info, iroot) implicit none complex(psb_dpk_), intent(in) :: locx(:) - complex(psb_dpk_), intent(out) :: globx(:) + complex(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -268,12 +272,12 @@ subroutine psb_zgatherv(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = size(locx) - m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = size(locx) + k = 1 @@ -295,6 +299,13 @@ subroutine psb_zgatherv(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:)=zzero do i=1,desc_a%get_local_rows() @@ -334,7 +345,7 @@ subroutine psb_zgather_vect(globx, locx, desc_a, info, iroot) implicit none type(psb_z_vect_type), intent(inout) :: locx - complex(psb_dpk_), intent(out) :: globx(:) + complex(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: iroot @@ -379,11 +390,11 @@ subroutine psb_zgather_vect(globx, locx, desc_a, info, iroot) jlocx=1 ilocx = 1 - lda_globx = size(globx) - lda_locx = locx%get_nrows() m = desc_a%get_global_rows() n = desc_a%get_global_cols() + lda_globx = m + lda_locx = locx%get_nrows() k = 1 @@ -406,6 +417,13 @@ subroutine psb_zgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if + call psb_realloc(m,globx,info) + if (info /= psb_success_) then + info=psb_err_alloc_dealloc_ + call psb_errpush(info,name) + goto 9999 + end if + globx(:) = zzero llocx = locx%get_vect() diff --git a/base/modules/psb_c_comm_mod.f90 b/base/modules/psb_c_comm_mod.f90 index c3cf0279..4c605b6b 100644 --- a/base/modules/psb_c_comm_mod.f90 +++ b/base/modules/psb_c_comm_mod.f90 @@ -128,7 +128,7 @@ module psb_c_comm_mod subroutine psb_cgatherm(globx, locx, desc_a, info, root) use psb_descriptor_type complex(psb_spk_), intent(in) :: locx(:,:) - complex(psb_spk_), intent(out) :: globx(:,:) + complex(psb_spk_), intent(out), allocatable :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root @@ -136,7 +136,7 @@ module psb_c_comm_mod subroutine psb_cgatherv(globx, locx, desc_a, info, root) use psb_descriptor_type complex(psb_spk_), intent(in) :: locx(:) - complex(psb_spk_), intent(out) :: globx(:) + complex(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root @@ -145,7 +145,7 @@ module psb_c_comm_mod use psb_descriptor_type use psb_c_vect_mod type(psb_c_vect_type), intent(inout) :: locx - complex(psb_spk_), intent(out) :: globx(:) + complex(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root diff --git a/base/modules/psb_d_comm_mod.f90 b/base/modules/psb_d_comm_mod.f90 index 1c0d750d..a9193db4 100644 --- a/base/modules/psb_d_comm_mod.f90 +++ b/base/modules/psb_d_comm_mod.f90 @@ -35,47 +35,47 @@ module psb_d_comm_mod subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update,mode) use psb_descriptor_type real(psb_dpk_), intent(inout), target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info real(psb_dpk_), intent(inout), optional, target :: work(:) - integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode + integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode end subroutine psb_dovrlm subroutine psb_dovrlv(x,desc_a,info,work,update,mode) use psb_descriptor_type real(psb_dpk_), intent(inout), target :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info real(psb_dpk_), intent(inout), optional, target :: work(:) - integer(psb_ipk_), intent(in), optional :: update,mode + integer(psb_ipk_), intent(in), optional :: update,mode end subroutine psb_dovrlv subroutine psb_dovrl_vect(x,desc_a,info,work,update,mode) use psb_descriptor_type use psb_d_vect_mod - type(psb_d_vect_type), intent(inout) :: x + type(psb_d_vect_type), intent(inout) :: x type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info real(psb_dpk_), intent(inout), optional, target :: work(:) integer(psb_ipk_), intent(in), optional :: update,mode end subroutine psb_dovrl_vect - end interface + end interface psb_ovrl interface psb_halo subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) use psb_descriptor_type - real(psb_dpk_), intent(inout),target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info - real(psb_dpk_), intent(in), optional :: alpha + real(psb_dpk_), intent(inout), target :: x(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info + real(psb_dpk_), intent(in), optional :: alpha real(psb_dpk_), target, optional, intent(inout) :: work(:) integer(psb_ipk_), intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_dhalom subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode,data) use psb_descriptor_type - real(psb_dpk_), intent(inout) :: x(:) + real(psb_dpk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info - real(psb_dpk_), intent(in), optional :: alpha + real(psb_dpk_), intent(in), optional :: alpha real(psb_dpk_), target, optional, intent(inout) :: work(:) integer(psb_ipk_), intent(in), optional :: mode,data character, intent(in), optional :: tran @@ -91,27 +91,27 @@ module psb_d_comm_mod integer(psb_ipk_), intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_dhalo_vect - end interface + end interface psb_halo interface psb_scatter subroutine psb_dscatterm(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_dpk_), intent(out) :: locx(:,:) - real(psb_dpk_), intent(in) :: globx(:,:) + real(psb_dpk_), intent(out) :: locx(:,:) + real(psb_dpk_), intent(in) :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_dscatterm subroutine psb_dscatterv(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_dpk_), intent(out) :: locx(:) - real(psb_dpk_), intent(in) :: globx(:) + real(psb_dpk_), intent(out) :: locx(:) + real(psb_dpk_), intent(in) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_dscatterv - end interface + end interface psb_scatter interface psb_gather subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keeploc) @@ -125,31 +125,31 @@ module psb_d_comm_mod integer(psb_ipk_), intent(in), optional :: root,dupl logical, intent(in), optional :: keepnum,keeploc end subroutine psb_dsp_allgather - subroutine psb_dgatherm(globx, locx, desc_a, info, root) + subroutine psb_dgatherm(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_dpk_), intent(in) :: locx(:,:) - real(psb_dpk_), intent(out) :: globx(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_), intent(in), optional :: root + real(psb_dpk_), intent(in) :: locx(:,:) + real(psb_dpk_), intent(out), allocatable :: globx(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), intent(in), optional :: root end subroutine psb_dgatherm subroutine psb_dgatherv(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_dpk_), intent(in) :: locx(:) - real(psb_dpk_), intent(out) :: globx(:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_), intent(in), optional :: root + real(psb_dpk_), intent(in) :: locx(:) + real(psb_dpk_), intent(out), allocatable :: globx(:) + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), intent(in), optional :: root end subroutine psb_dgatherv subroutine psb_dgather_vect(globx, locx, desc_a, info, root) use psb_descriptor_type use psb_d_vect_mod type(psb_d_vect_type), intent(inout) :: locx - real(psb_dpk_), intent(out) :: globx(:) + real(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_dgather_vect - end interface - + end interface psb_gather + end module psb_d_comm_mod diff --git a/base/modules/psb_s_comm_mod.f90 b/base/modules/psb_s_comm_mod.f90 index e9f7897e..223be991 100644 --- a/base/modules/psb_s_comm_mod.f90 +++ b/base/modules/psb_s_comm_mod.f90 @@ -35,47 +35,47 @@ module psb_s_comm_mod subroutine psb_sovrlm(x,desc_a,info,jx,ik,work,update,mode) use psb_descriptor_type real(psb_spk_), intent(inout), target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info real(psb_spk_), intent(inout), optional, target :: work(:) - integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode + integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode end subroutine psb_sovrlm subroutine psb_sovrlv(x,desc_a,info,work,update,mode) use psb_descriptor_type real(psb_spk_), intent(inout), target :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info real(psb_spk_), intent(inout), optional, target :: work(:) - integer(psb_ipk_), intent(in), optional :: update,mode + integer(psb_ipk_), intent(in), optional :: update,mode end subroutine psb_sovrlv subroutine psb_sovrl_vect(x,desc_a,info,work,update,mode) use psb_descriptor_type use psb_s_vect_mod - type(psb_s_vect_type), intent(inout) :: x + type(psb_s_vect_type), intent(inout) :: x type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info real(psb_spk_), intent(inout), optional, target :: work(:) integer(psb_ipk_), intent(in), optional :: update,mode end subroutine psb_sovrl_vect - end interface + end interface psb_ovrl interface psb_halo subroutine psb_shalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) use psb_descriptor_type - real(psb_spk_), intent(inout),target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info - real(psb_spk_), intent(in), optional :: alpha + real(psb_spk_), intent(inout), target :: x(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info + real(psb_spk_), intent(in), optional :: alpha real(psb_spk_), target, optional, intent(inout) :: work(:) integer(psb_ipk_), intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_shalom subroutine psb_shalov(x,desc_a,info,alpha,work,tran,mode,data) use psb_descriptor_type - real(psb_spk_), intent(inout) :: x(:) + real(psb_spk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info - real(psb_spk_), intent(in), optional :: alpha + real(psb_spk_), intent(in), optional :: alpha real(psb_spk_), target, optional, intent(inout) :: work(:) integer(psb_ipk_), intent(in), optional :: mode,data character, intent(in), optional :: tran @@ -91,27 +91,27 @@ module psb_s_comm_mod integer(psb_ipk_), intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_shalo_vect - end interface + end interface psb_halo interface psb_scatter subroutine psb_sscatterm(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_spk_), intent(out) :: locx(:,:) - real(psb_spk_), intent(in) :: globx(:,:) + real(psb_spk_), intent(out) :: locx(:,:) + real(psb_spk_), intent(in) :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_sscatterm subroutine psb_sscatterv(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_spk_), intent(out) :: locx(:) - real(psb_spk_), intent(in) :: globx(:) + real(psb_spk_), intent(out) :: locx(:) + real(psb_spk_), intent(in) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_sscatterv - end interface + end interface psb_scatter interface psb_gather subroutine psb_ssp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keeploc) @@ -125,31 +125,31 @@ module psb_s_comm_mod integer(psb_ipk_), intent(in), optional :: root,dupl logical, intent(in), optional :: keepnum,keeploc end subroutine psb_ssp_allgather - subroutine psb_sgatherm(globx, locx, desc_a, info, root) + subroutine psb_sgatherm(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_spk_), intent(in) :: locx(:,:) - real(psb_spk_), intent(out) :: globx(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_), intent(in), optional :: root + real(psb_spk_), intent(in) :: locx(:,:) + real(psb_spk_), intent(out), allocatable :: globx(:,:) + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), intent(in), optional :: root end subroutine psb_sgatherm subroutine psb_sgatherv(globx, locx, desc_a, info, root) use psb_descriptor_type - real(psb_spk_), intent(in) :: locx(:) - real(psb_spk_), intent(out) :: globx(:) - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_), intent(in), optional :: root + real(psb_spk_), intent(in) :: locx(:) + real(psb_spk_), intent(out), allocatable :: globx(:) + type(psb_desc_type), intent(in) :: desc_a + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), intent(in), optional :: root end subroutine psb_sgatherv subroutine psb_sgather_vect(globx, locx, desc_a, info, root) use psb_descriptor_type use psb_s_vect_mod type(psb_s_vect_type), intent(inout) :: locx - real(psb_spk_), intent(out) :: globx(:) + real(psb_spk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_sgather_vect - end interface + end interface psb_gather end module psb_s_comm_mod diff --git a/base/modules/psb_z_comm_mod.f90 b/base/modules/psb_z_comm_mod.f90 index 80453a95..1d37881e 100644 --- a/base/modules/psb_z_comm_mod.f90 +++ b/base/modules/psb_z_comm_mod.f90 @@ -111,7 +111,7 @@ module psb_z_comm_mod integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root end subroutine psb_zscatterv - end interface + end interface psb_scatter interface psb_gather subroutine psb_zsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keeploc) @@ -125,10 +125,10 @@ module psb_z_comm_mod integer(psb_ipk_), intent(in), optional :: root,dupl logical, intent(in), optional :: keepnum,keeploc end subroutine psb_zsp_allgather - subroutine psb_zgatherm(globx, locx, desc_a, info, root) + subroutine psb_zgatherm(globx, locx, desc_a, info, root) use psb_descriptor_type complex(psb_dpk_), intent(in) :: locx(:,:) - complex(psb_dpk_), intent(out) :: globx(:,:) + complex(psb_dpk_), intent(out), allocatable :: globx(:,:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root @@ -136,7 +136,7 @@ module psb_z_comm_mod subroutine psb_zgatherv(globx, locx, desc_a, info, root) use psb_descriptor_type complex(psb_dpk_), intent(in) :: locx(:) - complex(psb_dpk_), intent(out) :: globx(:) + complex(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root @@ -145,7 +145,7 @@ module psb_z_comm_mod use psb_descriptor_type use psb_z_vect_mod type(psb_z_vect_type), intent(inout) :: locx - complex(psb_dpk_), intent(out) :: globx(:) + complex(psb_dpk_), intent(out), allocatable :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(in), optional :: root diff --git a/docs/html/img1.png b/docs/html/img1.png index f20c5753..2bcd8b2c 100644 Binary files a/docs/html/img1.png and b/docs/html/img1.png differ diff --git a/docs/html/img10.png b/docs/html/img10.png index f1791943..2049ac15 100644 Binary files a/docs/html/img10.png and b/docs/html/img10.png differ diff --git a/docs/html/img100.png b/docs/html/img100.png index 6ee75633..154e1ae1 100644 Binary files a/docs/html/img100.png and b/docs/html/img100.png differ diff --git a/docs/html/img101.png b/docs/html/img101.png index c1d8fa3f..c6ccf1f8 100644 Binary files a/docs/html/img101.png and b/docs/html/img101.png differ diff --git a/docs/html/img102.png b/docs/html/img102.png index 605df8a0..1015f11a 100644 Binary files a/docs/html/img102.png and b/docs/html/img102.png differ diff --git a/docs/html/img103.png b/docs/html/img103.png index 48478479..41f0d840 100644 Binary files a/docs/html/img103.png and b/docs/html/img103.png differ diff --git a/docs/html/img104.png b/docs/html/img104.png index f0a8e0d9..4d7a3454 100644 Binary files a/docs/html/img104.png and b/docs/html/img104.png differ diff --git a/docs/html/img105.png b/docs/html/img105.png index 67fafc48..6e24d57c 100644 Binary files a/docs/html/img105.png and b/docs/html/img105.png differ diff --git a/docs/html/img106.png b/docs/html/img106.png index 62b29ec8..3429fd92 100644 Binary files a/docs/html/img106.png and b/docs/html/img106.png differ diff --git a/docs/html/img107.png b/docs/html/img107.png index bc3978ff..cb96fe7f 100644 Binary files a/docs/html/img107.png and b/docs/html/img107.png differ diff --git a/docs/html/img108.png b/docs/html/img108.png index 9a0f8c4d..54801413 100644 Binary files a/docs/html/img108.png and b/docs/html/img108.png differ diff --git a/docs/html/img109.png b/docs/html/img109.png index b00a8cd8..c37fb377 100644 Binary files a/docs/html/img109.png and b/docs/html/img109.png differ diff --git a/docs/html/img11.png b/docs/html/img11.png index 300e4825..74543e1c 100644 Binary files a/docs/html/img11.png and b/docs/html/img11.png differ diff --git a/docs/html/img110.png b/docs/html/img110.png index d5fd8d1b..4ad33e56 100644 Binary files a/docs/html/img110.png and b/docs/html/img110.png differ diff --git a/docs/html/img111.png b/docs/html/img111.png index 8b8bbce7..df0c9d18 100644 Binary files a/docs/html/img111.png and b/docs/html/img111.png differ diff --git a/docs/html/img112.png b/docs/html/img112.png index cc0a9a34..69215c61 100644 Binary files a/docs/html/img112.png and b/docs/html/img112.png differ diff --git a/docs/html/img113.png b/docs/html/img113.png index 97d08ff9..1ba043fe 100644 Binary files a/docs/html/img113.png and b/docs/html/img113.png differ diff --git a/docs/html/img114.png b/docs/html/img114.png index 9ec826b8..db88f2a2 100644 Binary files a/docs/html/img114.png and b/docs/html/img114.png differ diff --git a/docs/html/img115.png b/docs/html/img115.png index 195c0224..899aed9a 100644 Binary files a/docs/html/img115.png and b/docs/html/img115.png differ diff --git a/docs/html/img116.png b/docs/html/img116.png index f8ecccb6..0df5312e 100644 Binary files a/docs/html/img116.png and b/docs/html/img116.png differ diff --git a/docs/html/img117.png b/docs/html/img117.png index 2c463039..5a4d8813 100644 Binary files a/docs/html/img117.png and b/docs/html/img117.png differ diff --git a/docs/html/img118.png b/docs/html/img118.png index 017eea04..f76a56d0 100644 Binary files a/docs/html/img118.png and b/docs/html/img118.png differ diff --git a/docs/html/img119.png b/docs/html/img119.png index 68bc1a02..542fa178 100644 Binary files a/docs/html/img119.png and b/docs/html/img119.png differ diff --git a/docs/html/img12.png b/docs/html/img12.png index b6e1ab70..9d510bb9 100644 Binary files a/docs/html/img12.png and b/docs/html/img12.png differ diff --git a/docs/html/img120.png b/docs/html/img120.png index 69253a78..1e0359c3 100644 Binary files a/docs/html/img120.png and b/docs/html/img120.png differ diff --git a/docs/html/img121.png b/docs/html/img121.png index 90d8d9a9..fb0711bb 100644 Binary files a/docs/html/img121.png and b/docs/html/img121.png differ diff --git a/docs/html/img122.png b/docs/html/img122.png index 798e7864..6ffb8caa 100644 Binary files a/docs/html/img122.png and b/docs/html/img122.png differ diff --git a/docs/html/img123.png b/docs/html/img123.png index fcdbb64f..9e76e5c7 100644 Binary files a/docs/html/img123.png and b/docs/html/img123.png differ diff --git a/docs/html/img124.png b/docs/html/img124.png index 1fe14d46..3c2f35d4 100644 Binary files a/docs/html/img124.png and b/docs/html/img124.png differ diff --git a/docs/html/img125.png b/docs/html/img125.png index 5032beaf..dc16bb5b 100644 Binary files a/docs/html/img125.png and b/docs/html/img125.png differ diff --git a/docs/html/img126.png b/docs/html/img126.png index 47913ee1..16fbe1b7 100644 Binary files a/docs/html/img126.png and b/docs/html/img126.png differ diff --git a/docs/html/img127.png b/docs/html/img127.png index 2a4a67cc..f2318bce 100644 Binary files a/docs/html/img127.png and b/docs/html/img127.png differ diff --git a/docs/html/img128.png b/docs/html/img128.png index f63e861e..74ab3af1 100644 Binary files a/docs/html/img128.png and b/docs/html/img128.png differ diff --git a/docs/html/img129.png b/docs/html/img129.png index c07a1bcd..35b42919 100644 Binary files a/docs/html/img129.png and b/docs/html/img129.png differ diff --git a/docs/html/img13.png b/docs/html/img13.png index 0b64d387..817ef1d5 100644 Binary files a/docs/html/img13.png and b/docs/html/img13.png differ diff --git a/docs/html/img130.png b/docs/html/img130.png index 6b244fdf..d2000c19 100644 Binary files a/docs/html/img130.png and b/docs/html/img130.png differ diff --git a/docs/html/img131.png b/docs/html/img131.png index 850dcba0..8bd13e4d 100644 Binary files a/docs/html/img131.png and b/docs/html/img131.png differ diff --git a/docs/html/img132.png b/docs/html/img132.png index a733cc99..8e169ee0 100644 Binary files a/docs/html/img132.png and b/docs/html/img132.png differ diff --git a/docs/html/img133.png b/docs/html/img133.png index 9ffee9ad..0a3ba10e 100644 Binary files a/docs/html/img133.png and b/docs/html/img133.png differ diff --git a/docs/html/img134.png b/docs/html/img134.png index 6928567c..bd704217 100644 Binary files a/docs/html/img134.png and b/docs/html/img134.png differ diff --git a/docs/html/img135.png b/docs/html/img135.png index df82028c..c233c5ac 100644 Binary files a/docs/html/img135.png and b/docs/html/img135.png differ diff --git a/docs/html/img138.png b/docs/html/img138.png index 43dfe169..4713133c 100644 Binary files a/docs/html/img138.png and b/docs/html/img138.png differ diff --git a/docs/html/img139.png b/docs/html/img139.png index e1180aca..0603223e 100644 Binary files a/docs/html/img139.png and b/docs/html/img139.png differ diff --git a/docs/html/img14.png b/docs/html/img14.png index e5fcc49c..4f94ec28 100644 Binary files a/docs/html/img14.png and b/docs/html/img14.png differ diff --git a/docs/html/img140.png b/docs/html/img140.png index 9eaf8c61..a2154aee 100644 Binary files a/docs/html/img140.png and b/docs/html/img140.png differ diff --git a/docs/html/img141.png b/docs/html/img141.png index a80d3c32..92f4a47f 100644 Binary files a/docs/html/img141.png and b/docs/html/img141.png differ diff --git a/docs/html/img142.png b/docs/html/img142.png index 0cc86fe7..41e972b9 100644 Binary files a/docs/html/img142.png and b/docs/html/img142.png differ diff --git a/docs/html/img143.png b/docs/html/img143.png index 554b59b2..ac96f44d 100644 Binary files a/docs/html/img143.png and b/docs/html/img143.png differ diff --git a/docs/html/img144.png b/docs/html/img144.png index a2e86fc0..c1e6819a 100644 Binary files a/docs/html/img144.png and b/docs/html/img144.png differ diff --git a/docs/html/img145.png b/docs/html/img145.png index ee956842..81ca11d6 100644 Binary files a/docs/html/img145.png and b/docs/html/img145.png differ diff --git a/docs/html/img146.png b/docs/html/img146.png index 75d19edb..d25a2c0f 100644 Binary files a/docs/html/img146.png and b/docs/html/img146.png differ diff --git a/docs/html/img147.png b/docs/html/img147.png index 8c593c1a..7e245b76 100644 Binary files a/docs/html/img147.png and b/docs/html/img147.png differ diff --git a/docs/html/img148.png b/docs/html/img148.png index 19445a28..6ca934d1 100644 Binary files a/docs/html/img148.png and b/docs/html/img148.png differ diff --git a/docs/html/img15.png b/docs/html/img15.png index c2f46667..8034e079 100644 Binary files a/docs/html/img15.png and b/docs/html/img15.png differ diff --git a/docs/html/img16.png b/docs/html/img16.png index 55c3442a..b7b0b140 100644 Binary files a/docs/html/img16.png and b/docs/html/img16.png differ diff --git a/docs/html/img17.png b/docs/html/img17.png index 8db5cedd..47445ae6 100644 Binary files a/docs/html/img17.png and b/docs/html/img17.png differ diff --git a/docs/html/img18.png b/docs/html/img18.png index 0ab65bf0..5881302d 100644 Binary files a/docs/html/img18.png and b/docs/html/img18.png differ diff --git a/docs/html/img2.png b/docs/html/img2.png index cba8385d..17c5e890 100644 Binary files a/docs/html/img2.png and b/docs/html/img2.png differ diff --git a/docs/html/img20.png b/docs/html/img20.png index 91577fdc..7e25b474 100644 Binary files a/docs/html/img20.png and b/docs/html/img20.png differ diff --git a/docs/html/img24.png b/docs/html/img24.png index 2465f437..1cde977d 100644 Binary files a/docs/html/img24.png and b/docs/html/img24.png differ diff --git a/docs/html/img25.png b/docs/html/img25.png index 94b7850d..551925d4 100644 Binary files a/docs/html/img25.png and b/docs/html/img25.png differ diff --git a/docs/html/img26.png b/docs/html/img26.png index 37cf3822..976644df 100644 Binary files a/docs/html/img26.png and b/docs/html/img26.png differ diff --git a/docs/html/img27.png b/docs/html/img27.png index 5f6573d4..b9895904 100644 Binary files a/docs/html/img27.png and b/docs/html/img27.png differ diff --git a/docs/html/img28.png b/docs/html/img28.png index fd5e56f4..38fe2522 100644 Binary files a/docs/html/img28.png and b/docs/html/img28.png differ diff --git a/docs/html/img29.png b/docs/html/img29.png index d427eabb..02398bc1 100644 Binary files a/docs/html/img29.png and b/docs/html/img29.png differ diff --git a/docs/html/img3.png b/docs/html/img3.png index 6f282335..fa40a0b0 100644 Binary files a/docs/html/img3.png and b/docs/html/img3.png differ diff --git a/docs/html/img30.png b/docs/html/img30.png index dc269633..9c151e35 100644 Binary files a/docs/html/img30.png and b/docs/html/img30.png differ diff --git a/docs/html/img31.png b/docs/html/img31.png index dd45b72e..6a55042c 100644 Binary files a/docs/html/img31.png and b/docs/html/img31.png differ diff --git a/docs/html/img32.png b/docs/html/img32.png index def37aa1..2d457aac 100644 Binary files a/docs/html/img32.png and b/docs/html/img32.png differ diff --git a/docs/html/img33.png b/docs/html/img33.png index 4c940ca2..c654886a 100644 Binary files a/docs/html/img33.png and b/docs/html/img33.png differ diff --git a/docs/html/img34.png b/docs/html/img34.png index 3171ab9a..1cde3351 100644 Binary files a/docs/html/img34.png and b/docs/html/img34.png differ diff --git a/docs/html/img35.png b/docs/html/img35.png index 5c768e4e..0d34de72 100644 Binary files a/docs/html/img35.png and b/docs/html/img35.png differ diff --git a/docs/html/img36.png b/docs/html/img36.png index 9af1be2b..29d577f2 100644 Binary files a/docs/html/img36.png and b/docs/html/img36.png differ diff --git a/docs/html/img37.png b/docs/html/img37.png index 0eb5b386..c144aaf6 100644 Binary files a/docs/html/img37.png and b/docs/html/img37.png differ diff --git a/docs/html/img38.png b/docs/html/img38.png index 55f487fb..e1f69edd 100644 Binary files a/docs/html/img38.png and b/docs/html/img38.png differ diff --git a/docs/html/img39.png b/docs/html/img39.png index 99626cf3..8ac8e75b 100644 Binary files a/docs/html/img39.png and b/docs/html/img39.png differ diff --git a/docs/html/img4.png b/docs/html/img4.png index 0d3edf21..cb98a058 100644 Binary files a/docs/html/img4.png and b/docs/html/img4.png differ diff --git a/docs/html/img40.png b/docs/html/img40.png index c4a1eb8a..0b9bf85c 100644 Binary files a/docs/html/img40.png and b/docs/html/img40.png differ diff --git a/docs/html/img41.png b/docs/html/img41.png index e25cd0f1..894bf6e9 100644 Binary files a/docs/html/img41.png and b/docs/html/img41.png differ diff --git a/docs/html/img42.png b/docs/html/img42.png index ab2ca1fb..68e3d16d 100644 Binary files a/docs/html/img42.png and b/docs/html/img42.png differ diff --git a/docs/html/img43.png b/docs/html/img43.png index 74259acf..00dbf7e6 100644 Binary files a/docs/html/img43.png and b/docs/html/img43.png differ diff --git a/docs/html/img44.png b/docs/html/img44.png index daed562b..05b47478 100644 Binary files a/docs/html/img44.png and b/docs/html/img44.png differ diff --git a/docs/html/img45.png b/docs/html/img45.png index 1f510513..d91d32f1 100644 Binary files a/docs/html/img45.png and b/docs/html/img45.png differ diff --git a/docs/html/img46.png b/docs/html/img46.png index 3c745bda..8d80e5be 100644 Binary files a/docs/html/img46.png and b/docs/html/img46.png differ diff --git a/docs/html/img47.png b/docs/html/img47.png index 7864452c..c3cdee01 100644 Binary files a/docs/html/img47.png and b/docs/html/img47.png differ diff --git a/docs/html/img48.png b/docs/html/img48.png index 7799cc0d..6cf13b18 100644 Binary files a/docs/html/img48.png and b/docs/html/img48.png differ diff --git a/docs/html/img49.png b/docs/html/img49.png index 10c5aa6e..271cb392 100644 Binary files a/docs/html/img49.png and b/docs/html/img49.png differ diff --git a/docs/html/img5.png b/docs/html/img5.png index b2f5b361..c46a3819 100644 Binary files a/docs/html/img5.png and b/docs/html/img5.png differ diff --git a/docs/html/img50.png b/docs/html/img50.png index c42c94fc..fb4b7995 100644 Binary files a/docs/html/img50.png and b/docs/html/img50.png differ diff --git a/docs/html/img51.png b/docs/html/img51.png index 75871261..1267e6b3 100644 Binary files a/docs/html/img51.png and b/docs/html/img51.png differ diff --git a/docs/html/img52.png b/docs/html/img52.png index 4759178c..d60a2f38 100644 Binary files a/docs/html/img52.png and b/docs/html/img52.png differ diff --git a/docs/html/img53.png b/docs/html/img53.png index 5b8bdacb..795b19fc 100644 Binary files a/docs/html/img53.png and b/docs/html/img53.png differ diff --git a/docs/html/img54.png b/docs/html/img54.png index 81b66db4..6ea93c9e 100644 Binary files a/docs/html/img54.png and b/docs/html/img54.png differ diff --git a/docs/html/img55.png b/docs/html/img55.png index 94229f07..7530b970 100644 Binary files a/docs/html/img55.png and b/docs/html/img55.png differ diff --git a/docs/html/img56.png b/docs/html/img56.png index f759dd46..7ea61bee 100644 Binary files a/docs/html/img56.png and b/docs/html/img56.png differ diff --git a/docs/html/img57.png b/docs/html/img57.png index 6b825d66..09e8cb6c 100644 Binary files a/docs/html/img57.png and b/docs/html/img57.png differ diff --git a/docs/html/img58.png b/docs/html/img58.png index 6cdf6149..4e8a4e16 100644 Binary files a/docs/html/img58.png and b/docs/html/img58.png differ diff --git a/docs/html/img59.png b/docs/html/img59.png index f73e47fa..b5b74989 100644 Binary files a/docs/html/img59.png and b/docs/html/img59.png differ diff --git a/docs/html/img6.png b/docs/html/img6.png index 58a0b450..28b47786 100644 Binary files a/docs/html/img6.png and b/docs/html/img6.png differ diff --git a/docs/html/img60.png b/docs/html/img60.png index 1ec88bf6..e121e0d8 100644 Binary files a/docs/html/img60.png and b/docs/html/img60.png differ diff --git a/docs/html/img61.png b/docs/html/img61.png index 8e1ae26a..e6a5b6cd 100644 Binary files a/docs/html/img61.png and b/docs/html/img61.png differ diff --git a/docs/html/img63.png b/docs/html/img63.png index be77fbe2..7cb080ad 100644 Binary files a/docs/html/img63.png and b/docs/html/img63.png differ diff --git a/docs/html/img64.png b/docs/html/img64.png index b36bd89c..9b5e36ea 100644 Binary files a/docs/html/img64.png and b/docs/html/img64.png differ diff --git a/docs/html/img65.png b/docs/html/img65.png index e85b77f0..5c11fa45 100644 Binary files a/docs/html/img65.png and b/docs/html/img65.png differ diff --git a/docs/html/img66.png b/docs/html/img66.png index 4f8dbfd9..d9049fe7 100644 Binary files a/docs/html/img66.png and b/docs/html/img66.png differ diff --git a/docs/html/img67.png b/docs/html/img67.png index 11b3c242..5060d61f 100644 Binary files a/docs/html/img67.png and b/docs/html/img67.png differ diff --git a/docs/html/img68.png b/docs/html/img68.png index 30dbd771..432763a5 100644 Binary files a/docs/html/img68.png and b/docs/html/img68.png differ diff --git a/docs/html/img69.png b/docs/html/img69.png index 2a8221ec..0f133fbf 100644 Binary files a/docs/html/img69.png and b/docs/html/img69.png differ diff --git a/docs/html/img7.png b/docs/html/img7.png index 30a39699..34864f25 100644 Binary files a/docs/html/img7.png and b/docs/html/img7.png differ diff --git a/docs/html/img70.png b/docs/html/img70.png index 5b349332..e344cde8 100644 Binary files a/docs/html/img70.png and b/docs/html/img70.png differ diff --git a/docs/html/img71.png b/docs/html/img71.png index 2f029ed7..18a82590 100644 Binary files a/docs/html/img71.png and b/docs/html/img71.png differ diff --git a/docs/html/img72.png b/docs/html/img72.png index e617c4da..b9c750c2 100644 Binary files a/docs/html/img72.png and b/docs/html/img72.png differ diff --git a/docs/html/img73.png b/docs/html/img73.png index 19eb2899..29f556d6 100644 Binary files a/docs/html/img73.png and b/docs/html/img73.png differ diff --git a/docs/html/img74.png b/docs/html/img74.png index 2111312c..5fd95a8c 100644 Binary files a/docs/html/img74.png and b/docs/html/img74.png differ diff --git a/docs/html/img75.png b/docs/html/img75.png index 42db8764..ab90c16d 100644 Binary files a/docs/html/img75.png and b/docs/html/img75.png differ diff --git a/docs/html/img76.png b/docs/html/img76.png index 37237747..c4b1412a 100644 Binary files a/docs/html/img76.png and b/docs/html/img76.png differ diff --git a/docs/html/img77.png b/docs/html/img77.png index 337d43ee..f30e3ea6 100644 Binary files a/docs/html/img77.png and b/docs/html/img77.png differ diff --git a/docs/html/img78.png b/docs/html/img78.png index af302e8b..b286bba5 100644 Binary files a/docs/html/img78.png and b/docs/html/img78.png differ diff --git a/docs/html/img79.png b/docs/html/img79.png index 36891148..b10c809a 100644 Binary files a/docs/html/img79.png and b/docs/html/img79.png differ diff --git a/docs/html/img8.png b/docs/html/img8.png index 6e67241d..0875275f 100644 Binary files a/docs/html/img8.png and b/docs/html/img8.png differ diff --git a/docs/html/img80.png b/docs/html/img80.png index ffe4cf52..0ee708a9 100644 Binary files a/docs/html/img80.png and b/docs/html/img80.png differ diff --git a/docs/html/img81.png b/docs/html/img81.png index 7dee1cf4..ef89bdfb 100644 Binary files a/docs/html/img81.png and b/docs/html/img81.png differ diff --git a/docs/html/img82.png b/docs/html/img82.png index 13f0a821..61790150 100644 Binary files a/docs/html/img82.png and b/docs/html/img82.png differ diff --git a/docs/html/img83.png b/docs/html/img83.png index 0ecdd7b6..e0dd7dff 100644 Binary files a/docs/html/img83.png and b/docs/html/img83.png differ diff --git a/docs/html/img84.png b/docs/html/img84.png index e7a86242..3ffa14f5 100644 Binary files a/docs/html/img84.png and b/docs/html/img84.png differ diff --git a/docs/html/img85.png b/docs/html/img85.png index 4b39f077..a4793c56 100644 Binary files a/docs/html/img85.png and b/docs/html/img85.png differ diff --git a/docs/html/img86.png b/docs/html/img86.png index 72d4c328..c1e8d746 100644 Binary files a/docs/html/img86.png and b/docs/html/img86.png differ diff --git a/docs/html/img87.png b/docs/html/img87.png index 97c77ca2..37a6ec01 100644 Binary files a/docs/html/img87.png and b/docs/html/img87.png differ diff --git a/docs/html/img88.png b/docs/html/img88.png index f89a8e47..da9d1a45 100644 Binary files a/docs/html/img88.png and b/docs/html/img88.png differ diff --git a/docs/html/img89.png b/docs/html/img89.png index 0802142a..7272efa2 100644 Binary files a/docs/html/img89.png and b/docs/html/img89.png differ diff --git a/docs/html/img9.png b/docs/html/img9.png index f18f8313..a7b5737a 100644 Binary files a/docs/html/img9.png and b/docs/html/img9.png differ diff --git a/docs/html/img90.png b/docs/html/img90.png index 7ae3977f..d7b63b63 100644 Binary files a/docs/html/img90.png and b/docs/html/img90.png differ diff --git a/docs/html/img91.png b/docs/html/img91.png index 4a264749..1a5e9297 100644 Binary files a/docs/html/img91.png and b/docs/html/img91.png differ diff --git a/docs/html/img92.png b/docs/html/img92.png index 5a5b952c..a96b5b14 100644 Binary files a/docs/html/img92.png and b/docs/html/img92.png differ diff --git a/docs/html/img93.png b/docs/html/img93.png index c79235f5..a16e477b 100644 Binary files a/docs/html/img93.png and b/docs/html/img93.png differ diff --git a/docs/html/img94.png b/docs/html/img94.png index ac788493..c7fd4779 100644 Binary files a/docs/html/img94.png and b/docs/html/img94.png differ diff --git a/docs/html/img95.png b/docs/html/img95.png index 89460220..485ba97e 100644 Binary files a/docs/html/img95.png and b/docs/html/img95.png differ diff --git a/docs/html/img96.png b/docs/html/img96.png index 781edc19..108b51d1 100644 Binary files a/docs/html/img96.png and b/docs/html/img96.png differ diff --git a/docs/html/img97.png b/docs/html/img97.png index e4114dd3..6a4aacc6 100644 Binary files a/docs/html/img97.png and b/docs/html/img97.png differ diff --git a/docs/html/img98.png b/docs/html/img98.png index fd2f3222..f6a5345a 100644 Binary files a/docs/html/img98.png and b/docs/html/img98.png differ diff --git a/docs/html/img99.png b/docs/html/img99.png index 25c0fe21..a44fda45 100644 Binary files a/docs/html/img99.png and b/docs/html/img99.png differ diff --git a/docs/html/node112.html b/docs/html/node112.html index 526934d3..249e05b1 100644 --- a/docs/html/node112.html +++ b/docs/html/node112.html @@ -103,7 +103,7 @@ Error code: if no error, 0 is returned. Notes Legal inputs to this subroutine are interpreted depending on the string as follows3: diff --git a/docs/html/node117.html b/docs/html/node117.html index c6531912..cb4159af 100644 --- a/docs/html/node117.html +++ b/docs/html/node117.html @@ -72,7 +72,7 @@ err = \frac{\|r_i\|}{(\|A\|\|x_i\|+\|b\|)} < eps --> @@ -96,11 +96,11 @@ err = \frac{\|r_i\|}{\|b\|_2} < eps
according to the value passed through the istop argument (see later). In the above formulae, is the tentative solution and the corresponding residual at the optional Intent: in.
-The translation was initiated by Salvatore Filippone on 2012-03-01
+The translation was initiated by Salvatore Filippone on 2012-03-16