|
|
|
@ -19,12 +19,13 @@ module psb_c_bjacprec
|
|
|
|
|
procedure, pass(prec) :: precdescr => psb_c_bjac_precdescr
|
|
|
|
|
procedure, pass(prec) :: dump => psb_c_bjac_dump
|
|
|
|
|
procedure, pass(prec) :: sizeof => psb_c_bjac_sizeof
|
|
|
|
|
procedure, pass(prec) :: get_nzeros => psb_c_bjac_get_nzeros
|
|
|
|
|
end type psb_c_bjac_prec_type
|
|
|
|
|
|
|
|
|
|
private :: psb_c_bjac_apply, psb_c_bjac_precbld, psb_c_bjac_precseti,&
|
|
|
|
|
& psb_c_bjac_precsetr, psb_c_bjac_precsetc, psb_c_bjac_sizeof,&
|
|
|
|
|
& psb_c_bjac_precinit, psb_c_bjac_precfree, psb_c_bjac_precdescr,&
|
|
|
|
|
& psb_c_bjac_dump, psb_c_bjac_apply_vect
|
|
|
|
|
& psb_c_bjac_dump, psb_c_bjac_apply_vect, psb_c_bjac_get_nzeros
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
character(len=15), parameter, private :: &
|
|
|
|
@ -773,7 +774,7 @@ contains
|
|
|
|
|
end subroutine psb_c_bjac_dump
|
|
|
|
|
|
|
|
|
|
function psb_c_bjac_sizeof(prec) result(val)
|
|
|
|
|
use psb_base_mod
|
|
|
|
|
use psb_base_mod, only : psb_long_int_k_
|
|
|
|
|
class(psb_c_bjac_prec_type), intent(in) :: prec
|
|
|
|
|
integer(psb_long_int_k_) :: val
|
|
|
|
|
|
|
|
|
@ -788,4 +789,20 @@ contains
|
|
|
|
|
return
|
|
|
|
|
end function psb_c_bjac_sizeof
|
|
|
|
|
|
|
|
|
|
function psb_c_bjac_get_nzeros(prec) result(val)
|
|
|
|
|
use psb_base_mod, only : psb_long_int_k_
|
|
|
|
|
class(psb_c_bjac_prec_type), intent(in) :: prec
|
|
|
|
|
integer(psb_long_int_k_) :: val
|
|
|
|
|
|
|
|
|
|
val = 0
|
|
|
|
|
if (allocated(prec%dv)) then
|
|
|
|
|
val = val + prec%dv%get_nrows()
|
|
|
|
|
endif
|
|
|
|
|
if (allocated(prec%av)) then
|
|
|
|
|
val = val + prec%av(psb_l_pr_)%get_nzeros()
|
|
|
|
|
val = val + prec%av(psb_u_pr_)%get_nzeros()
|
|
|
|
|
endif
|
|
|
|
|
return
|
|
|
|
|
end function psb_c_bjac_get_nzeros
|
|
|
|
|
|
|
|
|
|
end module psb_c_bjacprec
|
|
|
|
|