|
|
|
@ -334,11 +334,23 @@ contains
|
|
|
|
|
val = cd_large_threshold
|
|
|
|
|
end function psb_cd_get_large_threshold
|
|
|
|
|
|
|
|
|
|
logical function psb_cd_choose_large_state(ictxt,m)
|
|
|
|
|
function psb_cd_is_large_size(m) result(val)
|
|
|
|
|
use psb_penv_mod
|
|
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
integer(psb_ipk_), intent(in) :: ictxt,m
|
|
|
|
|
integer(psb_ipk_), intent(in) :: m
|
|
|
|
|
logical :: val
|
|
|
|
|
!locals
|
|
|
|
|
val = (m > psb_cd_get_large_threshold())
|
|
|
|
|
end function psb_cd_is_large_size
|
|
|
|
|
|
|
|
|
|
function psb_cd_choose_large_state(ictxt,m) result(val)
|
|
|
|
|
use psb_penv_mod
|
|
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
integer(psb_ipk_), intent(in) :: ictxt
|
|
|
|
|
integer(psb_ipk_), intent(in) :: m
|
|
|
|
|
logical :: val
|
|
|
|
|
!locals
|
|
|
|
|
integer(psb_ipk_) :: np,me
|
|
|
|
|
|
|
|
|
@ -348,9 +360,7 @@ contains
|
|
|
|
|
! it makes no sense to use them if you don't have at least
|
|
|
|
|
! 3 processes, no matter what the size of the process.
|
|
|
|
|
!
|
|
|
|
|
psb_cd_choose_large_state = &
|
|
|
|
|
& (m > psb_cd_get_large_threshold()) .and. &
|
|
|
|
|
& (np > 2)
|
|
|
|
|
val = psb_cd_is_large_size(m) .and. (np > 2)
|
|
|
|
|
end function psb_cd_choose_large_state
|
|
|
|
|
|
|
|
|
|
subroutine psb_nullify_desc(desc)
|
|
|
|
|