|
|
|
@ -768,7 +768,7 @@ Contains
|
|
|
|
integer(psb_ipk_) :: info
|
|
|
|
integer(psb_ipk_) :: info
|
|
|
|
! ...Local Variables
|
|
|
|
! ...Local Variables
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: isz,err_act,lb
|
|
|
|
integer(psb_ipk_) :: isz,err_act,lb, i
|
|
|
|
character(len=30) :: name, char_err
|
|
|
|
character(len=30) :: name, char_err
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
|
|
@ -790,7 +790,11 @@ Contains
|
|
|
|
call psb_errpush(info,name,a_err=char_err)
|
|
|
|
call psb_errpush(info,name,a_err=char_err)
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
else
|
|
|
|
else
|
|
|
|
vout(:) = vin(:)
|
|
|
|
!$omp parallel do private(i)
|
|
|
|
|
|
|
|
do i=lb,lb+isz-1
|
|
|
|
|
|
|
|
vout(i) = vin(i)
|
|
|
|
|
|
|
|
end do
|
|
|
|
|
|
|
|
!$omp end parallel do
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
@ -836,7 +840,9 @@ Contains
|
|
|
|
call psb_errpush(info,name,a_err=char_err)
|
|
|
|
call psb_errpush(info,name,a_err=char_err)
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
else
|
|
|
|
else
|
|
|
|
|
|
|
|
!$omp workshare
|
|
|
|
vout(:,:) = vin(:,:)
|
|
|
|
vout(:,:) = vin(:,:)
|
|
|
|
|
|
|
|
!$omp end workshare
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
@ -991,24 +997,6 @@ Contains
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
!!$ If (len > psb_size(v)) Then
|
|
|
|
|
|
|
|
!!$ if (present(newsz)) then
|
|
|
|
|
|
|
|
!!$ isz = (max(len+1,newsz))
|
|
|
|
|
|
|
|
!!$ else
|
|
|
|
|
|
|
|
!!$ if (present(addsz)) then
|
|
|
|
|
|
|
|
!!$ isz = len+max(1,addsz)
|
|
|
|
|
|
|
|
!!$ else
|
|
|
|
|
|
|
|
!!$ isz = max(len+10, int(1.25*len))
|
|
|
|
|
|
|
|
!!$ endif
|
|
|
|
|
|
|
|
!!$ endif
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ call psb_realloc(isz,v,info,pad=pad)
|
|
|
|
|
|
|
|
!!$ if (info /= psb_success_) then
|
|
|
|
|
|
|
|
!!$ info=psb_err_from_subroutine_
|
|
|
|
|
|
|
|
!!$ call psb_errpush(info,name,a_err='psb_realloc')
|
|
|
|
|
|
|
|
!!$ goto 9999
|
|
|
|
|
|
|
|
!!$ End If
|
|
|
|
|
|
|
|
!!$ end If
|
|
|
|
|
|
|
|
isz = psb_size(v)
|
|
|
|
isz = psb_size(v)
|
|
|
|
If (len > isz) Then
|
|
|
|
If (len > isz) Then
|
|
|
|
#if defined(OPENMP)
|
|
|
|
#if defined(OPENMP)
|
|
|
|
@ -1017,7 +1005,7 @@ Contains
|
|
|
|
if (present(newsz)) then
|
|
|
|
if (present(newsz)) then
|
|
|
|
isz = max(len+1,1,newsz)
|
|
|
|
isz = max(len+1,1,newsz)
|
|
|
|
else if (present(addsz)) then
|
|
|
|
else if (present(addsz)) then
|
|
|
|
isz = max(len,1,isz+addsz))
|
|
|
|
isz = max(len,1,isz+addsz)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
isz = max(len,1,int(1.25*isz))
|
|
|
|
isz = max(len,1,int(1.25*isz))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|