|
|
@ -1009,18 +1009,17 @@ Contains
|
|
|
|
!!$ goto 9999
|
|
|
|
!!$ goto 9999
|
|
|
|
!!$ End If
|
|
|
|
!!$ End If
|
|
|
|
!!$ end If
|
|
|
|
!!$ end If
|
|
|
|
If (len > psb_size(v)) Then
|
|
|
|
isz = psb_size(v)
|
|
|
|
|
|
|
|
If (len > isz) Then
|
|
|
|
#if defined(OPENMP)
|
|
|
|
#if defined(OPENMP)
|
|
|
|
!$OMP CRITICAL
|
|
|
|
!$OMP CRITICAL
|
|
|
|
if (len > psb_size(v)) then
|
|
|
|
if (len > isz) then
|
|
|
|
if (present(newsz)) then
|
|
|
|
if (present(newsz)) then
|
|
|
|
isz = (max(len+1,newsz))
|
|
|
|
isz = max(len+1,1,newsz)
|
|
|
|
|
|
|
|
else if (present(addsz)) then
|
|
|
|
|
|
|
|
isz = max(len,1,isz+addsz))
|
|
|
|
else
|
|
|
|
else
|
|
|
|
if (present(addsz)) then
|
|
|
|
isz = max(len,1,int(1.25*isz))
|
|
|
|
isz = len+max(1,addsz)
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
isz = max(len+10, int(1.25*len))
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
call psb_realloc(isz,v,info,pad=pad)
|
|
|
|
call psb_realloc(isz,v,info,pad=pad)
|
|
|
@ -1033,17 +1032,18 @@ Contains
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
if (present(newsz)) then
|
|
|
|
if (len > isz) then
|
|
|
|
isz = (max(len+1,newsz))
|
|
|
|
if (present(newsz)) then
|
|
|
|
else
|
|
|
|
isz = max(len+1,1,newsz)
|
|
|
|
if (present(addsz)) then
|
|
|
|
else if (present(addsz)) then
|
|
|
|
isz = len+max(1,addsz)
|
|
|
|
isz = max(len,1,isz+addsz)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
isz = max(len+10, int(1.25*len))
|
|
|
|
isz = max(len,1,int(1.25*isz))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_realloc(isz,v,info,pad=pad)
|
|
|
|
call psb_realloc(isz,v,info,pad=pad)
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
info=psb_err_from_subroutine_
|
|
|
|
info=psb_err_from_subroutine_
|
|
|
|
call psb_errpush(info,name,a_err='psb_realloc')
|
|
|
|
call psb_errpush(info,name,a_err='psb_realloc')
|
|
|
@ -1085,16 +1085,14 @@ Contains
|
|
|
|
info=psb_err_from_subroutine_
|
|
|
|
info=psb_err_from_subroutine_
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
isz = psb_size(v)
|
|
|
|
If (len > psb_size(v)) Then
|
|
|
|
If (len > isz) Then
|
|
|
|
if (present(newsz)) then
|
|
|
|
if (present(newsz)) then
|
|
|
|
isz = (max(len+1,newsz))
|
|
|
|
isz = max(len+1,1,newsz)
|
|
|
|
|
|
|
|
else if (present(addsz)) then
|
|
|
|
|
|
|
|
isz = max(len,1,isz+addsz)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
if (present(addsz)) then
|
|
|
|
isz = max(len,1,int(1.25*isz))
|
|
|
|
isz = len+max(1,addsz)
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
isz = max(len+10, int(1.25*len))
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
call psb_realloc(isz,v,info,pad=pad)
|
|
|
|
call psb_realloc(isz,v,info,pad=pad)
|
|
|
|