|
|
@ -83,38 +83,38 @@ contains
|
|
|
|
end subroutine base_set_kind
|
|
|
|
end subroutine base_set_kind
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function base_is_ok(map) result(this)
|
|
|
|
function base_is_ok(map) result(res)
|
|
|
|
use psb_descriptor_type
|
|
|
|
use psb_descriptor_type
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
class(psb_base_linmap_type), intent(in) :: map
|
|
|
|
class(psb_base_linmap_type), intent(in) :: map
|
|
|
|
logical :: this
|
|
|
|
logical :: res
|
|
|
|
this = .false.
|
|
|
|
res = .false.
|
|
|
|
|
|
|
|
|
|
|
|
select case(map%get_kind())
|
|
|
|
select case(map%get_kind())
|
|
|
|
case (psb_map_aggr_)
|
|
|
|
case (psb_map_aggr_)
|
|
|
|
if (.not.associated(map%p_desc_X)) return
|
|
|
|
if (.not.associated(map%p_desc_X)) return
|
|
|
|
if (.not.associated(map%p_desc_Y)) return
|
|
|
|
if (.not.associated(map%p_desc_Y)) return
|
|
|
|
this = map%p_desc_X%is_ok().and.map%p_desc_Y%is_ok()
|
|
|
|
res = map%p_desc_X%is_ok().and.map%p_desc_Y%is_ok()
|
|
|
|
case(psb_map_gen_linear_)
|
|
|
|
case(psb_map_gen_linear_)
|
|
|
|
this = map%desc_X%is_ok().and.map%desc_Y%is_ok()
|
|
|
|
res = map%desc_X%is_ok().and.map%desc_Y%is_ok()
|
|
|
|
end select
|
|
|
|
end select
|
|
|
|
|
|
|
|
|
|
|
|
end function base_is_ok
|
|
|
|
end function base_is_ok
|
|
|
|
|
|
|
|
|
|
|
|
function base_is_asb(map) result(this)
|
|
|
|
function base_is_asb(map) result(res)
|
|
|
|
use psb_descriptor_type
|
|
|
|
use psb_descriptor_type
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
class(psb_base_linmap_type), intent(in) :: map
|
|
|
|
class(psb_base_linmap_type), intent(in) :: map
|
|
|
|
logical :: this
|
|
|
|
logical :: res
|
|
|
|
this = .false.
|
|
|
|
res = .false.
|
|
|
|
|
|
|
|
|
|
|
|
select case(map%get_kind())
|
|
|
|
select case(map%get_kind())
|
|
|
|
case (psb_map_aggr_)
|
|
|
|
case (psb_map_aggr_)
|
|
|
|
if (.not.associated(map%p_desc_X)) return
|
|
|
|
if (.not.associated(map%p_desc_X)) return
|
|
|
|
if (.not.associated(map%p_desc_Y)) return
|
|
|
|
if (.not.associated(map%p_desc_Y)) return
|
|
|
|
this = map%p_desc_X%is_asb().and.map%p_desc_Y%is_asb()
|
|
|
|
res = map%p_desc_X%is_asb().and.map%p_desc_Y%is_asb()
|
|
|
|
case(psb_map_gen_linear_)
|
|
|
|
case(psb_map_gen_linear_)
|
|
|
|
this = map%desc_X%is_asb().and.map%desc_Y%is_asb()
|
|
|
|
res = map%desc_X%is_asb().and.map%desc_Y%is_asb()
|
|
|
|
end select
|
|
|
|
end select
|
|
|
|
|
|
|
|
|
|
|
|
end function base_is_asb
|
|
|
|
end function base_is_asb
|
|
|
|