From 91d7e8179ba2ef3211afc787ba926392999060be Mon Sep 17 00:00:00 2001 From: sfilippone Date: Tue, 16 Jun 2026 12:48:51 +0200 Subject: [PATCH] Split functions in cbind from psblas to serial --- cbind/base/psb_c_psblas_cbind_mod.f90 | 228 -------------------------- cbind/base/psb_c_serial_cbind_mod.F90 | 6 +- cbind/base/psb_d_psblas_cbind_mod.f90 | 1 - cbind/base/psb_d_serial_cbind_mod.F90 | 6 +- cbind/base/psb_s_psblas_cbind_mod.f90 | 228 -------------------------- cbind/base/psb_s_serial_cbind_mod.F90 | 6 +- cbind/base/psb_z_psblas_cbind_mod.f90 | 228 -------------------------- cbind/base/psb_z_serial_cbind_mod.F90 | 6 +- 8 files changed, 12 insertions(+), 697 deletions(-) diff --git a/cbind/base/psb_c_psblas_cbind_mod.f90 b/cbind/base/psb_c_psblas_cbind_mod.f90 index aea9bad2b..edd3516e6 100644 --- a/cbind/base/psb_c_psblas_cbind_mod.f90 +++ b/cbind/base/psb_c_psblas_cbind_mod.f90 @@ -941,234 +941,6 @@ contains end function psb_c_cspsm - function psb_c_cnnz(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = 0 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = psb_nnz(ap,descp,info) - - end function psb_c_cnnz - - function psb_c_cis_matupd(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_upd() - end function - - function psb_c_cis_matasb(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_asb() - end function - - function psb_c_cis_matbld(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_bld() - end function - - function psb_c_cset_matupd(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_upd() - - res = psb_success_ - end function - - function psb_c_cset_matasb(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - - res = -1; - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_asb() - - res = psb_success_ - - end function - - function psb_c_cset_matbld(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_cspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_bld() - - res = psb_success_ - end function - - function psb_c_ccopy_mat(ah,bh,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_cspmat) :: ah,bh - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_cspmat_type), pointer :: ap,bp - integer(psb_c_ipk_) :: info - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - if (c_associated(bh%item)) then - call c_f_pointer(bh%item,bp) - else - return - end if - - call ap%clone(bp,info) - - res = info - end function - function psb_c_cspscal(alpha,ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res diff --git a/cbind/base/psb_c_serial_cbind_mod.F90 b/cbind/base/psb_c_serial_cbind_mod.F90 index d5e59c3b9..0745d47ba 100644 --- a/cbind/base/psb_c_serial_cbind_mod.F90 +++ b/cbind/base/psb_c_serial_cbind_mod.F90 @@ -273,13 +273,13 @@ contains res = xp%get_entry((index+(1-ixb))) end function psb_c_cvect_get_entry - function psb_c_cnnz(ah,cdh) bind(c) result(res) + function psb_c_cnnz(ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res - + type(psb_c_cspmat) :: ah type(psb_c_descriptor) :: cdh - + type(psb_desc_type), pointer :: descp type(psb_cspmat_type), pointer :: ap integer(psb_c_ipk_) :: info diff --git a/cbind/base/psb_d_psblas_cbind_mod.f90 b/cbind/base/psb_d_psblas_cbind_mod.f90 index 45a80ebd5..aa8c8dc09 100644 --- a/cbind/base/psb_d_psblas_cbind_mod.f90 +++ b/cbind/base/psb_d_psblas_cbind_mod.f90 @@ -1042,7 +1042,6 @@ contains end function psb_c_dspsm - function psb_c_dspscal(alpha,ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res diff --git a/cbind/base/psb_d_serial_cbind_mod.F90 b/cbind/base/psb_d_serial_cbind_mod.F90 index a85607921..8906ea712 100644 --- a/cbind/base/psb_d_serial_cbind_mod.F90 +++ b/cbind/base/psb_d_serial_cbind_mod.F90 @@ -273,13 +273,13 @@ contains res = xp%get_entry((index+(1-ixb))) end function psb_c_dvect_get_entry - function psb_c_dnnz(ah,cdh) bind(c) result(res) + function psb_c_dnnz(ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res - + type(psb_c_dspmat) :: ah type(psb_c_descriptor) :: cdh - + type(psb_desc_type), pointer :: descp type(psb_dspmat_type), pointer :: ap integer(psb_c_ipk_) :: info diff --git a/cbind/base/psb_s_psblas_cbind_mod.f90 b/cbind/base/psb_s_psblas_cbind_mod.f90 index 97cc5284e..bbdabb74f 100644 --- a/cbind/base/psb_s_psblas_cbind_mod.f90 +++ b/cbind/base/psb_s_psblas_cbind_mod.f90 @@ -1042,234 +1042,6 @@ contains end function psb_c_sspsm - function psb_c_snnz(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = 0 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = psb_nnz(ap,descp,info) - - end function psb_c_snnz - - function psb_c_sis_matupd(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_upd() - end function - - function psb_c_sis_matasb(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_asb() - end function - - function psb_c_sis_matbld(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_bld() - end function - - function psb_c_sset_matupd(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_upd() - - res = psb_success_ - end function - - function psb_c_sset_matasb(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - - res = -1; - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_asb() - - res = psb_success_ - - end function - - function psb_c_sset_matbld(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_sspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_bld() - - res = psb_success_ - end function - - function psb_c_scopy_mat(ah,bh,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_sspmat) :: ah,bh - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_sspmat_type), pointer :: ap,bp - integer(psb_c_ipk_) :: info - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - if (c_associated(bh%item)) then - call c_f_pointer(bh%item,bp) - else - return - end if - - call ap%clone(bp,info) - - res = info - end function - function psb_c_sspscal(alpha,ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res diff --git a/cbind/base/psb_s_serial_cbind_mod.F90 b/cbind/base/psb_s_serial_cbind_mod.F90 index a2f222d92..176ac33e0 100644 --- a/cbind/base/psb_s_serial_cbind_mod.F90 +++ b/cbind/base/psb_s_serial_cbind_mod.F90 @@ -273,13 +273,13 @@ contains res = xp%get_entry((index+(1-ixb))) end function psb_c_svect_get_entry - function psb_c_snnz(ah,cdh) bind(c) result(res) + function psb_c_snnz(ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res - + type(psb_c_sspmat) :: ah type(psb_c_descriptor) :: cdh - + type(psb_desc_type), pointer :: descp type(psb_sspmat_type), pointer :: ap integer(psb_c_ipk_) :: info diff --git a/cbind/base/psb_z_psblas_cbind_mod.f90 b/cbind/base/psb_z_psblas_cbind_mod.f90 index 0254860ba..d2f9b6843 100644 --- a/cbind/base/psb_z_psblas_cbind_mod.f90 +++ b/cbind/base/psb_z_psblas_cbind_mod.f90 @@ -941,234 +941,6 @@ contains end function psb_c_zspsm - function psb_c_znnz(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = 0 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = psb_nnz(ap,descp,info) - - end function psb_c_znnz - - function psb_c_zis_matupd(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_upd() - end function - - function psb_c_zis_matasb(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_asb() - end function - - function psb_c_zis_matbld(ah,cdh) bind(c) result(res) - implicit none - logical(c_bool) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - integer(psb_c_ipk_) :: info - - res = .false. - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - res = ap%is_bld() - end function - - function psb_c_zset_matupd(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_upd() - - res = psb_success_ - end function - - function psb_c_zset_matasb(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - - res = -1; - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_asb() - - res = psb_success_ - - end function - - function psb_c_zset_matbld(ah,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_zspmat) :: ah - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - - call ap%set_bld() - - res = psb_success_ - end function - - function psb_c_zcopy_mat(ah,bh,cdh) bind(c) result(res) - implicit none - integer(psb_c_ipk_) :: res - - type(psb_c_zspmat) :: ah,bh - type(psb_c_descriptor) :: cdh - - type(psb_desc_type), pointer :: descp - type(psb_zspmat_type), pointer :: ap,bp - integer(psb_c_ipk_) :: info - - res = -1 - - if (c_associated(cdh%item)) then - call c_f_pointer(cdh%item,descp) - else - return - end if - if (c_associated(ah%item)) then - call c_f_pointer(ah%item,ap) - else - return - end if - if (c_associated(bh%item)) then - call c_f_pointer(bh%item,bp) - else - return - end if - - call ap%clone(bp,info) - - res = info - end function - function psb_c_zspscal(alpha,ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res diff --git a/cbind/base/psb_z_serial_cbind_mod.F90 b/cbind/base/psb_z_serial_cbind_mod.F90 index c379a0b8d..81d4e7e52 100644 --- a/cbind/base/psb_z_serial_cbind_mod.F90 +++ b/cbind/base/psb_z_serial_cbind_mod.F90 @@ -273,13 +273,13 @@ contains res = xp%get_entry((index+(1-ixb))) end function psb_c_zvect_get_entry - function psb_c_znnz(ah,cdh) bind(c) result(res) + function psb_c_znnz(ah,cdh) bind(c) result(res) implicit none integer(psb_c_ipk_) :: res - + type(psb_c_zspmat) :: ah type(psb_c_descriptor) :: cdh - + type(psb_desc_type), pointer :: descp type(psb_zspmat_type), pointer :: ap integer(psb_c_ipk_) :: info