base/modules/psb_base_linmap_mod.f90
 base/modules/psb_c_base_mat_mod.f90
 base/modules/psb_c_linmap_mod.f90
 base/modules/psb_c_mat_mod.f90
 base/modules/psb_d_base_mat_mod.f90
 base/modules/psb_d_linmap_mod.f90
 base/modules/psb_d_mat_mod.f90
 base/modules/psb_s_base_mat_mod.f90
 base/modules/psb_s_linmap_mod.f90
 base/modules/psb_s_mat_mod.f90
 base/modules/psb_z_base_mat_mod.f90
 base/modules/psb_z_linmap_mod.f90
 base/modules/psb_z_mat_mod.f90
 base/serial/impl/psb_c_mat_impl.F90
 base/serial/impl/psb_d_mat_impl.F90
 base/serial/impl/psb_s_mat_impl.F90
 base/serial/impl/psb_z_mat_impl.F90
 prec/psb_c_base_prec_mod.f90
 prec/psb_c_bjacprec.f90
 prec/psb_c_diagprec.f90
 prec/psb_c_nullprec.f90
 prec/psb_c_prec_type.f90
 prec/psb_d_base_prec_mod.f90
 prec/psb_d_bjacprec.f90
 prec/psb_d_diagprec.f90
 prec/psb_d_nullprec.f90
 prec/psb_d_prec_type.f90
 prec/psb_s_base_prec_mod.f90
 prec/psb_s_bjacprec.f90
 prec/psb_s_diagprec.f90
 prec/psb_s_nullprec.f90
 prec/psb_s_prec_type.f90
 prec/psb_z_base_prec_mod.f90
 prec/psb_z_bjacprec.f90
 prec/psb_z_diagprec.f90
 prec/psb_z_nullprec.f90
 prec/psb_z_prec_type.f90


INTENT of arguments of clone methods
psblas3-final
Salvatore Filippone 12 years ago
parent 10f92d3b90
commit 9f4a8ca232

@ -163,9 +163,9 @@ contains
use psb_realloc_mod use psb_realloc_mod
implicit none implicit none
class(psb_base_linmap_type), intent(inout) :: map class(psb_base_linmap_type), intent(inout) :: map
class(psb_base_linmap_type), intent(out) :: mapout class(psb_base_linmap_type), intent(inout) :: mapout
integer(psb_ipk_) :: info integer(psb_ipk_) :: info
mapout%kind = map%kind mapout%kind = map%kind
call psb_safe_ab_cpy(map%iaggr,mapout%iaggr,info) call psb_safe_ab_cpy(map%iaggr,mapout%iaggr,info)
call psb_safe_ab_cpy(map%naggr,mapout%naggr,info) call psb_safe_ab_cpy(map%naggr,mapout%naggr,info)

@ -63,7 +63,6 @@ module psb_c_base_mat_mod
procedure, pass(a) :: get_diag => psb_c_base_get_diag procedure, pass(a) :: get_diag => psb_c_base_get_diag
generic, public :: csget => csgetrow, csgetblk generic, public :: csget => csgetrow, csgetblk
procedure, pass(a) :: csclip => psb_c_base_csclip procedure, pass(a) :: csclip => psb_c_base_csclip
procedure, pass(a) :: mold => psb_c_base_mold
procedure, pass(a) :: cp_to_coo => psb_c_base_cp_to_coo procedure, pass(a) :: cp_to_coo => psb_c_base_cp_to_coo
procedure, pass(a) :: cp_from_coo => psb_c_base_cp_from_coo procedure, pass(a) :: cp_from_coo => psb_c_base_cp_from_coo
procedure, pass(a) :: cp_to_fmt => psb_c_base_cp_to_fmt procedure, pass(a) :: cp_to_fmt => psb_c_base_cp_to_fmt
@ -76,6 +75,7 @@ module psb_c_base_mat_mod
generic, public :: cp_from => c_base_cp_from generic, public :: cp_from => c_base_cp_from
procedure, pass(a) :: c_base_mv_from procedure, pass(a) :: c_base_mv_from
generic, public :: mv_from => c_base_mv_from generic, public :: mv_from => c_base_mv_from
procedure, pass(a) :: mold => psb_c_base_mold
procedure, pass(a) :: clone => psb_c_base_clone procedure, pass(a) :: clone => psb_c_base_clone
! !

