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 $ptype$ 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 --> \begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath} @@ -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, $x_i$ is the tentative solution and $r_i=b-Ax_i$ the corresponding residual at the optional Intent: in.
Default: $itmax = 1000$.
Specified as: an integer variable $itmax \ge 1$.
itrace
If $>0$ print out an informational message about convergence every $itrace$ iterations.
@@ -267,7 +267,7 @@ Type: optional. Intent: in.
Values: $irst>0$. This is employed for the BiCGSTABL or RGMRES methods, otherwise it is ignored. @@ -328,7 +328,7 @@ Returned as: a real number. SRC="img1.png" ALT="$A$">; only available with the $CG$ method.
diff --git a/docs/html/node119.html b/docs/html/node119.html index bfc2417a..f71b23ce 100644 --- a/docs/html/node119.html +++ b/docs/html/node119.html @@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney. The command line arguments were:
latex2html -local_icons -noaddress -dir ../../html userhtml.tex

-The translation was initiated by Salvatore Filippone on 2012-03-01 +The translation was initiated by Salvatore Filippone on 2012-03-16


diff --git a/docs/html/node37.html b/docs/html/node37.html index 076c6d4c..abdc1648 100644 --- a/docs/html/node37.html +++ b/docs/html/node37.html @@ -89,13 +89,13 @@ Data types
$x$, $y$, $\alpha$,
alpha
the scalar $\alpha$.
@@ -147,7 +147,7 @@ Specified as: a number of the data type indicated in Table .
@@ -160,7 +160,7 @@ Intent: in. Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in Table 
1. The rank of $x$ must be the same of 1. The rank of $y$ must be the same of $x$.
diff --git a/docs/html/node38.html b/docs/html/node38.html index eebab146..9eef1b5e 100644 --- a/docs/html/node38.html +++ b/docs/html/node38.html @@ -57,7 +57,7 @@ psb_gedot -- Dot Product

This function computes dot product between two vectors $x$ and $y$.
If $x$ and

Else if $x$ and
$dot$, $x$,
x
the local portion of global dense matrix $x$.
@@ -178,7 +178,7 @@ Intent: in. Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in Table 2. The rank of $x$ must be the same of 2. The rank of $y$ must be the same of $x$.
@@ -226,7 +226,7 @@ Specified as: an object of type descdatapsb_desc_type.
Function value
is the dot product of subvectors $x$ and

This subroutine computes a series of dot products among the columns of two dense matrices $x$ and

If the matrices are complex, then the usual convention applies, i.e. the conjugate transpose of $x$ is used. If $x$ and $y$ are of rank one, then $res$ is a scalar, else it is a rank one array. @@ -109,10 +109,10 @@ Data types
$res$, $x$,
x
the local portion of global dense matrix $x$.
@@ -163,7 +163,7 @@ Intent: in. Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in Table 3. The rank of $x$ must be the same of 3. The rank of $y$ must be the same of $x$.
@@ -209,7 +209,7 @@ Specified as: an object of type descdatapsb_desc_type.
res
is the dot product of subvectors $x$ and $\cal I$, $\cal B$ and
\includegraphics[scale=0.65]{figures/points.eps} \begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath}

else if $x$ is a complex vector then it computes the infinity-norm as:

@@ -95,7 +95,7 @@ amax \leftarrow \max_i {(|re(x_i)| + |im(x_i)|)} --> \begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath} @@ -117,11 +117,11 @@ Data types
@@ -160,7 +160,7 @@ Data types
x
the local portion of global dense matrix $x$. @@ -193,7 +193,7 @@ Specified as: an object of type descdatapsb_desc_type.
Function value
is the infinity norm of subvector $x$.
diff --git a/docs/html/node41.html b/docs/html/node41.html index a29c1193..2b29f35e 100644 --- a/docs/html/node41.html +++ b/docs/html/node41.html @@ -58,7 +58,7 @@ psb_geamaxs -- Generalized Infinity Norm

This subroutine computes a series of infinity norms on the columns of a dense matrix $x$:

@@ -70,7 +70,7 @@ res(i) \leftarrow \max_k |x(k,i)| --> \begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} @@ -92,11 +92,11 @@ Data types
$amax$ $x$ Function
@@ -135,7 +135,7 @@ Data types
x
the local portion of global dense matrix $x$.
@@ -165,7 +165,7 @@ Specified as: an object of type descdatapsb_desc_type.
res
is the infinity norm of the columns of $x$.
diff --git a/docs/html/node42.html b/docs/html/node42.html index 5a1095c3..dcebee84 100644 --- a/docs/html/node42.html +++ b/docs/html/node42.html @@ -57,12 +57,12 @@ psb_geasum -- 1-Norm of Vector

This function computes the 1-norm of a vector $x$.
If $x$ is a real vector it computes 1-norm as: @@ -82,7 +82,7 @@ asum \leftarrow \|x_i\|

else if $x$ is a complex vector then it computes 1-norm as:

@@ -94,7 +94,7 @@ asum \leftarrow \|re(x)\|_1 + \|im(x)\|_1 --> \begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} @@ -116,11 +116,11 @@ Data types
$res$ $x$ Subroutine
@@ -159,7 +159,7 @@ Data types
x
the local portion of global dense matrix $x$. @@ -192,7 +192,7 @@ Specified as: an object of type descdatapsb_desc_type.
Function value
is the 1-norm of vector $x$.
diff --git a/docs/html/node43.html b/docs/html/node43.html index e2778665..dcba8e40 100644 --- a/docs/html/node43.html +++ b/docs/html/node43.html @@ -58,7 +58,7 @@ psb_geasums -- Generalized 1-Norm of Vector

This subroutine computes a series of 1-norms on the columns of a dense matrix $x$:

@@ -70,19 +70,19 @@ res(i) \leftarrow \max_k |x(k,i)| --> \begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}

This function computes the 1-norm of a vector $x$.
If $x$ is a real vector it computes 1-norm as: @@ -95,14 +95,14 @@ res(i) \leftarrow \|x_i\| --> \begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath}

else if $x$ is a complex vector then it computes 1-norm as:

@@ -114,7 +114,7 @@ res(i) \leftarrow \|re(x)\|_1 + \|im(x)\|_1 --> \begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} @@ -136,11 +136,11 @@ Data types
$asum$ $x$ Function
@@ -179,7 +179,7 @@ Data types
x
the local portion of global dense matrix $x$. @@ -212,7 +212,7 @@ Specified as: an object of type descdatapsb_desc_type.
res
contains the 1-norm of (the columns of) $x$.
diff --git a/docs/html/node44.html b/docs/html/node44.html index 8c035f6a..5345583a 100644 --- a/docs/html/node44.html +++ b/docs/html/node44.html @@ -57,12 +57,12 @@ psb_genrm2 -- 2-Norm of Vector

This function computes the 2-norm of a vector $x$.
If $x$ is a real vector it computes 2-norm as: @@ -82,7 +82,7 @@ nrm2 \leftarrow \sqrt{x^T x}

else if $x$ is a complex vector then it computes 2-norm as:

@@ -111,11 +111,11 @@ Data types
$res$ $x$ Subroutine
@@ -159,7 +159,7 @@ psb_genrm2(x, desc_a, info)
x
the local portion of global dense matrix $x$.
@@ -191,7 +191,7 @@ Specified as: an object of type descdatapsb_desc_type.
Function Value
is the 2-norm of subvector $x$.
diff --git a/docs/html/node45.html b/docs/html/node45.html index 7da37a3c..139a3051 100644 --- a/docs/html/node45.html +++ b/docs/html/node45.html @@ -58,7 +58,7 @@ psb_genrm2s -- Generalized 2-Norm of Vector

This subroutine computes a series of 2-norms on the columns of a dense matrix $x$:

@@ -92,11 +92,11 @@ Data types
$nrm2$ $x$ Function
@@ -135,7 +135,7 @@ Data types
x
the local portion of global dense matrix $x$. @@ -168,7 +168,7 @@ Specified as: an object of type descdatapsb_desc_type.
res
contains the 1-norm of (the columns of) $x$.
diff --git a/docs/html/node47.html b/docs/html/node47.html index b5912740..a88b340f 100644 --- a/docs/html/node47.html +++ b/docs/html/node47.html @@ -71,7 +71,7 @@ nrmi \leftarrow \|A\|_\infty --> \begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath} diff --git a/docs/html/node48.html b/docs/html/node48.html index e5030e50..e2247d90 100644 --- a/docs/html/node48.html +++ b/docs/html/node48.html @@ -69,7 +69,7 @@ y \leftarrow \alpha A x + \beta y -->
$res$ $x$ Subroutine
\begin{displaymath}
 y \leftarrow \alpha A x + \beta y
@@ -88,7 +88,7 @@ y \leftarrow \alpha  A^T x + \beta y
  -->
 <TABLE WIDTH=
\begin{displaymath}
 y \leftarrow \alpha A^T x + \beta y
@@ -121,11 +121,11 @@ y \leftarrow \alpha A^H x + \beta y
 where:
 <DL>
 <DT><STRONG><IMG
