Change default in CDALL with VL: no global checks.

Split psb_cd_choose_large_state with psb_cd_is_large.
This commit is contained in:
Salvatore Filippone
2018-04-22 15:36:01 +01:00
parent 22b97ccfc8
commit 9e90a04e31
2 changed files with 22 additions and 16 deletions
+15 -5
View File
@@ -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)