@ -218,13 +218,15 @@ contains
use psb_desc_mod use psb_desc_mod
implicit none implicit none
class(psb_clinmap_type), intent(inout) :: map class(psb_clinmap_type), intent(inout) :: map
class(psb_clinmap_type), intent(out) :: mapout class(psb_clinmap_type), intent(inout) :: mapout
integer(psb_ipk_) :: info integer(psb_ipk_) :: info
call mapout%free(info)
! Base clone! ! Base clone!
call map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info) if (info == 0) call &
call map%map_X2Y%clone(mapout%map_X2Y,info) & map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info)
call map%map_Y2X%clone(mapout%map_Y2X,info) if (info == 0) call map%map_X2Y%clone(mapout%map_X2Y,info)
if (info == 0) call map%map_Y2X%clone(mapout%map_Y2X,info)
end subroutine c_clone end subroutine c_clone

@ -613,7 +613,7 @@ module psb_c_mat_mod
subroutine psb_cspmat_clone(a,b,info) subroutine psb_cspmat_clone(a,b,info)
import :: psb_ipk_, psb_cspmat_type import :: psb_ipk_, psb_cspmat_type
class(psb_cspmat_type), intent(inout) :: a class(psb_cspmat_type), intent(inout) :: a
class(psb_cspmat_type), intent(out) :: b class(psb_cspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_cspmat_clone end subroutine psb_cspmat_clone
end interface end interface

@ -63,7 +63,6 @@ module psb_d_base_mat_mod
procedure, pass(a) :: get_diag => psb_d_base_get_diag procedure, pass(a) :: get_diag => psb_d_base_get_diag
generic, public :: csget => csgetrow, csgetblk generic, public :: csget => csgetrow, csgetblk
procedure, pass(a) :: csclip => psb_d_base_csclip procedure, pass(a) :: csclip => psb_d_base_csclip
procedure, pass(a) :: mold => psb_d_base_mold
procedure, pass(a) :: cp_to_coo => psb_d_base_cp_to_coo procedure, pass(a) :: cp_to_coo => psb_d_base_cp_to_coo
procedure, pass(a) :: cp_from_coo => psb_d_base_cp_from_coo procedure, pass(a) :: cp_from_coo => psb_d_base_cp_from_coo
procedure, pass(a) :: cp_to_fmt => psb_d_base_cp_to_fmt procedure, pass(a) :: cp_to_fmt => psb_d_base_cp_to_fmt
@ -76,6 +75,7 @@ module psb_d_base_mat_mod
generic, public :: cp_from => d_base_cp_from generic, public :: cp_from => d_base_cp_from
procedure, pass(a) :: d_base_mv_from procedure, pass(a) :: d_base_mv_from
generic, public :: mv_from => d_base_mv_from generic, public :: mv_from => d_base_mv_from
procedure, pass(a) :: mold => psb_d_base_mold
procedure, pass(a) :: clone => psb_d_base_clone procedure, pass(a) :: clone => psb_d_base_clone
! !

@ -218,13 +218,15 @@ contains
use psb_desc_mod use psb_desc_mod
implicit none implicit none
class(psb_dlinmap_type), intent(inout) :: map class(psb_dlinmap_type), intent(inout) :: map
class(psb_dlinmap_type), intent(out) :: mapout class(psb_dlinmap_type), intent(inout) :: mapout
integer(psb_ipk_) :: info integer(psb_ipk_) :: info
call mapout%free(info)
! Base clone! ! Base clone!
call map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info) if (info == 0) call &
call map%map_X2Y%clone(mapout%map_X2Y,info) & map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info)
call map%map_Y2X%clone(mapout%map_Y2X,info) if (info == 0) call map%map_X2Y%clone(mapout%map_X2Y,info)
if (info == 0) call map%map_Y2X%clone(mapout%map_Y2X,info)
end subroutine d_clone end subroutine d_clone

