From 19ce4a0942ca44682396af79790e0591768c8255 Mon Sep 17 00:00:00 2001 From: sfilippone Date: Wed, 29 Apr 2026 14:06:35 +0200 Subject: [PATCH] Fix multivect assembly and comments in base_vect --- base/modules/serial/psb_c_base_vect_mod.F90 | 21 +++++++++------- base/modules/serial/psb_c_vect_mod.F90 | 8 ++++--- base/modules/serial/psb_d_base_vect_mod.F90 | 25 +++++++++++++------- base/modules/serial/psb_d_vect_mod.F90 | 8 ++++--- base/modules/serial/psb_i2_base_vect_mod.F90 | 21 +++++++++------- base/modules/serial/psb_i2_vect_mod.F90 | 8 ++++--- base/modules/serial/psb_i_base_vect_mod.F90 | 21 +++++++++------- base/modules/serial/psb_i_vect_mod.F90 | 8 ++++--- base/modules/serial/psb_l_base_vect_mod.F90 | 21 +++++++++------- base/modules/serial/psb_l_vect_mod.F90 | 8 ++++--- base/modules/serial/psb_s_base_vect_mod.F90 | 25 +++++++++++++------- base/modules/serial/psb_s_vect_mod.F90 | 8 ++++--- base/modules/serial/psb_z_base_vect_mod.F90 | 21 +++++++++------- base/modules/serial/psb_z_vect_mod.F90 | 8 ++++--- base/tools/psb_casb.f90 | 2 +- base/tools/psb_dasb.f90 | 2 +- base/tools/psb_iasb.f90 | 2 +- base/tools/psb_lasb.f90 | 2 +- base/tools/psb_sasb.f90 | 2 +- base/tools/psb_zasb.f90 | 2 +- 20 files changed, 140 insertions(+), 83 deletions(-) diff --git a/base/modules/serial/psb_c_base_vect_mod.F90 b/base/modules/serial/psb_c_base_vect_mod.F90 index b27ed160..cd970162 100644 --- a/base/modules/serial/psb_c_base_vect_mod.F90 +++ b/base/modules/serial/psb_c_base_vect_mod.F90 @@ -2677,7 +2677,7 @@ contains logical, intent(in), optional :: scratch call psb_realloc(m,n,x%v,info) - call x%asb(m,n,info,scratch) + call x%asb(m,n,info,scratch=scratch) end subroutine c_base_mlv_bld_n @@ -2958,23 +2958,26 @@ contains case(psb_dupl_err_) do i=1,ncfs if (any(vv(x%iv(i),:).ne.czero)) then - call psb_errpush(psb_err_duplicate_coo,'vect-asb') + info = psb_err_duplicate_coo + call psb_errpush(info,'mvect-asb') return else vv(x%iv(i),:) = x%v(i,:) end if end do case default - write(psb_err_unit,*) 'Error in vect_asb: unsafe dupl',x%get_dupl() + write(psb_err_unit,*) 'Error in mvect_asb: unsafe dupl',x%get_dupl() info =-7 end select call psb_move_alloc(vv,x%v,info) if (allocated(x%iv)) deallocate(x%iv,stat=info) else if (x%is_upd().or.x%is_asb().or.scratch_) then - if (x%get_nrows() < m) & + if ((x%get_nrows() < m).or.(x%get_ncols()