mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
Merged MixedI8 in new branch (to be later merged into development)
This commit is contained in:
@@ -38,8 +38,8 @@
|
||||
module psb_d_linmap_mod
|
||||
|
||||
use psb_const_mod
|
||||
use psb_d_mat_mod, only : psb_dspmat_type
|
||||
use psb_desc_mod, only : psb_desc_type
|
||||
use psb_d_mat_mod
|
||||
use psb_desc_mod
|
||||
use psb_base_linmap_mod
|
||||
|
||||
|
||||
@@ -118,13 +118,13 @@ module psb_d_linmap_mod
|
||||
interface psb_linmap
|
||||
function psb_d_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr)
|
||||
use psb_d_mat_mod, only : psb_dspmat_type
|
||||
import :: psb_ipk_, psb_dlinmap_type, psb_desc_type
|
||||
import :: psb_ipk_, psb_dlinmap_type, psb_desc_type, psb_lpk_
|
||||
implicit none
|
||||
type(psb_dlinmap_type) :: psb_d_linmap
|
||||
type(psb_desc_type), target :: desc_X, desc_Y
|
||||
type(psb_dspmat_type), intent(inout) :: map_X2Y, map_Y2X
|
||||
integer(psb_ipk_), intent(in) :: map_kind
|
||||
integer(psb_ipk_), intent(in), optional :: iaggr(:), naggr(:)
|
||||
integer(psb_lpk_), intent(in), optional :: iaggr(:), naggr(:)
|
||||
end function psb_d_linmap
|
||||
end interface
|
||||
|
||||
@@ -137,11 +137,9 @@ module psb_d_linmap_mod
|
||||
contains
|
||||
|
||||
function d_map_sizeof(map) result(val)
|
||||
use psb_desc_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
class(psb_dlinmap_type), intent(in) :: map
|
||||
integer(psb_long_int_k_) :: val
|
||||
integer(psb_epk_) :: val
|
||||
|
||||
val = map%psb_base_linmap_type%sizeof()
|
||||
val = val + map%map_X2Y%sizeof()
|
||||
@@ -151,7 +149,6 @@ contains
|
||||
|
||||
|
||||
function d_is_asb(map) result(val)
|
||||
use psb_desc_mod
|
||||
implicit none
|
||||
class(psb_dlinmap_type), intent(in) :: map
|
||||
logical :: val
|
||||
@@ -163,8 +160,6 @@ contains
|
||||
|
||||
|
||||
subroutine psb_d_map_cscnv(map,info,type,mold,imold)
|
||||
use psb_i_vect_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
class(psb_dlinmap_type), intent(inout) :: map
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -185,20 +180,17 @@ contains
|
||||
|
||||
subroutine psb_d_linmap_sub(out_map,map_kind,desc_X, desc_Y,&
|
||||
& map_X2Y, map_Y2X,iaggr,naggr)
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
type(psb_dlinmap_type), intent(out) :: out_map
|
||||
type(psb_desc_type), target :: desc_X, desc_Y
|
||||
type(psb_dspmat_type), intent(inout) :: map_X2Y, map_Y2X
|
||||
integer(psb_ipk_), intent(in) :: map_kind
|
||||
integer(psb_ipk_), intent(in), optional :: iaggr(:), naggr(:)
|
||||
integer(psb_lpk_), intent(in), optional :: iaggr(:), naggr(:)
|
||||
out_map = psb_linmap(map_kind,desc_X,desc_Y,map_X2Y,map_Y2X,iaggr,naggr)
|
||||
end subroutine psb_d_linmap_sub
|
||||
|
||||
subroutine psb_dlinmap_transfer(mapin,mapout,info)
|
||||
use psb_realloc_mod
|
||||
use psb_desc_mod
|
||||
use psb_mat_mod, only : psb_move_alloc
|
||||
implicit none
|
||||
type(psb_dlinmap_type) :: mapin,mapout
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -211,7 +203,6 @@ contains
|
||||
end subroutine psb_dlinmap_transfer
|
||||
|
||||
subroutine d_free(map,info)
|
||||
use psb_desc_mod
|
||||
implicit none
|
||||
class(psb_dlinmap_type) :: map
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -225,7 +216,6 @@ contains
|
||||
|
||||
|
||||
subroutine d_clone(map,mapout,info)
|
||||
use psb_desc_mod
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psb_dlinmap_type), intent(inout) :: map
|
||||
@@ -233,7 +223,6 @@ contains
|
||||
integer(psb_ipk_) :: info
|
||||
|
||||
integer(psb_ipk_) :: err_act
|
||||
integer(psb_ipk_) :: ierr(5)
|
||||
character(len=20) :: name='clone'
|
||||
|
||||
info = 0
|
||||
@@ -247,9 +236,8 @@ contains
|
||||
if (info == 0) call map%map_Y2X%clone(mout%map_Y2X,info)
|
||||
class default
|
||||
info = psb_err_invalid_dynamic_type_
|
||||
ierr(1) = 2
|
||||
info = psb_err_missing_override_method_
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
call psb_errpush(info,name,m_err=(/2/))
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
call psb_error_handler(err_act)
|
||||
|
||||
Reference in New Issue
Block a user