@ -613,7 +613,7 @@ module psb_d_mat_mod
subroutine psb_dspmat_clone(a,b,info) subroutine psb_dspmat_clone(a,b,info)
import :: psb_ipk_, psb_dspmat_type import :: psb_ipk_, psb_dspmat_type
class(psb_dspmat_type), intent(inout) :: a class(psb_dspmat_type), intent(inout) :: a
class(psb_dspmat_type), intent(out) :: b class(psb_dspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_dspmat_clone end subroutine psb_dspmat_clone
end interface end interface

@ -63,7 +63,6 @@ module psb_s_base_mat_mod
procedure, pass(a) :: get_diag => psb_s_base_get_diag procedure, pass(a) :: get_diag => psb_s_base_get_diag
generic, public :: csget => csgetrow, csgetblk generic, public :: csget => csgetrow, csgetblk
procedure, pass(a) :: csclip => psb_s_base_csclip procedure, pass(a) :: csclip => psb_s_base_csclip
procedure, pass(a) :: mold => psb_s_base_mold
procedure, pass(a) :: cp_to_coo => psb_s_base_cp_to_coo procedure, pass(a) :: cp_to_coo => psb_s_base_cp_to_coo
procedure, pass(a) :: cp_from_coo => psb_s_base_cp_from_coo procedure, pass(a) :: cp_from_coo => psb_s_base_cp_from_coo
procedure, pass(a) :: cp_to_fmt => psb_s_base_cp_to_fmt procedure, pass(a) :: cp_to_fmt => psb_s_base_cp_to_fmt
@ -76,6 +75,7 @@ module psb_s_base_mat_mod
generic, public :: cp_from => s_base_cp_from generic, public :: cp_from => s_base_cp_from
procedure, pass(a) :: s_base_mv_from procedure, pass(a) :: s_base_mv_from
generic, public :: mv_from => s_base_mv_from generic, public :: mv_from => s_base_mv_from
procedure, pass(a) :: mold => psb_s_base_mold
procedure, pass(a) :: clone => psb_s_base_clone procedure, pass(a) :: clone => psb_s_base_clone
! !

@ -218,13 +218,15 @@ contains
use psb_desc_mod use psb_desc_mod
implicit none implicit none
class(psb_slinmap_type), intent(inout) :: map class(psb_slinmap_type), intent(inout) :: map
class(psb_slinmap_type), intent(out) :: mapout class(psb_slinmap_type), intent(inout) :: mapout
integer(psb_ipk_) :: info integer(psb_ipk_) :: info
call mapout%free(info)
! Base clone! ! Base clone!
call map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info) if (info == 0) call &
call map%map_X2Y%clone(mapout%map_X2Y,info) & map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info)
call map%map_Y2X%clone(mapout%map_Y2X,info) if (info == 0) call map%map_X2Y%clone(mapout%map_X2Y,info)
if (info == 0) call map%map_Y2X%clone(mapout%map_Y2X,info)
end subroutine s_clone end subroutine s_clone

