Fix bounds computation in set_vect. Bug report by Alexandre Silva Lopes

MixedI8
Salvatore Filippone 8 years ago
parent deea842017
commit 4f8acf331a

@ -795,8 +795,8 @@ contains
integer(psb_ipk_) :: info, first_, last_, nr integer(psb_ipk_) :: info, first_, last_, nr
first_ = 1 first_ = 1
last_=min(psb_size(x%v),size(val))
if (present(first)) first_ = max(1,first) 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 (present(last)) last_ = min(last,last_)
if (allocated(x%v)) then if (allocated(x%v)) then

@ -795,8 +795,8 @@ contains
integer(psb_ipk_) :: info, first_, last_, nr integer(psb_ipk_) :: info, first_, last_, nr
first_ = 1 first_ = 1
last_=min(psb_size(x%v),size(val))
if (present(first)) first_ = max(1,first) 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 (present(last)) last_ = min(last,last_)
if (allocated(x%v)) then if (allocated(x%v)) then

@ -763,8 +763,8 @@ contains
integer(psb_ipk_) :: info, first_, last_, nr integer(psb_ipk_) :: info, first_, last_, nr
first_ = 1 first_ = 1
last_=min(psb_size(x%v),size(val))
if (present(first)) first_ = max(1,first) 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 (present(last)) last_ = min(last,last_)
if (allocated(x%v)) then if (allocated(x%v)) then

@ -764,8 +764,8 @@ contains
integer(psb_ipk_) :: info, first_, last_, nr integer(psb_ipk_) :: info, first_, last_, nr
first_ = 1 first_ = 1
last_=min(psb_size(x%v),size(val))
if (present(first)) first_ = max(1,first) 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 (present(last)) last_ = min(last,last_)
if (allocated(x%v)) then if (allocated(x%v)) then

@ -795,8 +795,8 @@ contains
integer(psb_ipk_) :: info, first_, last_, nr integer(psb_ipk_) :: info, first_, last_, nr
first_ = 1 first_ = 1
last_=min(psb_size(x%v),size(val))
if (present(first)) first_ = max(1,first) 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 (present(last)) last_ = min(last,last_)
if (allocated(x%v)) then if (allocated(x%v)) then

@ -795,8 +795,8 @@ contains
integer(psb_ipk_) :: info, first_, last_, nr integer(psb_ipk_) :: info, first_, last_, nr
first_ = 1 first_ = 1
last_=min(psb_size(x%v),size(val))
if (present(first)) first_ = max(1,first) 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 (present(last)) last_ = min(last,last_)
if (allocated(x%v)) then if (allocated(x%v)) then

Loading…
Cancel
Save