Refactor vect_mod

This commit is contained in:
Salvatore Filippone
2026-05-03 11:14:23 +02:00
parent 7ff4d251fd
commit dd6dd4cdfe
16 changed files with 15519 additions and 9898 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4 -1
View File
@@ -7,7 +7,10 @@ BOBJS=psb_base_mat_impl.o \
psb_s_base_mat_impl.o psb_d_base_mat_impl.o psb_c_base_mat_impl.o psb_z_base_mat_impl.o \
psb_i_base_vect_impl.o psb_l_base_vect_impl.o \
psb_s_base_vect_impl.o psb_d_base_vect_impl.o \
psb_c_base_vect_impl.o psb_z_base_vect_impl.o
psb_c_base_vect_impl.o psb_z_base_vect_impl.o \
psb_i_vect_impl.o psb_l_vect_impl.o \
psb_s_vect_impl.o psb_d_vect_impl.o \
psb_c_vect_impl.o psb_z_vect_impl.o
#\
psb_s_lbase_mat_impl.o psb_d_lbase_mat_impl.o psb_c_lbase_mat_impl.o psb_z_lbase_mat_impl.o
File diff suppressed because it is too large Load Diff
+9 -2
View File
@@ -279,6 +279,7 @@ contains
info = 0
if (psb_errstatus_fatal()) return
write(0,*) 'd_base_ins_a: ',n
if (try_newins) then
if (x%is_bld()) then
ncfs_ = x%get_ncfs()
@@ -1023,6 +1024,7 @@ contains
if (present(last)) last_ = min(last,last_)
if (x%is_dev()) call x%sync()
write(0,*)'d_base%set_scal ',val,first_,last_
#if defined(PSB_OPENMP)
!$omp parallel do private(i)
do i = first_, last_
@@ -1031,8 +1033,11 @@ contains
#else
x%v(first_:last_) = val
#endif
write(0,*) 'end of set_scal',&
& ((last_-first_+1)/2+first_),&
& x%v((last_-first_+1)/2+first_)
call x%set_host()
end subroutine d_base_set_scal
@@ -1093,16 +1098,18 @@ contains
!! \brief Get one entry from the vector
!!
!
module function d_base_get_entry(x, index) result(res)
module function d_base_get_entry(x, index) result(res)
implicit none
class(psb_d_base_vect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: index
real(psb_dpk_) :: res
res = dzero
write(0,*) 'base%get_entry ',allocated(x%v),index
if (allocated(x%v)) then
if (x%is_dev()) call x%sync()
res = x%v(index)
write(0,*) 'base%get_entry out',index,res
end if
end function d_base_get_entry
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1
View File
@@ -266,6 +266,7 @@ contains
end if
ixb = psb_c_get_index_base()
write(0,*) 'C_get_entry: ',index,(index+(1-ixb))
res = xp%get_entry((index+(1-ixb)))
end function psb_c_dvect_get_entry