mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Silly bug in zprec cbind
This commit is contained in:
@@ -382,56 +382,6 @@ contains
|
||||
return
|
||||
end function amg_c_zprecapply
|
||||
|
||||
function amg_c_dprecapply(ph,bc,xc,cdh) bind(c,name="amg_c_dprecapply") result(res)
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
implicit none
|
||||
|
||||
integer(psb_c_ipk_) :: res
|
||||
type(psb_c_object_type) :: ph ! C handle to preconditioner
|
||||
type(psb_c_object_type) :: bc ! C handle to rhs
|
||||
type(psb_c_object_type) :: xc ! C handle to solution
|
||||
type(psb_c_object_type) :: cdh ! C handle to descriptor
|
||||
|
||||
! Fortran containers for preconditioner, lhs, rhs and descriptor
|
||||
type(amg_dprec_type), pointer :: precp
|
||||
type(psb_d_vect_type), pointer :: xp, bp
|
||||
type(psb_desc_type), pointer :: descp
|
||||
integer(psb_ipk_) :: info
|
||||
|
||||
res = -1
|
||||
! Check descriptor
|
||||
if (c_associated(cdh%item)) then
|
||||
call c_f_pointer(cdh%item,descp)
|
||||
else
|
||||
return
|
||||
end if
|
||||
! Check rhs and solution
|
||||
if (c_associated(bc%item)) then
|
||||
call c_f_pointer(bc%item,bp)
|
||||
else
|
||||
return
|
||||
end if
|
||||
if (c_associated(xc%item)) then
|
||||
call c_f_pointer(xc%item,xp)
|
||||
else
|
||||
return
|
||||
end if
|
||||
! Check preconditioner
|
||||
if (c_associated(ph%item)) then
|
||||
call c_f_pointer(ph%item,precp)
|
||||
else
|
||||
return
|
||||
end if
|
||||
! Apply preconditioner
|
||||
call precp%apply(bp,xp,descp,info)
|
||||
|
||||
! Error handling and return
|
||||
res = MLDC_ERR_FILTER(info)
|
||||
MLDC_ERR_HANDLE(res)
|
||||
return
|
||||
end function amg_c_dprecapply
|
||||
|
||||
function amg_c_zprecapply_opt(ph,bc,xc,cdh,ctrans) bind(c,name="amg_c_zprecapply_opt") result(res)
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
|
||||
Reference in New Issue
Block a user