@ -613,7 +613,7 @@ module psb_s_mat_mod
subroutine psb_sspmat_clone(a,b,info) subroutine psb_sspmat_clone(a,b,info)
import :: psb_ipk_, psb_sspmat_type import :: psb_ipk_, psb_sspmat_type
class(psb_sspmat_type), intent(inout) :: a class(psb_sspmat_type), intent(inout) :: a
class(psb_sspmat_type), intent(out) :: b class(psb_sspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_sspmat_clone end subroutine psb_sspmat_clone
end interface end interface

@ -63,7 +63,6 @@ module psb_z_base_mat_mod
procedure, pass(a) :: get_diag => psb_z_base_get_diag procedure, pass(a) :: get_diag => psb_z_base_get_diag
generic, public :: csget => csgetrow, csgetblk generic, public :: csget => csgetrow, csgetblk
procedure, pass(a) :: csclip => psb_z_base_csclip procedure, pass(a) :: csclip => psb_z_base_csclip
procedure, pass(a) :: mold => psb_z_base_mold
procedure, pass(a) :: cp_to_coo => psb_z_base_cp_to_coo procedure, pass(a) :: cp_to_coo => psb_z_base_cp_to_coo
procedure, pass(a) :: cp_from_coo => psb_z_base_cp_from_coo procedure, pass(a) :: cp_from_coo => psb_z_base_cp_from_coo
procedure, pass(a) :: cp_to_fmt => psb_z_base_cp_to_fmt procedure, pass(a) :: cp_to_fmt => psb_z_base_cp_to_fmt
@ -76,6 +75,7 @@ module psb_z_base_mat_mod
generic, public :: cp_from => z_base_cp_from generic, public :: cp_from => z_base_cp_from
procedure, pass(a) :: z_base_mv_from procedure, pass(a) :: z_base_mv_from
generic, public :: mv_from => z_base_mv_from generic, public :: mv_from => z_base_mv_from
procedure, pass(a) :: mold => psb_z_base_mold
procedure, pass(a) :: clone => psb_z_base_clone procedure, pass(a) :: clone => psb_z_base_clone
! !

@ -218,13 +218,15 @@ contains
use psb_desc_mod use psb_desc_mod
implicit none implicit none
class(psb_zlinmap_type), intent(inout) :: map class(psb_zlinmap_type), intent(inout) :: map
class(psb_zlinmap_type), intent(out) :: mapout class(psb_zlinmap_type), intent(inout) :: mapout
integer(psb_ipk_) :: info integer(psb_ipk_) :: info
call mapout%free(info)
! Base clone! ! Base clone!
call map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info) if (info == 0) call &
call map%map_X2Y%clone(mapout%map_X2Y,info) & map%psb_base_linmap_type%clone(mapout%psb_base_linmap_type,info)
call map%map_Y2X%clone(mapout%map_Y2X,info) if (info == 0) call map%map_X2Y%clone(mapout%map_X2Y,info)
if (info == 0) call map%map_Y2X%clone(mapout%map_Y2X,info)
end subroutine z_clone end subroutine z_clone

