|
|
|
@ -140,11 +140,11 @@ contains
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_c_ipk_) :: res
|
|
|
|
integer(psb_c_ipk_) :: res
|
|
|
|
type(psb_c_object_type) :: ph,ah,cdh
|
|
|
|
type(psb_c_object_type) :: ph,ah,cdh
|
|
|
|
integer(psb_ipk_) :: iret
|
|
|
|
|
|
|
|
type(amg_zprec_type), pointer :: precp
|
|
|
|
type(amg_zprec_type), pointer :: precp
|
|
|
|
type(psb_zspmat_type), pointer :: ap
|
|
|
|
type(psb_zspmat_type), pointer :: ap
|
|
|
|
type(psb_desc_type), pointer :: descp
|
|
|
|
type(psb_desc_type), pointer :: descp
|
|
|
|
character(len=80) :: fptype
|
|
|
|
character(len=80) :: fptype
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: iret
|
|
|
|
|
|
|
|
|
|
|
|
res = -1
|
|
|
|
res = -1
|
|
|
|
|
|
|
|
|
|
|
|
@ -173,15 +173,17 @@ contains
|
|
|
|
end function amg_c_zprecbld
|
|
|
|
end function amg_c_zprecbld
|
|
|
|
|
|
|
|
|
|
|
|
function amg_c_zhierarchy_build(ah,cdh,ph) bind(c) result(res)
|
|
|
|
function amg_c_zhierarchy_build(ah,cdh,ph) bind(c) result(res)
|
|
|
|
|
|
|
|
use psb_base_mod
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_c_ipk_) :: res
|
|
|
|
integer(psb_c_ipk_) :: res
|
|
|
|
type(psb_c_object_type) :: ph,ah,cdh
|
|
|
|
type(psb_c_object_type) :: ph,ah,cdh
|
|
|
|
integer(psb_ipk_) :: iret
|
|
|
|
|
|
|
|
type(amg_zprec_type), pointer :: precp
|
|
|
|
type(amg_zprec_type), pointer :: precp
|
|
|
|
type(psb_zspmat_type), pointer :: ap
|
|
|
|
type(psb_zspmat_type), pointer :: ap
|
|
|
|
type(psb_desc_type), pointer :: descp
|
|
|
|
type(psb_desc_type), pointer :: descp
|
|
|
|
character(len=80) :: fptype
|
|
|
|
character(len=80) :: fptype
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: iret, act
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
res = -1
|
|
|
|
res = -1
|
|
|
|
|
|
|
|
|
|
|
|
@ -206,19 +208,24 @@ contains
|
|
|
|
res = AMGC_ERR_FILTER(iret)
|
|
|
|
res = AMGC_ERR_FILTER(iret)
|
|
|
|
AMGC_ERR_HANDLE(res)
|
|
|
|
AMGC_ERR_HANDLE(res)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (res /=0) then
|
|
|
|
|
|
|
|
act = psb_act_abort_
|
|
|
|
|
|
|
|
call psb_error_handler(act)
|
|
|
|
|
|
|
|
end if
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end function amg_c_zhierarchy_build
|
|
|
|
end function amg_c_zhierarchy_build
|
|
|
|
|
|
|
|
|
|
|
|
function amg_c_zsmoothers_build(ah,cdh,ph) bind(c) result(res)
|
|
|
|
function amg_c_zsmoothers_build(ah,cdh,ph) bind(c) result(res)
|
|
|
|
|
|
|
|
use psb_base_mod
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_c_ipk_) :: res
|
|
|
|
integer(psb_c_ipk_) :: res
|
|
|
|
type(psb_c_object_type) :: ph,ah,cdh
|
|
|
|
type(psb_c_object_type) :: ph,ah,cdh
|
|
|
|
integer(psb_ipk_) :: iret
|
|
|
|
|
|
|
|
type(amg_zprec_type), pointer :: precp
|
|
|
|
type(amg_zprec_type), pointer :: precp
|
|
|
|
type(psb_zspmat_type), pointer :: ap
|
|
|
|
type(psb_zspmat_type), pointer :: ap
|
|
|
|
type(psb_desc_type), pointer :: descp
|
|
|
|
type(psb_desc_type), pointer :: descp
|
|
|
|
character(len=80) :: fptype
|
|
|
|
character(len=80) :: fptype
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: iret, act
|
|
|
|
|
|
|
|
|
|
|
|
res = -1
|
|
|
|
res = -1
|
|
|
|
|
|
|
|
|
|
|
|
@ -243,6 +250,11 @@ contains
|
|
|
|
res = AMGC_ERR_FILTER(iret)
|
|
|
|
res = AMGC_ERR_FILTER(iret)
|
|
|
|
AMGC_ERR_HANDLE(res)
|
|
|
|
AMGC_ERR_HANDLE(res)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (res /=0) then
|
|
|
|
|
|
|
|
act = psb_act_abort_
|
|
|
|
|
|
|
|
call psb_error_handler(act)
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end function amg_c_zsmoothers_build
|
|
|
|
end function amg_c_zsmoothers_build
|
|
|
|
|
|
|
|
|
|
|
|
|