- WIDTH=
is the global dense matrix $x_{:, :}$
@@ -134,7 +134,7 @@ where: SRC="img26.png" ALT="$y$">
is the global dense matrix $y_{:, :}$
@@ -162,13 +162,13 @@ Data types WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" SRC="img1.png" ALT="$A$">, $x$, $y$, $\alpha$,
alpha
the scalar $\alpha$.
@@ -243,7 +243,7 @@ Specified as: an object of type spdatapsb_Tspmat_type.
x
the local portion of global dense matrix $x$. @@ -257,7 +257,7 @@ Intent: in. Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in Table 12. The rank of $x$ must be the same of 12. The rank of $y$ must be the same of $x$.
@@ -335,7 +335,7 @@ Type: optional Intent: in.
Default: $trans = N$
@@ -353,7 +353,7 @@ Type: optional Intent: inout.
Specified as: a rank one array of the same type of $x$ and
$x$
is the global dense matrix $x_{:, :}$
@@ -101,21 +101,21 @@ where: SRC="img26.png" ALT="$y$">
is the global dense matrix $y_{:, :}$
$T$
is the global sparse block triangular submatrix $T$
$D$
is the scaling diagonal matrix. @@ -139,19 +139,19 @@ Data types
$T$, $x$, $y$, $D$, $\alpha$,
alpha
the scalar $\alpha$.
@@ -204,7 +204,7 @@ Table 13.
t
the global portion of the sparse matrix $T$.
@@ -220,7 +220,7 @@ Specified as: an object type specified in
x
the local portion of global dense matrix $x$. @@ -234,7 +234,7 @@ Intent: in. Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of type specified in Table 13. The rank of $x$ must be the same of 13. The rank of $y$ must be the same of $x$.
@@ -310,7 +310,7 @@ Type: optional Intent: in.
Default: $trans = N$
@@ -336,7 +336,7 @@ Type: optional Intent: in.
Default: $unitd = U$
@@ -382,7 +382,7 @@ Default: $diag(1) = 1 (no scaling)$
@@ -399,7 +399,7 @@ Type: optional Intent: inout.
Specified as: a rank one array of the same type of $x$ with the TARGET attribute. diff --git a/docs/html/node51.html b/docs/html/node51.html index 9982990c..b27d46e7 100644 --- a/docs/html/node51.html +++ b/docs/html/node51.html @@ -78,7 +78,7 @@ x \leftarrow \alpha x where:
$x$
is a global dense submatrix. @@ -95,10 +95,10 @@ Data types
@@ -141,7 +141,7 @@ call psb_halo(x, desc_a, info, alpha, work, data)
x
global dense matrix $x$.
@@ -168,7 +168,7 @@ Specified as: a structured data of type descdatapsb_desc_type.
alpha
the scalar $\alpha$.
@@ -179,7 +179,7 @@ Type: optional Intent: in.
Default: $alpha = 1 $
@@ -195,7 +195,7 @@ Type: optional Intent: inout.
Specified as: a rank one array of the same type of $x$.
@@ -217,7 +217,7 @@ index list on which to base the data exchange.
x
global dense result matrix $x$.
@@ -278,7 +278,7 @@ distribution is such that each process will own 32 entries in the index space, with a halo made of 8 entries placed at local indices 33 through 40. If process 0 assigns an initial value of 1 to its entries in the $x$ vector, and process 1 assigns a value of 2, then after a call to psb_halo the contents of the local vectors will be the diff --git a/docs/html/node52.html b/docs/html/node52.html index 96e861dd..e4a6ca71 100644 --- a/docs/html/node52.html +++ b/docs/html/node52.html @@ -77,16 +77,16 @@ x \leftarrow Q x where:
$x$
is the global dense submatrix $x$
$Q$
is the overlap operator; it is the composition of two @@ -94,7 +94,7 @@ operators $ P_a$ and $ P^{T}$.
@@ -110,7 +110,7 @@ Data types
$\alpha$, $x$ Subroutine
@@ -150,7 +150,7 @@ call psb_ovrl(x, desc_a, info, update=update_type, work=work)
x
global dense matrix $x$.
@@ -183,13 +183,13 @@ Specified as: a structured data of type descdatapsb_desc_type.
update = psb_add_
Sum overlap entries, i.e. apply $P^T$;
update = psb_avg_
Average overlap entries, i.e. apply $P_aP^T$;
@@ -220,7 +220,7 @@ Type: optional Intent: inout.
Specified as: a one dimensional array of the same type of $x$. @@ -231,7 +231,7 @@ Specified as: a one dimensional array of the same type of
x
global dense result matrix $x$.
@@ -266,11 +266,11 @@ An integer value; 0 means no error has been detected. the descriptor, no operations are performed;
  • The operator $ P^{T}$ performs the reduction sum of overlap elements; it is a ``prolongation'' operator $P^T$ that replicates overlap elements, accounting for the physical replication @@ -295,7 +295,7 @@ Sample discretization mesh.
  • $x$ Subroutine
    \includegraphics[scale=0.65]{figures/try8x8_ov.eps} @@ -320,7 +320,7 @@ distribution is such that each process will own 40 entries in the index space, with an overlap of 16 entries placed at local indices 25 through 40; the halo will run from local index 41 through local index 48.. If process 0 assigns an initial value of 1 to its entries in the $x$ vector, and process 1 assigns a value of 2, then after a call to psb_ovrl with psb_avg_ and a call to diff --git a/docs/html/node53.html b/docs/html/node53.html index 032704ed..b707d627 100644 --- a/docs/html/node53.html +++ b/docs/html/node53.html @@ -79,19 +79,19 @@ glob\_x \leftarrow collect(loc\_x_i) where:
    $glob\_x$
    is the global submatrix $glob\_x_{1:m,1:n}$
    $loc\_x_i$
    is the local portion of global dense matrix on @@ -101,7 +101,7 @@ process $i$.
    $collect$
    is the collect function. @@ -118,7 +118,7 @@ Data types
    @@ -162,7 +162,7 @@ call psb_gather(glob_x, loc_x, desc_a, info, root)
    loc_x
    the local portion of global dense matrix $glob\_x$.
    @@ -188,7 +188,7 @@ Specified as: a structured data of type descdatapsb_desc_type.
    root
    The process that holds the global copy. If $root=-1$ all the processes will have a copy of the global vector. @@ -203,10 +203,10 @@ Specified as: an integer variable $-1\le root\le np-1$, default $-1$.
    @@ -222,7 +222,7 @@ Type: required
    Intent: out.
    -Specified as: a rank one or two array. +Specified as: a rank one or two array with the ALLOCATABLE attribute.
    info
    Error code. diff --git a/docs/html/node54.html b/docs/html/node54.html index 75e22f3d..251a63f2 100644 --- a/docs/html/node54.html +++ b/docs/html/node54.html @@ -68,7 +68,7 @@ loc\_x_i \leftarrow scatter(glob\_x) --> \begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath} @@ -77,19 +77,19 @@ loc\_x_i \leftarrow scatter(glob\_x) where:
    $glob\_x$
    is the global matrix $glob\_x_{1:m,1:n}$
    $loc\_x_i$
    is the local portion of global dense matrix on @@ -99,7 +99,7 @@ process $i$.
    $scatter$
    is the scatter function. @@ -116,7 +116,7 @@ Data types
    $x_i, y$ Subroutine
    @@ -181,7 +181,7 @@ Specified as: a structured data of type descdatapsb_desc_type.
    root
    The process that holds the global copy. If $root=-1$ all the processes have a copy of the global vector. @@ -196,10 +196,10 @@ Specified as: an integer variable $-1\le root\le np-1$, default $-1$.
    @@ -209,7 +209,7 @@ Specified as: an integer variable $i\in \{1\dots mg\}$ is allocated to process $vg(i)$.
    @@ -111,7 +111,7 @@ Specified as: an integer array.
    flag
    Specifies whether entries in $vg$ are zero- or one-based.
    @@ -125,7 +125,7 @@ Specified as: an integer value $0,1$, default $0$. @@ -155,7 +155,7 @@ Specified as: a subroutine.
    vl
    Data allocation: the set of global indices $vl(1:nl)$ belonging to the calling process.
    @@ -285,7 +285,7 @@ An integer value; 0 means no error has been detected. $0\le pv(i) < np$ --> $0\le pv(i) < np$; if $i\in \{1\dots mg\}$ is assigned to process $vg(i)$. The vector vg must be identical on all calling processes; its entries may have the ranges $(0\dots np-1)$ or $(1\dots np)$ according to the value of flag. The size $mg$ may be specified via the optional argument mg; the default is to use the entire vector vg, thus having @@ -329,7 +329,7 @@ An integer value; 0 means no error has been detected.
    In this case we are specifying the list of indices vl(1:nl) assigned to the current process; thus, the global problem size $mg$ is given by the range of the aggregate of the individual vectors vl specified @@ -338,7 +338,7 @@ An integer value; 0 means no error has been detected. nl=size(vl). If globalcheck=.true. the subroutine will check how many times each entry in the global index space $(1\dots mg)$ is specified in the input lists vl, thus allowing for the @@ -352,7 +352,7 @@ An integer value; 0 means no error has been detected.
    If this argument is specified alone (i.e. without vl) the result is a generalized row-block distribution in which each process $I$ gets assigned a consecutive chunk of required. Intent: in.
    Specified as: an integer array of length $nz$.
    @@ -109,7 +109,7 @@ Type: required. Intent: in.
    Specified as: an integer array of length $nz$. diff --git a/docs/html/node6.html b/docs/html/node6.html index eba51fff..af78326b 100644 --- a/docs/html/node6.html +++ b/docs/html/node6.html @@ -62,7 +62,7 @@ space to which there corresponds an index space and a matrix sparsity pattern. As an example, consider a cell-centered finite-volume discretization of the Navier-Stokes equations on a simulation domain; the index space $1\dots n$ is isomorphic to the set of cell centers, whereas the pattern of the associated linear system matrix is @@ -73,7 +73,7 @@ by the discretization stencil. Thus the first order of business is to establish an index space, and this is done with a call to psb_cdall in which we specify the size of the index space $n$ and the allocation of the elements of the index space to the various processes making up the MPI (virtual) @@ -82,7 +82,7 @@ parallel machine.

    The index space is partitioned among processes, and this creates a mapping from the ``global'' numbering $1\dots n$ to a numbering ``local'' to each process; each process $1\dots n_{\hbox{row}_i}$, each element of which corresponds to a certain element of $1\dots n$. The user does not set explicitly this mapping; when the application needs to indicate to which element of the index @@ -107,7 +107,7 @@ library will translate into the appropriate ``local'' numbering.

    For a given index space $1\dots n$ there are many possible associated topologies, i.e. many different discretization stencils; thus the diff --git a/docs/html/node61.html b/docs/html/node61.html index a4be7ffa..0ad50575 100644 --- a/docs/html/node61.html +++ b/docs/html/node61.html @@ -103,7 +103,7 @@ Type:required. Intent: in.
    Specified as: an integer value $nl\ge 0$. diff --git a/docs/html/node62.html b/docs/html/node62.html index 81ce7b8c..bc52400c 100644 --- a/docs/html/node62.html +++ b/docs/html/node62.html @@ -130,7 +130,7 @@ An integer value; 0 means no error has been detected.

  • The descriptor may be in either the build or assembled state.
  • Providing a good estimate for the number of nonzeroes $nnz$ in the assembled matrix may substantially improve performance in the diff --git a/docs/html/node63.html b/docs/html/node63.html index c79f93fe..44e9751b 100644 --- a/docs/html/node63.html +++ b/docs/html/node63.html @@ -90,7 +90,7 @@ Type:required. Intent: in.
    Specified as: an integer array of size $nz$. @@ -104,7 +104,7 @@ Type:required. Intent: in.
    Specified as: an integer array of size $nz$. @@ -118,11 +118,11 @@ Type:required. Intent: in.
    Specified as: an array of size $nz$. Must be of the same type and kind of the aspk component of the sparse matrix $a$. diff --git a/docs/html/node67.html b/docs/html/node67.html index 9b038a3d..ea1e3e4d 100644 --- a/docs/html/node67.html +++ b/docs/html/node67.html @@ -92,7 +92,7 @@ Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a rank-1 array. @@ -110,7 +110,7 @@ Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a rank-1 array. diff --git a/docs/html/node68.html b/docs/html/node68.html index 3d97c325..9907cf55 100644 --- a/docs/html/node68.html +++ b/docs/html/node68.html @@ -70,7 +70,7 @@ call psb_geins(m, irw, val, x, desc_a, info,dupl)
    m
    Number of rows in $val$ to be inserted.
    @@ -88,11 +88,11 @@ Specified as: an integer value. SRC="img4.png" ALT="$i$"> of $val$ will be inserted into the local row corresponding to the global row index $irw(i)$. Scope:local. diff --git a/docs/html/node69.html b/docs/html/node69.html index ea94b150..0007bf4e 100644 --- a/docs/html/node69.html +++ b/docs/html/node69.html @@ -90,7 +90,7 @@ Intent: in.
    Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is only allowed when $x$ is of type vdatapsb_T_vect_type.
    diff --git a/docs/html/node72.html b/docs/html/node72.html index 3f9826ce..13e6dc5d 100644 --- a/docs/html/node72.html +++ b/docs/html/node72.html @@ -128,7 +128,7 @@ accepted. Default: false. SRC="img26.png" ALT="$y$"> is not present, then $x$ is overwritten with the translated integer indices. Scope: global @@ -148,7 +148,7 @@ Specified as: a rank one integer array. WIDTH="12" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" SRC="img26.png" ALT="$y$"> is overwritten with the translated integer indices, and $x$ is left unchanged. diff --git a/docs/html/node73.html b/docs/html/node73.html index 35b0ce6e..40f0ad5f 100644 --- a/docs/html/node73.html +++ b/docs/html/node73.html @@ -116,7 +116,7 @@ Specified as: a character variable Ignore, Warning or SRC="img26.png" ALT="$y$"> is not present, then $x$ is overwritten with the translated integer indices. Scope: global @@ -136,7 +136,7 @@ Specified as: a rank one integer array. WIDTH="12" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" SRC="img26.png" ALT="$y$"> is overwritten with the translated integer indices, and $x$ is left unchanged. diff --git a/docs/html/node74.html b/docs/html/node74.html index eba71b11..d25641fd 100644 --- a/docs/html/node74.html +++ b/docs/html/node74.html @@ -100,7 +100,7 @@ Specified as: a structured data of type descdatapsb_desc_type.
    Function value
    A logical mask which is true if $x$ is owned by the current process Scope: local diff --git a/docs/html/node75.html b/docs/html/node75.html index b36d152f..16e56ca5 100644 --- a/docs/html/node75.html +++ b/docs/html/node75.html @@ -111,7 +111,7 @@ Specified as: a character variable Ignore, Warning or
    y
    A logical mask which is true for all corresponding entries of $x$ that are owned by the current process Scope: local diff --git a/docs/html/node76.html b/docs/html/node76.html index 1920a1a3..e27dc8cc 100644 --- a/docs/html/node76.html +++ b/docs/html/node76.html @@ -100,7 +100,7 @@ Specified as: a structured data of type descdatapsb_desc_type.
    Function value
    A logical mask which is true if $x$ is local to the current process Scope: local diff --git a/docs/html/node77.html b/docs/html/node77.html index 71a6ab70..65d02b3c 100644 --- a/docs/html/node77.html +++ b/docs/html/node77.html @@ -111,7 +111,7 @@ Specified as: a character variable Ignore, Warning or
    y
    A logical mask which is true for all corresponding entries of $x$ that are local to the current process Scope: local diff --git a/docs/html/node80.html b/docs/html/node80.html index a598ead8..d70784af 100644 --- a/docs/html/node80.html +++ b/docs/html/node80.html @@ -79,7 +79,7 @@ Type:required Intent: in.
    Specified as: an integer $>0$.
    @@ -115,7 +115,7 @@ Type:optional Intent: in.
    Specified as: an integer $>0$. When append is true, specifies how many entries in the output vectors are already filled. @@ -130,10 +130,10 @@ Type:optional Intent: in.
    Specified as: an integer $>0$, default: $row$. @@ -208,12 +208,12 @@ An integer value; 0 means no error has been detected.
    1. The output $nz$ is always the size of the output generated by the current call; thus, if append=.true., the total output size will be $nzin+nz$, with the newly extracted coefficients stored in entries nzin+1:nzin+nz of the array arguments; diff --git a/docs/html/node82.html b/docs/html/node82.html index 62609160..c1d76ee5 100644 --- a/docs/html/node82.html +++ b/docs/html/node82.html @@ -72,7 +72,7 @@ call psb_hsort(x,ix,dir,flag)

      These serial routines sort a sequence $X$ into ascending or descending order. The argument meaning is identical for the three @@ -98,7 +98,7 @@ Specified as: an integer, real or complex array of rank 1. Type:optional.
      Specified as: an integer array of (at least) the same size as $X$. @@ -122,7 +122,7 @@ default psb_lsort_up_.

      flag
      Whether to keep the original values in $IX$.
      @@ -154,7 +154,7 @@ Type: Optional
      An integer array of rank 1, whose entries are moved to the same position as the corresponding entries in $x$.
      @@ -184,24 +184,24 @@ position as the corresponding entries in $flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ where $n$ is the size of $x$ are initialized to $ix(i) \leftarrow
 i$; thus, upon return from the subroutine, for each @@ -209,7 +209,7 @@ i$">; thus, upon return from the subroutine, for each WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0" SRC="img4.png" ALT="$i$"> we have in $ix(i)$ the position that the item ; thus, upon return from the subroutine, for each $flag = psb\_sort\_keep\_idx\_$ --> $flag = psb\_sort\_keep\_idx\_$ the routine will assume that the entries in $ix(:)$ have already been initialized by the user;
    2. @@ -238,7 +238,7 @@ i$">; thus, upon return from the subroutine, for each
      1. The worst case running time for quicksort is $O(n^2)$; the algorithm implemented here follows the well-known median-of-three heuristics, diff --git a/docs/html/node84.html b/docs/html/node84.html index 8a894345..9d26d790 100644 --- a/docs/html/node84.html +++ b/docs/html/node84.html @@ -106,7 +106,7 @@ Type: optional. Intent: in.
        Specified as: an integer array. Default: use the indices $(0\dots np-1)$. @@ -140,7 +140,7 @@ Specified as: an integer variable.
      2. A call to this routine must precede any other PSBLAS call.
      3. It is an error to specify a value for $np$ greater than the number of processes available in the underlying base parallel diff --git a/docs/html/node85.html b/docs/html/node85.html index ccb52670..c017ea99 100644 --- a/docs/html/node85.html +++ b/docs/html/node85.html @@ -103,7 +103,7 @@ Specified as: an integer value. $-1 \le iam \le np-1$
        np
        @@ -127,14 +127,14 @@ Specified as: an integer variable. $0 \le iam \le np-1$ --> $0 \le iam \le np-1$;
      4. If the user has requested on psb_init a number of processes less than the total available in the parallel execution environment, the remaining processes will have on return $iam=-1$; the only call involving icontxt that any such process may diff --git a/docs/html/node86.html b/docs/html/node86.html index f91933fa..071d7e8c 100644 --- a/docs/html/node86.html +++ b/docs/html/node86.html @@ -102,7 +102,7 @@ Specified as: a logical variable, default value: true.
        1. This routine may be called even if a previous call to psb_info has returned with $iam=-1$; indeed, it it is the only routine that may be called with argument icontxt in this diff --git a/docs/html/node88.html b/docs/html/node88.html index 541a72c7..f7fb114b 100644 --- a/docs/html/node88.html +++ b/docs/html/node88.html @@ -62,7 +62,7 @@ call psb_get_rank(rank, icontxt, id)

          This subroutine returns the MPI rank of the PSBLAS process $id$

          @@ -97,7 +97,7 @@ Specified as: an integer value. $0 \le id \le np-1$
          @@ -109,7 +109,7 @@ Specified as: an integer value. $0<= root <= np-1$, default 0 diff --git a/docs/html/node93.html b/docs/html/node93.html index 14fb5a6c..7bf272fb 100644 --- a/docs/html/node93.html +++ b/docs/html/node93.html @@ -96,7 +96,7 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
          root
          Process to hold the final sum, or $-1$ to make it available on all processes. @@ -111,7 +111,7 @@ Specified as: an integer value $-1<= root <= np-1$, default -1.
          diff --git a/docs/html/node94.html b/docs/html/node94.html index ceb94ddb..5d7fd1a5 100644 --- a/docs/html/node94.html +++ b/docs/html/node94.html @@ -96,7 +96,7 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
          root
          Process to hold the final maximum, or $-1$ to make it available on all processes. @@ -111,7 +111,7 @@ Specified as: an integer value $-1<= root <= np-1$, default -1.
          diff --git a/docs/html/node95.html b/docs/html/node95.html index c47442c5..1100582a 100644 --- a/docs/html/node95.html +++ b/docs/html/node95.html @@ -96,7 +96,7 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
          root
          Process to hold the final value, or $-1$ to make it available on all processes. @@ -111,7 +111,7 @@ Specified as: an integer value $-1<= root <= np-1$, default -1.
          diff --git a/docs/html/node96.html b/docs/html/node96.html index 0e499511..a8cc2dc9 100644 --- a/docs/html/node96.html +++ b/docs/html/node96.html @@ -96,7 +96,7 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
          root
          Process to hold the final value, or $-1$ to make it available on all processes. @@ -111,7 +111,7 @@ Specified as: an integer value $-1<= root <= np-1$, default -1.
          diff --git a/docs/html/node97.html b/docs/html/node97.html index 49aed441..c87cfbf5 100644 --- a/docs/html/node97.html +++ b/docs/html/node97.html @@ -96,7 +96,7 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
          root
          Process to hold the final value, or $-1$ to make it available on all processes. @@ -111,7 +111,7 @@ Specified as: an integer value $-1<= root <= np-1$, default -1.
          diff --git a/docs/html/node98.html b/docs/html/node98.html index 3d3f3021..4fe488b6 100644 --- a/docs/html/node98.html +++ b/docs/html/node98.html @@ -92,7 +92,7 @@ Intent: in.
          Specified as: an integer, real or complex variable, which may be a scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is not specified, size must agree as well. @@ -110,7 +110,7 @@ Specified as: an integer value $0<= dst <= np-1$.
          @@ -127,16 +127,16 @@ Specified as: an integer value $0<= m <= size(dat,1)$.
          When $dat$ is a rank 2 array, specifies the number of rows to be sent independently of the leading dimension $size(dat,1)$; must have the same value on sending and receiving processes. @@ -156,7 +156,7 @@ same value on sending and receiving processes.
          1. This subroutine implies a synchronization, but only between the calling process and the destination process $dst$.
          2. diff --git a/docs/html/node99.html b/docs/html/node99.html index 65072b55..0c466ac1 100644 --- a/docs/html/node99.html +++ b/docs/html/node99.html @@ -93,7 +93,7 @@ Specified as: an integer value $0<= src <= np-1$.
            @@ -110,16 +110,16 @@ Specified as: an integer value $0<= m <= size(dat,1)$.
            When $dat$ is a rank 2 array, specifies the number of rows to be sent independently of the leading dimension $size(dat,1)$; must have the same value on sending and receiving processes. @@ -142,7 +142,7 @@ Intent: inout.
            Specified as: an integer, real or complex variable, which may be a scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is not specified, size must agree as well. @@ -155,7 +155,7 @@ not specified, size must agree as well.
            1. This subroutine implies a synchronization, but only between the calling process and the source process $src$.
            2. diff --git a/docs/psblas-3.0.pdf b/docs/psblas-3.0.pdf index 7129628a..1e16c6a0 100644 --- a/docs/psblas-3.0.pdf +++ b/docs/psblas-3.0.pdf @@ -11043,7 +11043,7 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1061 0 obj << -/Length 1355 +/Length 1455 >> stream 0 g 0 G @@ -11059,9 +11059,9 @@ Q BT /F27 9.9626 Tf 125.024 706.129 Td [(x)]TJ 0 g 0 G -/F8 9.9626 Tf 11.028 0 Td [(The)-333(arra)27(y)-333(where)-333(the)-334(lo)-27(cal)-334(parts)-333(m)28(ust)-334(b)-27(e)-334(gathered.)]TJ -11.25 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(global)]TJ/F8 9.9626 Tf -32.379 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf -29.611 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ -50.035 -11.955 Td [(Sp)-28(eci\014ed)-333(as:)-445(a)-333(rank)-333(one)-333(or)-334(t)28(w)28(o)-334(arra)28(y)84(.)]TJ +/F8 9.9626 Tf 11.028 0 Td [(The)-333(arra)27(y)-333(where)-333(the)-334(lo)-27(cal)-334(parts)-333(m)28(ust)-334(b)-27(e)-334(gathered.)]TJ -11.25 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(global)]TJ/F8 9.9626 Tf -32.379 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf -29.611 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ -50.035 -11.955 Td [(Sp)-28(eci\014ed)-333(as:)-445(a)-333(rank)-333(one)-333(or)-334(t)28(w)28(o)-334(arra)28(y)-333(with)-333(the)]TJ/F30 9.9626 Tf 204.4 0 Td [(ALLOCATABLE)]TJ/F8 9.9626 Tf 60.855 0 Td [(attribute.)]TJ 0 g 0 G -/F27 9.9626 Tf -24.907 -19.925 Td [(info)]TJ +/F27 9.9626 Tf -290.162 -19.925 Td [(info)]TJ 0 g 0 G /F8 9.9626 Tf 23.758 0 Td [(Error)-333(co)-28(de.)]TJ 1.149 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf -32.379 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf -29.611 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ -50.035 -11.955 Td [(An)-333(in)28(tege)-1(r)-333(v)56(alue;)-334(0)-333(means)-333(no)-334(error)-333(has)-333(b)-28(een)-333(detecte)-1(d)1(.)]TJ 0 g 0 G @@ -11081,7 +11081,7 @@ endobj /D [1060 0 R /XYZ 99.895 740.998 null] >> endobj 1059 0 obj << -/Font << /F27 477 0 R /F8 478 0 R >> +/Font << /F27 477 0 R /F8 478 0 R /F30 664 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1067 0 obj << @@ -22133,8 +22133,8 @@ endobj >> endobj 1680 0 obj << /Title (Parallel Sparse BLAS V. 3.0-beta) /Subject (Parallel Sparse Basic Linear Algebra Subroutines) /Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners) /Creator (pdfLaTeX) /Producer ($Id: userguide.tex 5790 2012-03-01 15:24:09Z sfilippo $) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords() -/CreationDate (D:20120302132704+01'00') -/ModDate (D:20120302132704+01'00') +/CreationDate (D:20120316220232+01'00') +/ModDate (D:20120316220232+01'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) >> endobj @@ -22147,467 +22147,467 @@ xref 0000000000 00000 f 0000000015 00000 n 0000010974 00000 n -0000941590 00000 n +0000941703 00000 n 0000000058 00000 n 0000000105 00000 n 0000090845 00000 n -0000941518 00000 n +0000941631 00000 n 0000000150 00000 n 0000000183 00000 n 0000102455 00000 n -0000941395 00000 n +0000941508 00000 n 0000000229 00000 n 0000000266 00000 n 0000112288 00000 n -0000941321 00000 n +0000941434 00000 n 0000000317 00000 n 0000000358 00000 n 0000120627 00000 n -0000941234 00000 n +0000941347 00000 n 0000000409 00000 n 0000000448 00000 n 0000135891 00000 n -0000941147 00000 n +0000941260 00000 n 0000000499 00000 n 0000000543 00000 n 0000148351 00000 n -0000941073 00000 n +0000941186 00000 n 0000000594 00000 n 0000000634 00000 n 0000157373 00000 n -0000940948 00000 n +0000941061 00000 n 0000000680 00000 n 0000000728 00000 n 0000157433 00000 n -0000940837 00000 n +0000940950 00000 n 0000000779 00000 n 0000000827 00000 n 0000177136 00000 n -0000940763 00000 n +0000940876 00000 n 0000000883 00000 n 0000000915 00000 n 0000177197 00000 n -0000940676 00000 n +0000940789 00000 n 0000000962 00000 n 0000001002 00000 n 0000177258 00000 n -0000940589 00000 n +0000940702 00000 n 0000001049 00000 n 0000001089 00000 n 0000177319 00000 n -0000940502 00000 n +0000940615 00000 n 0000001136 00000 n 0000001177 00000 n 0000181980 00000 n -0000940415 00000 n +0000940528 00000 n 0000001224 00000 n 0000001265 00000 n 0000182040 00000 n -0000940328 00000 n +0000940441 00000 n 0000001312 00000 n 0000001345 00000 n 0000182100 00000 n -0000940241 00000 n +0000940354 00000 n 0000001392 00000 n 0000001449 00000 n 0000182160 00000 n -0000940154 00000 n +0000940267 00000 n 0000001496 00000 n 0000001553 00000 n 0000192885 00000 n -0000940080 00000 n +0000940193 00000 n 0000001609 00000 n 0000001649 00000 n 0000192946 00000 n -0000939954 00000 n +0000940067 00000 n 0000001700 00000 n 0000001742 00000 n 0000198439 00000 n -0000939880 00000 n +0000939993 00000 n 0000001798 00000 n 0000001830 00000 n 0000198499 00000 n -0000939793 00000 n +0000939906 00000 n 0000001877 00000 n 0000001908 00000 n 0000198559 00000 n -0000939706 00000 n +0000939819 00000 n 0000001956 00000 n 0000001987 00000 n 0000202509 00000 n -0000939619 00000 n +0000939732 00000 n 0000002035 00000 n 0000002068 00000 n 0000202632 00000 n -0000939530 00000 n +0000939643 00000 n 0000002116 00000 n 0000002147 00000 n 0000206730 00000 n -0000939439 00000 n +0000939552 00000 n 0000002196 00000 n 0000002222 00000 n 0000206791 00000 n -0000939347 00000 n +0000939460 00000 n 0000002271 00000 n 0000002301 00000 n 0000206852 00000 n -0000939255 00000 n +0000939368 00000 n 0000002350 00000 n 0000002401 00000 n 0000215485 00000 n -0000939177 00000 n +0000939290 00000 n 0000002458 00000 n 0000002499 00000 n 0000215547 00000 n -0000939047 00000 n +0000939160 00000 n 0000002551 00000 n 0000002602 00000 n 0000215731 00000 n -0000938968 00000 n +0000939081 00000 n 0000002659 00000 n 0000002692 00000 n 0000215793 00000 n -0000938875 00000 n +0000938988 00000 n 0000002741 00000 n 0000002778 00000 n 0000219786 00000 n -0000938782 00000 n +0000938895 00000 n 0000002827 00000 n 0000002858 00000 n 0000219847 00000 n -0000938703 00000 n +0000938816 00000 n 0000002907 00000 n 0000002943 00000 n 0000222733 00000 n -0000938625 00000 n +0000938738 00000 n 0000002995 00000 n 0000003048 00000 n 0000223425 00000 n -0000938495 00000 n +0000938608 00000 n 0000003095 00000 n 0000003139 00000 n 0000232087 00000 n -0000938416 00000 n +0000938529 00000 n 0000003188 00000 n 0000003222 00000 n 0000244925 00000 n -0000938323 00000 n +0000938436 00000 n 0000003271 00000 n 0000003303 00000 n 0000255755 00000 n -0000938230 00000 n +0000938343 00000 n 0000003352 00000 n 0000003385 00000 n 0000264730 00000 n -0000938137 00000 n +0000938250 00000 n 0000003434 00000 n 0000003467 00000 n 0000272051 00000 n -0000938044 00000 n +0000938157 00000 n 0000003516 00000 n 0000003550 00000 n 0000279712 00000 n -0000937951 00000 n +0000938064 00000 n 0000003599 00000 n 0000003632 00000 n 0000288035 00000 n -0000937858 00000 n +0000937971 00000 n 0000003681 00000 n 0000003715 00000 n 0000296701 00000 n -0000937765 00000 n +0000937878 00000 n 0000003764 00000 n 0000003798 00000 n 0000303858 00000 n -0000937672 00000 n +0000937785 00000 n 0000003847 00000 n 0000003881 00000 n 0000310151 00000 n -0000937579 00000 n +0000937692 00000 n 0000003930 00000 n 0000003963 00000 n 0000316451 00000 n -0000937486 00000 n +0000937599 00000 n 0000004012 00000 n 0000004045 00000 n 0000324933 00000 n -0000937393 00000 n +0000937506 00000 n 0000004094 00000 n 0000004125 00000 n 0000341210 00000 n -0000937314 00000 n +0000937427 00000 n 0000004174 00000 n 0000004205 00000 n 0000357196 00000 n -0000937184 00000 n +0000937297 00000 n 0000004252 00000 n 0000004296 00000 n 0000364625 00000 n -0000937105 00000 n +0000937218 00000 n 0000004345 00000 n 0000004376 00000 n 0000385645 00000 n -0000937012 00000 n +0000937125 00000 n 0000004425 00000 n 0000004456 00000 n 0000410626 00000 n -0000936919 00000 n +0000937032 00000 n 0000004505 00000 n 0000004538 00000 n -0000420230 00000 n -0000936840 00000 n +0000420343 00000 n +0000936953 00000 n 0000004587 00000 n 0000004621 00000 n -0000429530 00000 n -0000936709 00000 n +0000429643 00000 n +0000936822 00000 n 0000004668 00000 n 0000004714 00000 n -0000429593 00000 n -0000936630 00000 n +0000429706 00000 n +0000936743 00000 n 0000004763 00000 n 0000004795 00000 n -0000454352 00000 n -0000936537 00000 n +0000454465 00000 n +0000936650 00000 n 0000004844 00000 n 0000004876 00000 n -0000458737 00000 n -0000936444 00000 n +0000458850 00000 n +0000936557 00000 n 0000004925 00000 n 0000004957 00000 n -0000462828 00000 n -0000936351 00000 n +0000462941 00000 n +0000936464 00000 n 0000005006 00000 n 0000005038 00000 n -0000465662 00000 n -0000936258 00000 n +0000465775 00000 n +0000936371 00000 n 0000005087 00000 n 0000005120 00000 n -0000472326 00000 n -0000936165 00000 n +0000472439 00000 n +0000936278 00000 n 0000005169 00000 n 0000005204 00000 n -0000480038 00000 n -0000936072 00000 n +0000480151 00000 n +0000936185 00000 n 0000005253 00000 n 0000005285 00000 n -0000487826 00000 n -0000935979 00000 n +0000487939 00000 n +0000936092 00000 n 0000005334 00000 n 0000005366 00000 n -0000498985 00000 n -0000935886 00000 n +0000499098 00000 n +0000935999 00000 n 0000005415 00000 n 0000005447 00000 n -0000505790 00000 n -0000935793 00000 n +0000505903 00000 n +0000935906 00000 n 0000005496 00000 n 0000005529 00000 n -0000510515 00000 n -0000935700 00000 n +0000510628 00000 n +0000935813 00000 n 0000005578 00000 n 0000005609 00000 n -0000516435 00000 n -0000935607 00000 n +0000516548 00000 n +0000935720 00000 n 0000005658 00000 n 0000005690 00000 n -0000523839 00000 n -0000935514 00000 n +0000523952 00000 n +0000935627 00000 n 0000005739 00000 n 0000005771 00000 n -0000530985 00000 n -0000935421 00000 n +0000531098 00000 n +0000935534 00000 n 0000005820 00000 n 0000005852 00000 n -0000535124 00000 n -0000935328 00000 n +0000535237 00000 n +0000935441 00000 n 0000005901 00000 n 0000005934 00000 n -0000538981 00000 n -0000935235 00000 n +0000539094 00000 n +0000935348 00000 n 0000005983 00000 n 0000006014 00000 n -0000546138 00000 n -0000935142 00000 n +0000546251 00000 n +0000935255 00000 n 0000006063 00000 n 0000006107 00000 n -0000553628 00000 n -0000935049 00000 n +0000553741 00000 n +0000935162 00000 n 0000006156 00000 n 0000006200 00000 n -0000557504 00000 n -0000934956 00000 n +0000557617 00000 n +0000935069 00000 n 0000006249 00000 n 0000006287 00000 n -0000563145 00000 n -0000934863 00000 n +0000563258 00000 n +0000934976 00000 n 0000006336 00000 n 0000006377 00000 n -0000567052 00000 n -0000934770 00000 n +0000567165 00000 n +0000934883 00000 n 0000006426 00000 n 0000006464 00000 n -0000572677 00000 n -0000934677 00000 n +0000572790 00000 n +0000934790 00000 n 0000006513 00000 n 0000006554 00000 n -0000577147 00000 n -0000934584 00000 n +0000577260 00000 n +0000934697 00000 n 0000006603 00000 n 0000006645 00000 n -0000581520 00000 n -0000934491 00000 n +0000581633 00000 n +0000934604 00000 n 0000006694 00000 n 0000006735 00000 n -0000588025 00000 n -0000934398 00000 n +0000588138 00000 n +0000934511 00000 n 0000006784 00000 n 0000006823 00000 n -0000597334 00000 n -0000934305 00000 n +0000597447 00000 n +0000934418 00000 n 0000006872 00000 n 0000006905 00000 n -0000603520 00000 n -0000934226 00000 n +0000603633 00000 n +0000934339 00000 n 0000006954 00000 n 0000006991 00000 n -0000612068 00000 n -0000934095 00000 n +0000612181 00000 n +0000934208 00000 n 0000007038 00000 n 0000007089 00000 n -0000618035 00000 n -0000934016 00000 n +0000618148 00000 n +0000934129 00000 n 0000007138 00000 n 0000007169 00000 n -0000623254 00000 n -0000933923 00000 n +0000623367 00000 n +0000934036 00000 n 0000007218 00000 n 0000007249 00000 n -0000628179 00000 n -0000933830 00000 n +0000628292 00000 n +0000933943 00000 n 0000007298 00000 n 0000007329 00000 n -0000630976 00000 n -0000933737 00000 n +0000631089 00000 n +0000933850 00000 n 0000007378 00000 n 0000007419 00000 n -0000634419 00000 n -0000933644 00000 n +0000634532 00000 n +0000933757 00000 n 0000007468 00000 n 0000007506 00000 n -0000636044 00000 n -0000933551 00000 n +0000636157 00000 n +0000933664 00000 n 0000007555 00000 n 0000007587 00000 n -0000637936 00000 n -0000933458 00000 n +0000638049 00000 n +0000933571 00000 n 0000007636 00000 n 0000007670 00000 n -0000639714 00000 n -0000933365 00000 n +0000639827 00000 n +0000933478 00000 n 0000007719 00000 n 0000007751 00000 n -0000644666 00000 n -0000933272 00000 n +0000644779 00000 n +0000933385 00000 n 0000007800 00000 n 0000007832 00000 n -0000650257 00000 n -0000933179 00000 n +0000650370 00000 n +0000933292 00000 n 0000007881 00000 n 0000007911 00000 n -0000656013 00000 n -0000933086 00000 n +0000656126 00000 n +0000933199 00000 n 0000007960 00000 n 0000007990 00000 n -0000661746 00000 n -0000932993 00000 n +0000661859 00000 n +0000933106 00000 n 0000008039 00000 n 0000008069 00000 n -0000667594 00000 n -0000932900 00000 n +0000667707 00000 n +0000933013 00000 n 0000008118 00000 n 0000008148 00000 n -0000673415 00000 n -0000932807 00000 n +0000673528 00000 n +0000932920 00000 n 0000008197 00000 n 0000008227 00000 n -0000679355 00000 n -0000932714 00000 n +0000679468 00000 n +0000932827 00000 n 0000008276 00000 n 0000008306 00000 n -0000685215 00000 n -0000932635 00000 n +0000685328 00000 n +0000932748 00000 n 0000008355 00000 n 0000008385 00000 n -0000692461 00000 n -0000932505 00000 n +0000692574 00000 n +0000932618 00000 n 0000008432 00000 n 0000008468 00000 n -0000700152 00000 n -0000932426 00000 n +0000700265 00000 n +0000932539 00000 n 0000008517 00000 n 0000008551 00000 n -0000701722 00000 n -0000932333 00000 n +0000701835 00000 n +0000932446 00000 n 0000008600 00000 n 0000008632 00000 n -0000703391 00000 n -0000932240 00000 n +0000703504 00000 n +0000932353 00000 n 0000008681 00000 n 0000008727 00000 n -0000705521 00000 n -0000932161 00000 n +0000705634 00000 n +0000932274 00000 n 0000008776 00000 n 0000008819 00000 n -0000706467 00000 n -0000932031 00000 n +0000706580 00000 n +0000932144 00000 n 0000008866 00000 n 0000008897 00000 n -0000711488 00000 n -0000931927 00000 n +0000711601 00000 n +0000932040 00000 n 0000008946 00000 n 0000008976 00000 n -0000716937 00000 n -0000931848 00000 n +0000717050 00000 n +0000931961 00000 n 0000009025 00000 n 0000009056 00000 n -0000720763 00000 n -0000931755 00000 n +0000720876 00000 n +0000931868 00000 n 0000009105 00000 n 0000009142 00000 n -0000724446 00000 n -0000931662 00000 n +0000724559 00000 n +0000931775 00000 n 0000009191 00000 n 0000009229 00000 n -0000728748 00000 n -0000931583 00000 n +0000728861 00000 n +0000931696 00000 n 0000009278 00000 n 0000009316 00000 n -0000730080 00000 n -0000931453 00000 n +0000730193 00000 n +0000931566 00000 n 0000009364 00000 n 0000009410 00000 n -0000735479 00000 n -0000931374 00000 n +0000735592 00000 n +0000931487 00000 n 0000009459 00000 n 0000009494 00000 n -0000743820 00000 n -0000931281 00000 n +0000743933 00000 n +0000931394 00000 n 0000009543 00000 n 0000009577 00000 n -0000750875 00000 n -0000931188 00000 n +0000750988 00000 n +0000931301 00000 n 0000009626 00000 n 0000009661 00000 n -0000753463 00000 n -0000931109 00000 n +0000753576 00000 n +0000931222 00000 n 0000009710 00000 n 0000009746 00000 n -0000754481 00000 n -0000930993 00000 n +0000754594 00000 n +0000931106 00000 n 0000009794 00000 n 0000009834 00000 n -0000763091 00000 n -0000930928 00000 n +0000763204 00000 n +0000931041 00000 n 0000009883 00000 n 0000009909 00000 n 0000010733 00000 n @@ -22615,11 +22615,11 @@ xref 0000009961 00000 n 0000010852 00000 n 0000010913 00000 n -0000925303 00000 n -0000927040 00000 n -0000925157 00000 n -0000925886 00000 n -0000927477 00000 n +0000925416 00000 n +0000927153 00000 n +0000925270 00000 n +0000925999 00000 n +0000927590 00000 n 0000011460 00000 n 0000011279 00000 n 0000011143 00000 n @@ -22769,18 +22769,18 @@ xref 0000090905 00000 n 0000089085 00000 n 0000080508 00000 n -0000926894 00000 n -0000927595 00000 n -0000785482 00000 n -0000781637 00000 n -0000781016 00000 n -0000785545 00000 n -0000785419 00000 n -0000781450 00000 n -0000781512 00000 n -0000785356 00000 n -0000781264 00000 n -0000781326 00000 n +0000927007 00000 n +0000927708 00000 n +0000785595 00000 n +0000781750 00000 n +0000781129 00000 n +0000785658 00000 n +0000785532 00000 n +0000781563 00000 n +0000781625 00000 n +0000785469 00000 n +0000781377 00000 n +0000781439 00000 n 0000102000 00000 n 0000102150 00000 n 0000102303 00000 n @@ -22789,7 +22789,7 @@ xref 0000102576 00000 n 0000096642 00000 n 0000091002 00000 n -0000925449 00000 n +0000925562 00000 n 0000102516 00000 n 0000098007 00000 n 0000098253 00000 n @@ -22797,22 +22797,22 @@ xref 0000098693 00000 n 0000098714 00000 n 0000099021 00000 n -0000781388 00000 n +0000781501 00000 n 0000111920 00000 n 0000112074 00000 n 0000112472 00000 n 0000111614 00000 n 0000102701 00000 n 0000112227 00000 n -0000927186 00000 n -0000926174 00000 n -0000925741 00000 n -0000926606 00000 n -0000926031 00000 n +0000927299 00000 n +0000926287 00000 n +0000925854 00000 n +0000926719 00000 n +0000926144 00000 n 0000112348 00000 n -0000926317 00000 n +0000926430 00000 n 0000112410 00000 n -0000785293 00000 n +0000785406 00000 n 0000120197 00000 n 0000120350 00000 n 0000118226 00000 n @@ -22825,8 +22825,8 @@ xref 0000120054 00000 n 0000120101 00000 n 0000120175 00000 n -0000781202 00000 n -0000781140 00000 n +0000781315 00000 n +0000781253 00000 n 0000126520 00000 n 0000126671 00000 n 0000126884 00000 n @@ -22837,7 +22837,7 @@ xref 0000135710 00000 n 0000126994 00000 n 0000135829 00000 n -0000925595 00000 n +0000925708 00000 n 0000135952 00000 n 0000136014 00000 n 0000136076 00000 n @@ -22863,7 +22863,7 @@ xref 0000144323 00000 n 0000144384 00000 n 0000144444 00000 n -0000927713 00000 n +0000927826 00000 n 0000148412 00000 n 0000148170 00000 n 0000144588 00000 n @@ -22907,7 +22907,7 @@ xref 0000181800 00000 n 0000177503 00000 n 0000181919 00000 n -0000927831 00000 n +0000927944 00000 n 0000192357 00000 n 0000192518 00000 n 0000192673 00000 n @@ -22917,7 +22917,7 @@ xref 0000192823 00000 n 0000193007 00000 n 0000193069 00000 n -0000785230 00000 n +0000785343 00000 n 0000198377 00000 n 0000198619 00000 n 0000198197 00000 n @@ -22947,13 +22947,13 @@ xref 0000215965 00000 n 0000219602 00000 n 0000219725 00000 n -0000927949 00000 n +0000928062 00000 n 0000222919 00000 n 0000222381 00000 n 0000220005 00000 n 0000222671 00000 n 0000222795 00000 n -0000927332 00000 n +0000927445 00000 n 0000222857 00000 n 0000223486 00000 n 0000223245 00000 n @@ -22992,7 +22992,7 @@ xref 0000245880 00000 n 0000245197 00000 n 0000245999 00000 n -0000928067 00000 n +0000928180 00000 n 0000254798 00000 n 0000254946 00000 n 0000255095 00000 n @@ -23040,7 +23040,7 @@ xref 0000279996 00000 n 0000287974 00000 n 0000288096 00000 n -0000928185 00000 n +0000928298 00000 n 0000289184 00000 n 0000289003 00000 n 0000288319 00000 n @@ -23074,7 +23074,7 @@ xref 0000315942 00000 n 0000310421 00000 n 0000316389 00000 n -0000926751 00000 n +0000926864 00000 n 0000316512 00000 n 0000324273 00000 n 0000324424 00000 n @@ -23089,7 +23089,7 @@ xref 0000325055 00000 n 0000325117 00000 n 0000325179 00000 n -0000928303 00000 n +0000928416 00000 n 0000332782 00000 n 0000332930 00000 n 0000333081 00000 n @@ -23138,7 +23138,7 @@ xref 0000357342 00000 n 0000364564 00000 n 0000364685 00000 n -0000928421 00000 n +0000928534 00000 n 0000373453 00000 n 0000369213 00000 n 0000373603 00000 n @@ -23156,7 +23156,7 @@ xref 0000377145 00000 n 0000374035 00000 n 0000377267 00000 n -0000926461 00000 n +0000926574 00000 n 0000385130 00000 n 0000385278 00000 n 0000385430 00000 n @@ -23185,7 +23185,7 @@ xref 0000397207 00000 n 0000396800 00000 n 0000401654 00000 n -0000928544 00000 n +0000928657 00000 n 0000401314 00000 n 0000401434 00000 n 0000401482 00000 n @@ -23199,633 +23199,633 @@ xref 0000401882 00000 n 0000410562 00000 n 0000410688 00000 n -0000412515 00000 n -0000412329 00000 n +0000412615 00000 n +0000412429 00000 n 0000410914 00000 n -0000412452 00000 n -0000420015 00000 n -0000422441 00000 n -0000420357 00000 n -0000419871 00000 n -0000412600 00000 n -0000420166 00000 n -0000420293 00000 n -0000422656 00000 n -0000422297 00000 n -0000420519 00000 n -0000422593 00000 n -0000429656 00000 n -0000429343 00000 n -0000422754 00000 n -0000429466 00000 n -0000436337 00000 n -0000436615 00000 n -0000436193 00000 n -0000429793 00000 n -0000436489 00000 n -0000436552 00000 n -0000928669 00000 n -0000447320 00000 n -0000446813 00000 n -0000436726 00000 n -0000446936 00000 n -0000447000 00000 n -0000447064 00000 n -0000447128 00000 n -0000447192 00000 n -0000447256 00000 n -0000448273 00000 n -0000448024 00000 n -0000447457 00000 n -0000448147 00000 n -0000448210 00000 n -0000454137 00000 n -0000454540 00000 n -0000453993 00000 n -0000448358 00000 n -0000454288 00000 n -0000454414 00000 n -0000454478 00000 n -0000458371 00000 n -0000458522 00000 n -0000458861 00000 n -0000458218 00000 n -0000454664 00000 n -0000458674 00000 n -0000458798 00000 n -0000462463 00000 n -0000462613 00000 n -0000462890 00000 n -0000462310 00000 n -0000458972 00000 n -0000462764 00000 n -0000465448 00000 n -0000465723 00000 n -0000465304 00000 n -0000463001 00000 n -0000465599 00000 n -0000928794 00000 n -0000471963 00000 n -0000472111 00000 n -0000472389 00000 n -0000471810 00000 n -0000465834 00000 n -0000472262 00000 n -0000474489 00000 n -0000474177 00000 n -0000472526 00000 n -0000474300 00000 n -0000474363 00000 n -0000474426 00000 n -0000479677 00000 n -0000479827 00000 n -0000480292 00000 n -0000479524 00000 n -0000474574 00000 n -0000479974 00000 n -0000480100 00000 n -0000480164 00000 n -0000480228 00000 n -0000487311 00000 n -0000487462 00000 n -0000487612 00000 n -0000487887 00000 n -0000487149 00000 n -0000480416 00000 n -0000487763 00000 n -0000491656 00000 n -0000491085 00000 n -0000488011 00000 n -0000491208 00000 n -0000491272 00000 n -0000491336 00000 n -0000491400 00000 n -0000491464 00000 n -0000491528 00000 n -0000491592 00000 n -0000498621 00000 n -0000498772 00000 n -0000499046 00000 n -0000498468 00000 n -0000491767 00000 n -0000498922 00000 n -0000928919 00000 n -0000502042 00000 n -0000501472 00000 n -0000499157 00000 n -0000501595 00000 n -0000501659 00000 n -0000501723 00000 n -0000501787 00000 n -0000501851 00000 n -0000501915 00000 n -0000501979 00000 n -0000505426 00000 n -0000505575 00000 n -0000505851 00000 n -0000505273 00000 n -0000502127 00000 n -0000505727 00000 n -0000510151 00000 n -0000510300 00000 n -0000510642 00000 n -0000509998 00000 n -0000505962 00000 n -0000510451 00000 n -0000510578 00000 n -0000516073 00000 n -0000516223 00000 n -0000516496 00000 n -0000515920 00000 n -0000510753 00000 n -0000516372 00000 n -0000523475 00000 n -0000523626 00000 n -0000523901 00000 n -0000523322 00000 n -0000516620 00000 n -0000523775 00000 n -0000524951 00000 n -0000524639 00000 n -0000524025 00000 n -0000524762 00000 n -0000524825 00000 n -0000524888 00000 n -0000929044 00000 n -0000530473 00000 n -0000530624 00000 n -0000530773 00000 n -0000531047 00000 n -0000530311 00000 n -0000525036 00000 n -0000530921 00000 n -0000534762 00000 n -0000534910 00000 n -0000535185 00000 n -0000534609 00000 n -0000531171 00000 n -0000535061 00000 n -0000539043 00000 n -0000538794 00000 n -0000535296 00000 n -0000538917 00000 n -0000545924 00000 n -0000546199 00000 n -0000545780 00000 n -0000539180 00000 n -0000546075 00000 n -0000547403 00000 n -0000547088 00000 n -0000546323 00000 n -0000547211 00000 n -0000547275 00000 n -0000547339 00000 n -0000553413 00000 n -0000553689 00000 n -0000553269 00000 n -0000547488 00000 n -0000553565 00000 n -0000929169 00000 n -0000557289 00000 n -0000557630 00000 n -0000557145 00000 n -0000553813 00000 n -0000557440 00000 n -0000557566 00000 n -0000562930 00000 n -0000563269 00000 n -0000562786 00000 n -0000557754 00000 n -0000563082 00000 n -0000563206 00000 n -0000566837 00000 n -0000567178 00000 n -0000566693 00000 n -0000563393 00000 n -0000566988 00000 n -0000567114 00000 n -0000572462 00000 n -0000572801 00000 n -0000572318 00000 n -0000567302 00000 n -0000572614 00000 n -0000572738 00000 n -0000576933 00000 n -0000577337 00000 n -0000576789 00000 n -0000572925 00000 n -0000577083 00000 n -0000577209 00000 n -0000577273 00000 n -0000581306 00000 n -0000581707 00000 n -0000581162 00000 n -0000577448 00000 n -0000581457 00000 n -0000581581 00000 n -0000581644 00000 n -0000929294 00000 n -0000587812 00000 n -0000588088 00000 n -0000587668 00000 n -0000581818 00000 n -0000587961 00000 n -0000592348 00000 n -0000591973 00000 n -0000588212 00000 n -0000592096 00000 n -0000592159 00000 n -0000592222 00000 n -0000592285 00000 n -0000596820 00000 n -0000596969 00000 n -0000597120 00000 n -0000597396 00000 n -0000596658 00000 n -0000592472 00000 n -0000597270 00000 n -0000603582 00000 n -0000603334 00000 n -0000597520 00000 n -0000603457 00000 n -0000611518 00000 n -0000610756 00000 n -0000603706 00000 n -0000610879 00000 n -0000610943 00000 n -0000611007 00000 n -0000611071 00000 n -0000611135 00000 n -0000611199 00000 n -0000611263 00000 n -0000611326 00000 n -0000611390 00000 n -0000611454 00000 n -0000612130 00000 n -0000611882 00000 n -0000611641 00000 n -0000612005 00000 n -0000929419 00000 n -0000618225 00000 n -0000617848 00000 n -0000612215 00000 n -0000617971 00000 n -0000618097 00000 n -0000618161 00000 n -0000623441 00000 n -0000623068 00000 n -0000618362 00000 n -0000623191 00000 n -0000623316 00000 n -0000623378 00000 n -0000628433 00000 n -0000627992 00000 n -0000623578 00000 n -0000628115 00000 n -0000628241 00000 n -0000628305 00000 n -0000628369 00000 n -0000631037 00000 n -0000630790 00000 n -0000628570 00000 n -0000630913 00000 n -0000634481 00000 n -0000634232 00000 n -0000631148 00000 n -0000634355 00000 n -0000636105 00000 n -0000635858 00000 n -0000634618 00000 n -0000635981 00000 n -0000929544 00000 n -0000637998 00000 n -0000637749 00000 n -0000636216 00000 n -0000637872 00000 n -0000639775 00000 n -0000639528 00000 n -0000638109 00000 n -0000639651 00000 n -0000644728 00000 n -0000644479 00000 n -0000639886 00000 n -0000644602 00000 n -0000650444 00000 n -0000650071 00000 n -0000644865 00000 n -0000650194 00000 n -0000650318 00000 n -0000650381 00000 n -0000656203 00000 n -0000655826 00000 n -0000650581 00000 n -0000655949 00000 n -0000656075 00000 n -0000656139 00000 n -0000661933 00000 n -0000661560 00000 n -0000656340 00000 n -0000661683 00000 n -0000661807 00000 n -0000661870 00000 n -0000929669 00000 n -0000667784 00000 n -0000667407 00000 n -0000662070 00000 n -0000667530 00000 n -0000667656 00000 n -0000667720 00000 n -0000673602 00000 n -0000673229 00000 n -0000667921 00000 n -0000673352 00000 n -0000673476 00000 n -0000673539 00000 n -0000679480 00000 n -0000679168 00000 n -0000673739 00000 n -0000679291 00000 n -0000679417 00000 n -0000685338 00000 n -0000685029 00000 n -0000679617 00000 n -0000685152 00000 n -0000685276 00000 n -0000692095 00000 n -0000692245 00000 n -0000692524 00000 n -0000691942 00000 n -0000685475 00000 n -0000692397 00000 n -0000696721 00000 n -0000696785 00000 n -0000696849 00000 n -0000696535 00000 n -0000692622 00000 n -0000696658 00000 n -0000929794 00000 n -0000700214 00000 n -0000699965 00000 n -0000696947 00000 n -0000700088 00000 n -0000701784 00000 n -0000701536 00000 n -0000700325 00000 n -0000701659 00000 n -0000703454 00000 n -0000703204 00000 n -0000701895 00000 n -0000703327 00000 n -0000705583 00000 n -0000705335 00000 n -0000703565 00000 n -0000705458 00000 n -0000706530 00000 n -0000706280 00000 n -0000705694 00000 n -0000706403 00000 n -0000711275 00000 n -0000711550 00000 n -0000711131 00000 n -0000706628 00000 n -0000711425 00000 n -0000929919 00000 n -0000716724 00000 n -0000717000 00000 n -0000716580 00000 n -0000711661 00000 n -0000716873 00000 n -0000720550 00000 n -0000720825 00000 n -0000720406 00000 n -0000717111 00000 n -0000720700 00000 n -0000724509 00000 n -0000724259 00000 n -0000720936 00000 n -0000724382 00000 n -0000728535 00000 n -0000728810 00000 n -0000728391 00000 n -0000724620 00000 n -0000728685 00000 n -0000730143 00000 n -0000729893 00000 n -0000728921 00000 n -0000730016 00000 n -0000735109 00000 n -0000735261 00000 n -0000735603 00000 n -0000734956 00000 n -0000730254 00000 n -0000735416 00000 n -0000735540 00000 n -0000930044 00000 n -0000743153 00000 n -0000743302 00000 n -0000743452 00000 n -0000743604 00000 n -0000743882 00000 n -0000742982 00000 n -0000735765 00000 n -0000743756 00000 n -0000750212 00000 n -0000750363 00000 n -0000750511 00000 n -0000750663 00000 n -0000750936 00000 n -0000750041 00000 n -0000743993 00000 n -0000750812 00000 n -0000753247 00000 n -0000753526 00000 n -0000753103 00000 n -0000751047 00000 n -0000753399 00000 n -0000754543 00000 n -0000754295 00000 n -0000753637 00000 n -0000754418 00000 n -0000762580 00000 n -0000762729 00000 n -0000762879 00000 n -0000770231 00000 n -0000763153 00000 n -0000762418 00000 n -0000754641 00000 n -0000763027 00000 n -0000770380 00000 n -0000770532 00000 n -0000770743 00000 n -0000770069 00000 n -0000763315 00000 n -0000770680 00000 n -0000930169 00000 n -0000773598 00000 n -0000773411 00000 n -0000770867 00000 n -0000773534 00000 n -0000781761 00000 n -0000780767 00000 n -0000773696 00000 n -0000780890 00000 n -0000780953 00000 n -0000781078 00000 n -0000781574 00000 n -0000781699 00000 n -0000785672 00000 n -0000785043 00000 n -0000781859 00000 n -0000785166 00000 n -0000785608 00000 n -0000785770 00000 n -0000786223 00000 n -0000786557 00000 n -0000786913 00000 n -0000786939 00000 n -0000787450 00000 n -0000787488 00000 n -0000788183 00000 n -0000788516 00000 n -0000788596 00000 n -0000788976 00000 n -0000789618 00000 n -0000790282 00000 n -0000790910 00000 n -0000791553 00000 n -0000791843 00000 n -0000792496 00000 n -0000806584 00000 n -0000807015 00000 n -0000819414 00000 n -0000819842 00000 n -0000830949 00000 n -0000831284 00000 n -0000833370 00000 n -0000833592 00000 n -0000837783 00000 n -0000838026 00000 n -0000855014 00000 n -0000855549 00000 n -0000857825 00000 n -0000858057 00000 n -0000860440 00000 n -0000860678 00000 n -0000870360 00000 n -0000870737 00000 n -0000876727 00000 n -0000877047 00000 n -0000881097 00000 n -0000881441 00000 n -0000883064 00000 n -0000883300 00000 n -0000897105 00000 n -0000897484 00000 n -0000903757 00000 n -0000904025 00000 n -0000917517 00000 n -0000918006 00000 n -0000924813 00000 n -0000930276 00000 n -0000930396 00000 n -0000930519 00000 n -0000930645 00000 n -0000930762 00000 n -0000930854 00000 n -0000941689 00000 n -0000941876 00000 n -0000942061 00000 n -0000942241 00000 n -0000942412 00000 n -0000942582 00000 n -0000942753 00000 n -0000942922 00000 n -0000943095 00000 n -0000943272 00000 n -0000943447 00000 n -0000943624 00000 n -0000943799 00000 n -0000943976 00000 n -0000944151 00000 n -0000944328 00000 n -0000944503 00000 n -0000944680 00000 n -0000944854 00000 n -0000945036 00000 n -0000945239 00000 n -0000945470 00000 n -0000945691 00000 n -0000945879 00000 n -0000946059 00000 n -0000946239 00000 n -0000946424 00000 n -0000946607 00000 n -0000946792 00000 n -0000946975 00000 n -0000947160 00000 n -0000947333 00000 n -0000947503 00000 n -0000947674 00000 n -0000947844 00000 n -0000948015 00000 n -0000948185 00000 n -0000948359 00000 n -0000948536 00000 n -0000948711 00000 n -0000948888 00000 n -0000949063 00000 n -0000949240 00000 n -0000949415 00000 n -0000949592 00000 n -0000949767 00000 n -0000949944 00000 n -0000950121 00000 n -0000950321 00000 n -0000950522 00000 n -0000950725 00000 n -0000950926 00000 n -0000951129 00000 n -0000951330 00000 n -0000951533 00000 n -0000951734 00000 n -0000951937 00000 n -0000952137 00000 n -0000952337 00000 n -0000952540 00000 n -0000952741 00000 n -0000952944 00000 n -0000953145 00000 n -0000953343 00000 n -0000953528 00000 n -0000953726 00000 n -0000953949 00000 n -0000954189 00000 n -0000954369 00000 n -0000954545 00000 n -0000954718 00000 n -0000954793 00000 n -0000954911 00000 n -0000955026 00000 n -0000955142 00000 n -0000955259 00000 n -0000955377 00000 n -0000955493 00000 n -0000955609 00000 n -0000955729 00000 n -0000955853 00000 n -0000955977 00000 n -0000956104 00000 n -0000956221 00000 n -0000956339 00000 n -0000956453 00000 n -0000956533 00000 n -0000956573 00000 n -0000956810 00000 n +0000412552 00000 n +0000420128 00000 n +0000422554 00000 n +0000420470 00000 n +0000419984 00000 n +0000412713 00000 n +0000420279 00000 n +0000420406 00000 n +0000422769 00000 n +0000422410 00000 n +0000420632 00000 n +0000422706 00000 n +0000429769 00000 n +0000429456 00000 n +0000422867 00000 n +0000429579 00000 n +0000436450 00000 n +0000436728 00000 n +0000436306 00000 n +0000429906 00000 n +0000436602 00000 n +0000436665 00000 n +0000928782 00000 n +0000447433 00000 n +0000446926 00000 n +0000436839 00000 n +0000447049 00000 n +0000447113 00000 n +0000447177 00000 n +0000447241 00000 n +0000447305 00000 n +0000447369 00000 n +0000448386 00000 n +0000448137 00000 n +0000447570 00000 n +0000448260 00000 n +0000448323 00000 n +0000454250 00000 n +0000454653 00000 n +0000454106 00000 n +0000448471 00000 n +0000454401 00000 n +0000454527 00000 n +0000454591 00000 n +0000458484 00000 n +0000458635 00000 n +0000458974 00000 n +0000458331 00000 n +0000454777 00000 n +0000458787 00000 n +0000458911 00000 n +0000462576 00000 n +0000462726 00000 n +0000463003 00000 n +0000462423 00000 n +0000459085 00000 n +0000462877 00000 n +0000465561 00000 n +0000465836 00000 n +0000465417 00000 n +0000463114 00000 n +0000465712 00000 n +0000928907 00000 n +0000472076 00000 n +0000472224 00000 n +0000472502 00000 n +0000471923 00000 n +0000465947 00000 n +0000472375 00000 n +0000474602 00000 n +0000474290 00000 n +0000472639 00000 n +0000474413 00000 n +0000474476 00000 n +0000474539 00000 n +0000479790 00000 n +0000479940 00000 n +0000480405 00000 n +0000479637 00000 n +0000474687 00000 n +0000480087 00000 n +0000480213 00000 n +0000480277 00000 n +0000480341 00000 n +0000487424 00000 n +0000487575 00000 n +0000487725 00000 n +0000488000 00000 n +0000487262 00000 n +0000480529 00000 n +0000487876 00000 n +0000491769 00000 n +0000491198 00000 n +0000488124 00000 n +0000491321 00000 n +0000491385 00000 n +0000491449 00000 n +0000491513 00000 n +0000491577 00000 n +0000491641 00000 n +0000491705 00000 n +0000498734 00000 n +0000498885 00000 n +0000499159 00000 n +0000498581 00000 n +0000491880 00000 n +0000499035 00000 n +0000929032 00000 n +0000502155 00000 n +0000501585 00000 n +0000499270 00000 n +0000501708 00000 n +0000501772 00000 n +0000501836 00000 n +0000501900 00000 n +0000501964 00000 n +0000502028 00000 n +0000502092 00000 n +0000505539 00000 n +0000505688 00000 n +0000505964 00000 n +0000505386 00000 n +0000502240 00000 n +0000505840 00000 n +0000510264 00000 n +0000510413 00000 n +0000510755 00000 n +0000510111 00000 n +0000506075 00000 n +0000510564 00000 n +0000510691 00000 n +0000516186 00000 n +0000516336 00000 n +0000516609 00000 n +0000516033 00000 n +0000510866 00000 n +0000516485 00000 n +0000523588 00000 n +0000523739 00000 n +0000524014 00000 n +0000523435 00000 n +0000516733 00000 n +0000523888 00000 n +0000525064 00000 n +0000524752 00000 n +0000524138 00000 n +0000524875 00000 n +0000524938 00000 n +0000525001 00000 n +0000929157 00000 n +0000530586 00000 n +0000530737 00000 n +0000530886 00000 n +0000531160 00000 n +0000530424 00000 n +0000525149 00000 n +0000531034 00000 n +0000534875 00000 n +0000535023 00000 n +0000535298 00000 n +0000534722 00000 n +0000531284 00000 n +0000535174 00000 n +0000539156 00000 n +0000538907 00000 n +0000535409 00000 n +0000539030 00000 n +0000546037 00000 n +0000546312 00000 n +0000545893 00000 n +0000539293 00000 n +0000546188 00000 n +0000547516 00000 n +0000547201 00000 n +0000546436 00000 n +0000547324 00000 n +0000547388 00000 n +0000547452 00000 n +0000553526 00000 n +0000553802 00000 n +0000553382 00000 n +0000547601 00000 n +0000553678 00000 n +0000929282 00000 n +0000557402 00000 n +0000557743 00000 n +0000557258 00000 n +0000553926 00000 n +0000557553 00000 n +0000557679 00000 n +0000563043 00000 n +0000563382 00000 n +0000562899 00000 n +0000557867 00000 n +0000563195 00000 n +0000563319 00000 n +0000566950 00000 n +0000567291 00000 n +0000566806 00000 n +0000563506 00000 n +0000567101 00000 n +0000567227 00000 n +0000572575 00000 n +0000572914 00000 n +0000572431 00000 n +0000567415 00000 n +0000572727 00000 n +0000572851 00000 n +0000577046 00000 n +0000577450 00000 n +0000576902 00000 n +0000573038 00000 n +0000577196 00000 n +0000577322 00000 n +0000577386 00000 n +0000581419 00000 n +0000581820 00000 n +0000581275 00000 n +0000577561 00000 n +0000581570 00000 n +0000581694 00000 n +0000581757 00000 n +0000929407 00000 n +0000587925 00000 n +0000588201 00000 n +0000587781 00000 n +0000581931 00000 n +0000588074 00000 n +0000592461 00000 n +0000592086 00000 n +0000588325 00000 n +0000592209 00000 n +0000592272 00000 n +0000592335 00000 n +0000592398 00000 n +0000596933 00000 n +0000597082 00000 n +0000597233 00000 n +0000597509 00000 n +0000596771 00000 n +0000592585 00000 n +0000597383 00000 n +0000603695 00000 n +0000603447 00000 n +0000597633 00000 n +0000603570 00000 n +0000611631 00000 n +0000610869 00000 n +0000603819 00000 n +0000610992 00000 n +0000611056 00000 n +0000611120 00000 n +0000611184 00000 n +0000611248 00000 n +0000611312 00000 n +0000611376 00000 n +0000611439 00000 n +0000611503 00000 n +0000611567 00000 n +0000612243 00000 n +0000611995 00000 n +0000611754 00000 n +0000612118 00000 n +0000929532 00000 n +0000618338 00000 n +0000617961 00000 n +0000612328 00000 n +0000618084 00000 n +0000618210 00000 n +0000618274 00000 n +0000623554 00000 n +0000623181 00000 n +0000618475 00000 n +0000623304 00000 n +0000623429 00000 n +0000623491 00000 n +0000628546 00000 n +0000628105 00000 n +0000623691 00000 n +0000628228 00000 n +0000628354 00000 n +0000628418 00000 n +0000628482 00000 n +0000631150 00000 n +0000630903 00000 n +0000628683 00000 n +0000631026 00000 n +0000634594 00000 n +0000634345 00000 n +0000631261 00000 n +0000634468 00000 n +0000636218 00000 n +0000635971 00000 n +0000634731 00000 n +0000636094 00000 n +0000929657 00000 n +0000638111 00000 n +0000637862 00000 n +0000636329 00000 n +0000637985 00000 n +0000639888 00000 n +0000639641 00000 n +0000638222 00000 n +0000639764 00000 n +0000644841 00000 n +0000644592 00000 n +0000639999 00000 n +0000644715 00000 n +0000650557 00000 n +0000650184 00000 n +0000644978 00000 n +0000650307 00000 n +0000650431 00000 n +0000650494 00000 n +0000656316 00000 n +0000655939 00000 n +0000650694 00000 n +0000656062 00000 n +0000656188 00000 n +0000656252 00000 n +0000662046 00000 n +0000661673 00000 n +0000656453 00000 n +0000661796 00000 n +0000661920 00000 n +0000661983 00000 n +0000929782 00000 n +0000667897 00000 n +0000667520 00000 n +0000662183 00000 n +0000667643 00000 n +0000667769 00000 n +0000667833 00000 n +0000673715 00000 n +0000673342 00000 n +0000668034 00000 n +0000673465 00000 n +0000673589 00000 n +0000673652 00000 n +0000679593 00000 n +0000679281 00000 n +0000673852 00000 n +0000679404 00000 n +0000679530 00000 n +0000685451 00000 n +0000685142 00000 n +0000679730 00000 n +0000685265 00000 n +0000685389 00000 n +0000692208 00000 n +0000692358 00000 n +0000692637 00000 n +0000692055 00000 n +0000685588 00000 n +0000692510 00000 n +0000696834 00000 n +0000696898 00000 n +0000696962 00000 n +0000696648 00000 n +0000692735 00000 n +0000696771 00000 n +0000929907 00000 n +0000700327 00000 n +0000700078 00000 n +0000697060 00000 n +0000700201 00000 n +0000701897 00000 n +0000701649 00000 n +0000700438 00000 n +0000701772 00000 n +0000703567 00000 n +0000703317 00000 n +0000702008 00000 n +0000703440 00000 n +0000705696 00000 n +0000705448 00000 n +0000703678 00000 n +0000705571 00000 n +0000706643 00000 n +0000706393 00000 n +0000705807 00000 n +0000706516 00000 n +0000711388 00000 n +0000711663 00000 n +0000711244 00000 n +0000706741 00000 n +0000711538 00000 n +0000930032 00000 n +0000716837 00000 n +0000717113 00000 n +0000716693 00000 n +0000711774 00000 n +0000716986 00000 n +0000720663 00000 n +0000720938 00000 n +0000720519 00000 n +0000717224 00000 n +0000720813 00000 n +0000724622 00000 n +0000724372 00000 n +0000721049 00000 n +0000724495 00000 n +0000728648 00000 n +0000728923 00000 n +0000728504 00000 n +0000724733 00000 n +0000728798 00000 n +0000730256 00000 n +0000730006 00000 n +0000729034 00000 n +0000730129 00000 n +0000735222 00000 n +0000735374 00000 n +0000735716 00000 n +0000735069 00000 n +0000730367 00000 n +0000735529 00000 n +0000735653 00000 n +0000930157 00000 n +0000743266 00000 n +0000743415 00000 n +0000743565 00000 n +0000743717 00000 n +0000743995 00000 n +0000743095 00000 n +0000735878 00000 n +0000743869 00000 n +0000750325 00000 n +0000750476 00000 n +0000750624 00000 n +0000750776 00000 n +0000751049 00000 n +0000750154 00000 n +0000744106 00000 n +0000750925 00000 n +0000753360 00000 n +0000753639 00000 n +0000753216 00000 n +0000751160 00000 n +0000753512 00000 n +0000754656 00000 n +0000754408 00000 n +0000753750 00000 n +0000754531 00000 n +0000762693 00000 n +0000762842 00000 n +0000762992 00000 n +0000770344 00000 n +0000763266 00000 n +0000762531 00000 n +0000754754 00000 n +0000763140 00000 n +0000770493 00000 n +0000770645 00000 n +0000770856 00000 n +0000770182 00000 n +0000763428 00000 n +0000770793 00000 n +0000930282 00000 n +0000773711 00000 n +0000773524 00000 n +0000770980 00000 n +0000773647 00000 n +0000781874 00000 n +0000780880 00000 n +0000773809 00000 n +0000781003 00000 n +0000781066 00000 n +0000781191 00000 n +0000781687 00000 n +0000781812 00000 n +0000785785 00000 n +0000785156 00000 n +0000781972 00000 n +0000785279 00000 n +0000785721 00000 n +0000785883 00000 n +0000786336 00000 n +0000786670 00000 n +0000787026 00000 n +0000787052 00000 n +0000787563 00000 n +0000787601 00000 n +0000788296 00000 n +0000788629 00000 n +0000788709 00000 n +0000789089 00000 n +0000789731 00000 n +0000790395 00000 n +0000791023 00000 n +0000791666 00000 n +0000791956 00000 n +0000792609 00000 n +0000806697 00000 n +0000807128 00000 n +0000819527 00000 n +0000819955 00000 n +0000831062 00000 n +0000831397 00000 n +0000833483 00000 n +0000833705 00000 n +0000837896 00000 n +0000838139 00000 n +0000855127 00000 n +0000855662 00000 n +0000857938 00000 n +0000858170 00000 n +0000860553 00000 n +0000860791 00000 n +0000870473 00000 n +0000870850 00000 n +0000876840 00000 n +0000877160 00000 n +0000881210 00000 n +0000881554 00000 n +0000883177 00000 n +0000883413 00000 n +0000897218 00000 n +0000897597 00000 n +0000903870 00000 n +0000904138 00000 n +0000917630 00000 n +0000918119 00000 n +0000924926 00000 n +0000930389 00000 n +0000930509 00000 n +0000930632 00000 n +0000930758 00000 n +0000930875 00000 n +0000930967 00000 n +0000941802 00000 n +0000941989 00000 n +0000942174 00000 n +0000942354 00000 n +0000942525 00000 n +0000942695 00000 n +0000942866 00000 n +0000943035 00000 n +0000943208 00000 n +0000943385 00000 n +0000943560 00000 n +0000943737 00000 n +0000943912 00000 n +0000944089 00000 n +0000944264 00000 n +0000944441 00000 n +0000944616 00000 n +0000944793 00000 n +0000944967 00000 n +0000945149 00000 n +0000945352 00000 n +0000945583 00000 n +0000945804 00000 n +0000945992 00000 n +0000946172 00000 n +0000946352 00000 n +0000946537 00000 n +0000946720 00000 n +0000946905 00000 n +0000947088 00000 n +0000947273 00000 n +0000947446 00000 n +0000947616 00000 n +0000947787 00000 n +0000947957 00000 n +0000948128 00000 n +0000948298 00000 n +0000948472 00000 n +0000948649 00000 n +0000948824 00000 n +0000949001 00000 n +0000949176 00000 n +0000949353 00000 n +0000949528 00000 n +0000949705 00000 n +0000949880 00000 n +0000950057 00000 n +0000950234 00000 n +0000950434 00000 n +0000950635 00000 n +0000950838 00000 n +0000951039 00000 n +0000951242 00000 n +0000951443 00000 n +0000951646 00000 n +0000951847 00000 n +0000952050 00000 n +0000952250 00000 n +0000952450 00000 n +0000952653 00000 n +0000952854 00000 n +0000953057 00000 n +0000953258 00000 n +0000953456 00000 n +0000953641 00000 n +0000953839 00000 n +0000954062 00000 n +0000954302 00000 n +0000954482 00000 n +0000954658 00000 n +0000954831 00000 n +0000954906 00000 n +0000955024 00000 n +0000955139 00000 n +0000955255 00000 n +0000955372 00000 n +0000955490 00000 n +0000955606 00000 n +0000955722 00000 n +0000955842 00000 n +0000955966 00000 n +0000956090 00000 n +0000956217 00000 n +0000956334 00000 n +0000956452 00000 n +0000956566 00000 n +0000956646 00000 n +0000956686 00000 n +0000956923 00000 n trailer << /Size 1681 /Root 1679 0 R /Info 1680 0 R -/ID [ ] >> +/ID [ ] >> startxref -957452 +957565 %%EOF diff --git a/docs/src/commrout.tex b/docs/src/commrout.tex index d2505ce6..d0070cbb 100644 --- a/docs/src/commrout.tex +++ b/docs/src/commrout.tex @@ -447,7 +447,7 @@ Specified as: an integer variable $-1\le root\le np-1$, default $-1$. Scope: {\bf global} \\ Type: {\bf required}\\ Intent: {\bf out}.\\ -Specified as: a rank one or two array. +Specified as: a rank one or two array with the \verb|ALLOCATABLE| attribute. \item[info] Error code.\\ Scope: {\bf local} \\ Type: {\bf required} \\
  • $x_i, y$ Subroutine