@ -613,7 +613,7 @@ module psb_z_mat_mod
subroutine psb_zspmat_clone(a,b,info) subroutine psb_zspmat_clone(a,b,info)
import :: psb_ipk_, psb_zspmat_type import :: psb_ipk_, psb_zspmat_type
class(psb_zspmat_type), intent(inout) :: a class(psb_zspmat_type), intent(inout) :: a
class(psb_zspmat_type), intent(out) :: b class(psb_zspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_zspmat_clone end subroutine psb_zspmat_clone
end interface end interface

@ -1545,7 +1545,7 @@ subroutine psb_cspmat_clone(a,b,info)
use psb_c_mat_mod, psb_protect_name => psb_cspmat_clone use psb_c_mat_mod, psb_protect_name => psb_cspmat_clone
implicit none implicit none
class(psb_cspmat_type), intent(inout) :: a class(psb_cspmat_type), intent(inout) :: a
class(psb_cspmat_type), intent(out) :: b class(psb_cspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
@ -1554,7 +1554,7 @@ subroutine psb_cspmat_clone(a,b,info)
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
call b%free()
if (allocated(a%a)) then if (allocated(a%a)) then
call a%a%clone(b%a,info) call a%a%clone(b%a,info)
end if end if

@ -1545,7 +1545,7 @@ subroutine psb_dspmat_clone(a,b,info)
use psb_d_mat_mod, psb_protect_name => psb_dspmat_clone use psb_d_mat_mod, psb_protect_name => psb_dspmat_clone
implicit none implicit none
class(psb_dspmat_type), intent(inout) :: a class(psb_dspmat_type), intent(inout) :: a
class(psb_dspmat_type), intent(out) :: b class(psb_dspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
@ -1554,7 +1554,7 @@ subroutine psb_dspmat_clone(a,b,info)
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
call b%free()
if (allocated(a%a)) then if (allocated(a%a)) then
call a%a%clone(b%a,info) call a%a%clone(b%a,info)
end if end if

@ -1545,7 +1545,7 @@ subroutine psb_sspmat_clone(a,b,info)
use psb_s_mat_mod, psb_protect_name => psb_sspmat_clone use psb_s_mat_mod, psb_protect_name => psb_sspmat_clone
implicit none implicit none
class(psb_sspmat_type), intent(inout) :: a class(psb_sspmat_type), intent(inout) :: a
class(psb_sspmat_type), intent(out) :: b class(psb_sspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
@ -1554,7 +1554,7 @@ subroutine psb_sspmat_clone(a,b,info)
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
call b%free()
if (allocated(a%a)) then if (allocated(a%a)) then
call a%a%clone(b%a,info) call a%a%clone(b%a,info)
end if end if

@ -1545,7 +1545,7 @@ subroutine psb_zspmat_clone(a,b,info)
use psb_z_mat_mod, psb_protect_name => psb_zspmat_clone use psb_z_mat_mod, psb_protect_name => psb_zspmat_clone
implicit none implicit none
class(psb_zspmat_type), intent(inout) :: a class(psb_zspmat_type), intent(inout) :: a
class(psb_zspmat_type), intent(out) :: b class(psb_zspmat_type), intent(inout) :: b
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
@ -1554,7 +1554,7 @@ subroutine psb_zspmat_clone(a,b,info)
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
call b%free()
if (allocated(a%a)) then if (allocated(a%a)) then
call a%a%clone(b%a,info) call a%a%clone(b%a,info)
end if end if

@ -187,8 +187,8 @@ module psb_c_base_prec_mod
& psb_c_base_vect_type, psb_cspmat_type, psb_c_base_prec_type,& & psb_c_base_vect_type, psb_cspmat_type, psb_c_base_prec_type,&
& psb_c_base_sparse_mat & psb_c_base_sparse_mat
implicit none implicit none
class(psb_c_base_prec_type), intent(inout) :: prec class(psb_c_base_prec_type), intent(inout) :: prec
class(psb_c_base_prec_type), allocatable, intent(out) :: precout class(psb_c_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_c_base_precclone end subroutine psb_c_base_precclone
end interface end interface

@ -257,8 +257,8 @@ contains
use psb_realloc_mod use psb_realloc_mod
Implicit None Implicit None
class(psb_c_bjac_prec_type), intent(inout) :: prec class(psb_c_bjac_prec_type), intent(inout) :: prec
class(psb_c_base_prec_type), allocatable, intent(out) :: precout class(psb_c_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -267,7 +267,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_c_bjac_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_c_bjac_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_c_bjac_prec_type) type is (psb_c_bjac_prec_type)

@ -233,7 +233,7 @@ contains
Implicit None Implicit None
class(psb_c_diag_prec_type), intent(inout) :: prec class(psb_c_diag_prec_type), intent(inout) :: prec
class(psb_c_base_prec_type), allocatable, intent(out) :: precout class(psb_c_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -242,7 +242,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_c_diag_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_c_diag_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_c_diag_prec_type) type is (psb_c_diag_prec_type)

@ -267,7 +267,7 @@ contains
Implicit None Implicit None
class(psb_c_null_prec_type), intent(inout) :: prec class(psb_c_null_prec_type), intent(inout) :: prec
class(psb_c_base_prec_type), allocatable, intent(out) :: precout class(psb_c_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -276,7 +276,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_c_null_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_c_null_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_c_null_prec_type) type is (psb_c_null_prec_type)

@ -232,11 +232,11 @@ contains
subroutine psb_c_prec_clone(prec,precout,info) subroutine psb_c_prec_clone(prec,precout,info)
implicit none implicit none
class(psb_cprec_type), intent(inout) :: prec class(psb_cprec_type), intent(inout) :: prec
class(psb_cprec_type), intent(out) :: precout class(psb_cprec_type), intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
info = psb_success_ info = psb_success_
call prec%free(info)
if (allocated(prec%prec)) then if (allocated(prec%prec)) then
call prec%prec%clone(precout%prec,info) call prec%prec%clone(precout%prec,info)
end if end if

@ -187,8 +187,8 @@ module psb_d_base_prec_mod
& psb_d_base_vect_type, psb_dspmat_type, psb_d_base_prec_type,& & psb_d_base_vect_type, psb_dspmat_type, psb_d_base_prec_type,&
& psb_d_base_sparse_mat & psb_d_base_sparse_mat
implicit none implicit none
class(psb_d_base_prec_type), intent(inout) :: prec class(psb_d_base_prec_type), intent(inout) :: prec
class(psb_d_base_prec_type), allocatable, intent(out) :: precout class(psb_d_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_d_base_precclone end subroutine psb_d_base_precclone
end interface end interface

@ -257,8 +257,8 @@ contains
use psb_realloc_mod use psb_realloc_mod
Implicit None Implicit None
class(psb_d_bjac_prec_type), intent(inout) :: prec class(psb_d_bjac_prec_type), intent(inout) :: prec
class(psb_d_base_prec_type), allocatable, intent(out) :: precout class(psb_d_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -267,7 +267,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_d_bjac_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_d_bjac_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_d_bjac_prec_type) type is (psb_d_bjac_prec_type)

@ -233,7 +233,7 @@ contains
Implicit None Implicit None
class(psb_d_diag_prec_type), intent(inout) :: prec class(psb_d_diag_prec_type), intent(inout) :: prec
class(psb_d_base_prec_type), allocatable, intent(out) :: precout class(psb_d_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -242,7 +242,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_d_diag_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_d_diag_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_d_diag_prec_type) type is (psb_d_diag_prec_type)

@ -267,7 +267,7 @@ contains
Implicit None Implicit None
class(psb_d_null_prec_type), intent(inout) :: prec class(psb_d_null_prec_type), intent(inout) :: prec
class(psb_d_base_prec_type), allocatable, intent(out) :: precout class(psb_d_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -276,7 +276,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_d_null_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_d_null_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_d_null_prec_type) type is (psb_d_null_prec_type)

@ -232,11 +232,11 @@ contains
subroutine psb_d_prec_clone(prec,precout,info) subroutine psb_d_prec_clone(prec,precout,info)
implicit none implicit none
class(psb_dprec_type), intent(inout) :: prec class(psb_dprec_type), intent(inout) :: prec
class(psb_dprec_type), intent(out) :: precout class(psb_dprec_type), intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
info = psb_success_ info = psb_success_
call prec%free(info)
if (allocated(prec%prec)) then if (allocated(prec%prec)) then
call prec%prec%clone(precout%prec,info) call prec%prec%clone(precout%prec,info)
end if end if

@ -187,8 +187,8 @@ module psb_s_base_prec_mod
& psb_s_base_vect_type, psb_sspmat_type, psb_s_base_prec_type,& & psb_s_base_vect_type, psb_sspmat_type, psb_s_base_prec_type,&
& psb_s_base_sparse_mat & psb_s_base_sparse_mat
implicit none implicit none
class(psb_s_base_prec_type), intent(inout) :: prec class(psb_s_base_prec_type), intent(inout) :: prec
class(psb_s_base_prec_type), allocatable, intent(out) :: precout class(psb_s_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_s_base_precclone end subroutine psb_s_base_precclone
end interface end interface

@ -257,8 +257,8 @@ contains
use psb_realloc_mod use psb_realloc_mod
Implicit None Implicit None
class(psb_s_bjac_prec_type), intent(inout) :: prec class(psb_s_bjac_prec_type), intent(inout) :: prec
class(psb_s_base_prec_type), allocatable, intent(out) :: precout class(psb_s_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -267,7 +267,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_s_bjac_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_s_bjac_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_s_bjac_prec_type) type is (psb_s_bjac_prec_type)

@ -233,7 +233,7 @@ contains
Implicit None Implicit None
class(psb_s_diag_prec_type), intent(inout) :: prec class(psb_s_diag_prec_type), intent(inout) :: prec
class(psb_s_base_prec_type), allocatable, intent(out) :: precout class(psb_s_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -242,7 +242,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_s_diag_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_s_diag_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_s_diag_prec_type) type is (psb_s_diag_prec_type)

@ -267,7 +267,7 @@ contains
Implicit None Implicit None
class(psb_s_null_prec_type), intent(inout) :: prec class(psb_s_null_prec_type), intent(inout) :: prec
class(psb_s_base_prec_type), allocatable, intent(out) :: precout class(psb_s_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -276,7 +276,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_s_null_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_s_null_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_s_null_prec_type) type is (psb_s_null_prec_type)

@ -232,11 +232,11 @@ contains
subroutine psb_s_prec_clone(prec,precout,info) subroutine psb_s_prec_clone(prec,precout,info)
implicit none implicit none
class(psb_sprec_type), intent(inout) :: prec class(psb_sprec_type), intent(inout) :: prec
class(psb_sprec_type), intent(out) :: precout class(psb_sprec_type), intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
info = psb_success_ info = psb_success_
call prec%free(info)
if (allocated(prec%prec)) then if (allocated(prec%prec)) then
call prec%prec%clone(precout%prec,info) call prec%prec%clone(precout%prec,info)
end if end if

@ -187,8 +187,8 @@ module psb_z_base_prec_mod
& psb_z_base_vect_type, psb_zspmat_type, psb_z_base_prec_type,& & psb_z_base_vect_type, psb_zspmat_type, psb_z_base_prec_type,&
& psb_z_base_sparse_mat & psb_z_base_sparse_mat
implicit none implicit none
class(psb_z_base_prec_type), intent(inout) :: prec class(psb_z_base_prec_type), intent(inout) :: prec
class(psb_z_base_prec_type), allocatable, intent(out) :: precout class(psb_z_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
end subroutine psb_z_base_precclone end subroutine psb_z_base_precclone
end interface end interface

@ -257,8 +257,8 @@ contains
use psb_realloc_mod use psb_realloc_mod
Implicit None Implicit None
class(psb_z_bjac_prec_type), intent(inout) :: prec class(psb_z_bjac_prec_type), intent(inout) :: prec
class(psb_z_base_prec_type), allocatable, intent(out) :: precout class(psb_z_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -267,7 +267,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_z_bjac_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_z_bjac_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_z_bjac_prec_type) type is (psb_z_bjac_prec_type)

@ -233,7 +233,7 @@ contains
Implicit None Implicit None
class(psb_z_diag_prec_type), intent(inout) :: prec class(psb_z_diag_prec_type), intent(inout) :: prec
class(psb_z_base_prec_type), allocatable, intent(out) :: precout class(psb_z_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -242,7 +242,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_z_diag_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_z_diag_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_z_diag_prec_type) type is (psb_z_diag_prec_type)

@ -267,7 +267,7 @@ contains
Implicit None Implicit None
class(psb_z_null_prec_type), intent(inout) :: prec class(psb_z_null_prec_type), intent(inout) :: prec
class(psb_z_base_prec_type), allocatable, intent(out) :: precout class(psb_z_base_prec_type), allocatable, intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: err_act, i integer(psb_ipk_) :: err_act, i
@ -276,7 +276,12 @@ contains
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
allocate(psb_z_null_prec_type :: precout, stat=info) if (allocated(precout)) then
call precout%free(info)
if (info == psb_success_) deallocate(precout, stat=info)
end if
if (info == psb_success_) &
& allocate(psb_z_null_prec_type :: precout, stat=info)
if (info /= 0) goto 9999 if (info /= 0) goto 9999
select type(pout => precout) select type(pout => precout)
type is (psb_z_null_prec_type) type is (psb_z_null_prec_type)

@ -232,11 +232,11 @@ contains
subroutine psb_z_prec_clone(prec,precout,info) subroutine psb_z_prec_clone(prec,precout,info)
implicit none implicit none
class(psb_zprec_type), intent(inout) :: prec class(psb_zprec_type), intent(inout) :: prec
class(psb_zprec_type), intent(out) :: precout class(psb_zprec_type), intent(inout) :: precout
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
info = psb_success_ info = psb_success_
call prec%free(info)
if (allocated(prec%prec)) then if (allocated(prec%prec)) then
call prec%prec%clone(precout%prec,info) call prec%prec%clone(precout%prec,info)
end if end if

Loading…
Cancel
Save