Merged MixedI8 in new branch (to be later merged into development)

This commit is contained in:
Salvatore Filippone
2018-12-10 11:42:40 +00:00
parent 5371e39c16
commit 8d489f8ce2
921 changed files with 172036 additions and 57462 deletions
+7 -19
View File
@@ -38,8 +38,8 @@
module psb_c_linmap_mod
use psb_const_mod
use psb_c_mat_mod, only : psb_cspmat_type
use psb_desc_mod, only : psb_desc_type
use psb_c_mat_mod
use psb_desc_mod
use psb_base_linmap_mod
@@ -118,13 +118,13 @@ module psb_c_linmap_mod
interface psb_linmap
function psb_c_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr)
use psb_c_mat_mod, only : psb_cspmat_type
import :: psb_ipk_, psb_clinmap_type, psb_desc_type
import :: psb_ipk_, psb_clinmap_type, psb_desc_type, psb_lpk_
implicit none
type(psb_clinmap_type) :: psb_c_linmap
type(psb_desc_type), target :: desc_X, desc_Y
type(psb_cspmat_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_c_linmap
end interface
@@ -137,11 +137,9 @@ module psb_c_linmap_mod
contains
function c_map_sizeof(map) result(val)
use psb_desc_mod
use psb_c_mat_mod
implicit none
class(psb_clinmap_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 c_is_asb(map) result(val)
use psb_desc_mod
implicit none
class(psb_clinmap_type), intent(in) :: map
logical :: val
@@ -163,8 +160,6 @@ contains
subroutine psb_c_map_cscnv(map,info,type,mold,imold)
use psb_i_vect_mod
use psb_c_mat_mod
implicit none
class(psb_clinmap_type), intent(inout) :: map
integer(psb_ipk_), intent(out) :: info
@@ -185,20 +180,17 @@ contains
subroutine psb_c_linmap_sub(out_map,map_kind,desc_X, desc_Y,&
& map_X2Y, map_Y2X,iaggr,naggr)
use psb_c_mat_mod
implicit none
type(psb_clinmap_type), intent(out) :: out_map
type(psb_desc_type), target :: desc_X, desc_Y
type(psb_cspmat_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_c_linmap_sub
subroutine psb_clinmap_transfer(mapin,mapout,info)
use psb_realloc_mod
use psb_desc_mod
use psb_mat_mod, only : psb_move_alloc
implicit none
type(psb_clinmap_type) :: mapin,mapout
integer(psb_ipk_), intent(out) :: info
@@ -211,7 +203,6 @@ contains
end subroutine psb_clinmap_transfer
subroutine c_free(map,info)
use psb_desc_mod
implicit none
class(psb_clinmap_type) :: map
integer(psb_ipk_), intent(out) :: info
@@ -225,7 +216,6 @@ contains
subroutine c_clone(map,mapout,info)
use psb_desc_mod
use psb_error_mod
implicit none
class(psb_clinmap_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)