|
|
@ -48,15 +48,13 @@ module psb_c_prec_type
|
|
|
|
generic, public :: apply => psb_c_apply2v, psb_c_apply1v,&
|
|
|
|
generic, public :: apply => psb_c_apply2v, psb_c_apply1v,&
|
|
|
|
& psb_c_apply1_vect, psb_c_apply2_vect
|
|
|
|
& psb_c_apply1_vect, psb_c_apply2_vect
|
|
|
|
procedure, pass(prec) :: sizeof => psb_cprec_sizeof
|
|
|
|
procedure, pass(prec) :: sizeof => psb_cprec_sizeof
|
|
|
|
|
|
|
|
procedure, pass(prec) :: clone => psb_c_prec_clone
|
|
|
|
end type psb_cprec_type
|
|
|
|
end type psb_cprec_type
|
|
|
|
|
|
|
|
|
|
|
|
interface psb_precfree
|
|
|
|
interface psb_precfree
|
|
|
|
module procedure psb_c_precfree
|
|
|
|
module procedure psb_c_precfree
|
|
|
|
end interface
|
|
|
|
end interface
|
|
|
|
|
|
|
|
|
|
|
|
interface psb_nullify_prec
|
|
|
|
|
|
|
|
module procedure psb_nullify_cprec
|
|
|
|
|
|
|
|
end interface
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interface psb_precdescr
|
|
|
|
interface psb_precdescr
|
|
|
|
module procedure psb_cfile_prec_descr
|
|
|
|
module procedure psb_cfile_prec_descr
|
|
|
@ -192,11 +190,6 @@ contains
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end subroutine psb_c_precfree
|
|
|
|
end subroutine psb_c_precfree
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_nullify_cprec(p)
|
|
|
|
|
|
|
|
type(psb_cprec_type), intent(inout) :: p
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_nullify_cprec
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function psb_cprec_sizeof(prec) result(val)
|
|
|
|
function psb_cprec_sizeof(prec) result(val)
|
|
|
|
class(psb_cprec_type), intent(in) :: prec
|
|
|
|
class(psb_cprec_type), intent(in) :: prec
|
|
|
|
integer(psb_long_int_k_) :: val
|
|
|
|
integer(psb_long_int_k_) :: val
|
|
|
@ -209,4 +202,18 @@ contains
|
|
|
|
|
|
|
|
|
|
|
|
end function psb_cprec_sizeof
|
|
|
|
end function psb_cprec_sizeof
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psb_c_prec_clone(prec,precout,info)
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
class(psb_cprec_type), intent(inout) :: prec
|
|
|
|
|
|
|
|
class(psb_cprec_type), intent(out) :: precout
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info = psb_success_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (allocated(prec%prec)) then
|
|
|
|
|
|
|
|
call prec%prec%clone(precout%prec,info)
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_c_prec_clone
|
|
|
|
|
|
|
|
|
|
|
|
end module psb_c_prec_type
|
|
|
|
end module psb_c_prec_type
|
|
|
|