diff --git a/base/modules/serial/psb_c_base_vect_mod.f90 b/base/modules/serial/psb_c_base_vect_mod.f90 index 44adceeb..5ec82814 100644 --- a/base/modules/serial/psb_c_base_vect_mod.f90 +++ b/base/modules/serial/psb_c_base_vect_mod.f90 @@ -794,9 +794,9 @@ contains integer(psb_ipk_) :: info, first_, last_, nr - first_=1 - last_=min(psb_size(x%v),size(val)) + first_ = 1 if (present(first)) first_ = max(1,first) + last_ = min(psb_size(x%v),first_+size(val)-1) if (present(last)) last_ = min(last,last_) if (allocated(x%v)) then diff --git a/base/modules/serial/psb_d_base_vect_mod.f90 b/base/modules/serial/psb_d_base_vect_mod.f90 index 460b7c78..7645f178 100644 --- a/base/modules/serial/psb_d_base_vect_mod.f90 +++ b/base/modules/serial/psb_d_base_vect_mod.f90 @@ -794,9 +794,9 @@ contains integer(psb_ipk_) :: info, first_, last_, nr - first_=1 - last_=min(psb_size(x%v),size(val)) + first_ = 1 if (present(first)) first_ = max(1,first) + last_ = min(psb_size(x%v),first_+size(val)-1) if (present(last)) last_ = min(last,last_) if (allocated(x%v)) then diff --git a/base/modules/serial/psb_i_base_vect_mod.f90 b/base/modules/serial/psb_i_base_vect_mod.f90 index 8d6f2cc5..a6da896b 100644 --- a/base/modules/serial/psb_i_base_vect_mod.f90 +++ b/base/modules/serial/psb_i_base_vect_mod.f90 @@ -762,9 +762,9 @@ contains integer(psb_ipk_) :: info, first_, last_, nr - first_=1 - last_=min(psb_size(x%v),size(val)) + first_ = 1 if (present(first)) first_ = max(1,first) + last_ = min(psb_size(x%v),first_+size(val)-1) if (present(last)) last_ = min(last,last_) if (allocated(x%v)) then diff --git a/base/modules/serial/psb_l_base_vect_mod.f90 b/base/modules/serial/psb_l_base_vect_mod.f90 index 84450a17..c379242f 100644 --- a/base/modules/serial/psb_l_base_vect_mod.f90 +++ b/base/modules/serial/psb_l_base_vect_mod.f90 @@ -763,9 +763,9 @@ contains integer(psb_ipk_) :: info, first_, last_, nr - first_=1 - last_=min(psb_size(x%v),size(val)) + first_ = 1 if (present(first)) first_ = max(1,first) + last_ = min(psb_size(x%v),first_+size(val)-1) if (present(last)) last_ = min(last,last_) if (allocated(x%v)) then diff --git a/base/modules/serial/psb_s_base_vect_mod.f90 b/base/modules/serial/psb_s_base_vect_mod.f90 index e3002b17..5496ad18 100644 --- a/base/modules/serial/psb_s_base_vect_mod.f90 +++ b/base/modules/serial/psb_s_base_vect_mod.f90 @@ -794,9 +794,9 @@ contains integer(psb_ipk_) :: info, first_, last_, nr - first_=1 - last_=min(psb_size(x%v),size(val)) + first_ = 1 if (present(first)) first_ = max(1,first) + last_ = min(psb_size(x%v),first_+size(val)-1) if (present(last)) last_ = min(last,last_) if (allocated(x%v)) then diff --git a/base/modules/serial/psb_z_base_vect_mod.f90 b/base/modules/serial/psb_z_base_vect_mod.f90 index c0c41cc9..59660dde 100644 --- a/base/modules/serial/psb_z_base_vect_mod.f90 +++ b/base/modules/serial/psb_z_base_vect_mod.f90 @@ -794,9 +794,9 @@ contains integer(psb_ipk_) :: info, first_, last_, nr - first_=1 - last_=min(psb_size(x%v),size(val)) + first_ = 1 if (present(first)) first_ = max(1,first) + last_ = min(psb_size(x%v),first_+size(val)-1) if (present(last)) last_ = min(last,last_) if (allocated(x%v)) then