Made safe for index not owned or in the halo

newG2L
Cirdans-Home 4 years ago
parent 91c328baba
commit faf493b861

@ -63,7 +63,7 @@ function psb_c_getelem(x,index,desc_a,info) result(res)
logical, parameter :: debug = .false. logical, parameter :: debug = .false.
gindex(1) = index gindex(1) = index
res = -1.0 res = czero
if (psb_errstatus_fatal()) return if (psb_errstatus_fatal()) return
info=psb_success_ info=psb_success_
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -92,7 +92,13 @@ function psb_c_getelem(x,index,desc_a,info) result(res)
write(*,*)"My (local+halo) indexes are: ",myidx write(*,*)"My (local+halo) indexes are: ",myidx
write(*,*)"My (local) indexes are: ",mylocal write(*,*)"My (local) indexes are: ",mylocal
end if end if
if ( localindex(1) < 1) then
info = psb_err_internal_error_
call psb_errpush(info,name,a_err="Index not in the HALO")
goto 9999
else
res = x%get_entry(localindex(1)) res = x%get_entry(localindex(1))
end if
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

@ -63,7 +63,7 @@ function psb_d_getelem(x,index,desc_a,info) result(res)
logical, parameter :: debug = .false. logical, parameter :: debug = .false.
gindex(1) = index gindex(1) = index
res = -1.0 res = dzero
if (psb_errstatus_fatal()) return if (psb_errstatus_fatal()) return
info=psb_success_ info=psb_success_
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -92,7 +92,13 @@ function psb_d_getelem(x,index,desc_a,info) result(res)
write(*,*)"My (local+halo) indexes are: ",myidx write(*,*)"My (local+halo) indexes are: ",myidx
write(*,*)"My (local) indexes are: ",mylocal write(*,*)"My (local) indexes are: ",mylocal
end if end if
if ( localindex(1) < 1) then
info = psb_err_internal_error_
call psb_errpush(info,name,a_err="Index not in the HALO")
goto 9999
else
res = x%get_entry(localindex(1)) res = x%get_entry(localindex(1))
end if
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

@ -63,7 +63,7 @@ function psb_s_getelem(x,index,desc_a,info) result(res)
logical, parameter :: debug = .false. logical, parameter :: debug = .false.
gindex(1) = index gindex(1) = index
res = -1.0 res = szero
if (psb_errstatus_fatal()) return if (psb_errstatus_fatal()) return
info=psb_success_ info=psb_success_
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -92,7 +92,13 @@ function psb_s_getelem(x,index,desc_a,info) result(res)
write(*,*)"My (local+halo) indexes are: ",myidx write(*,*)"My (local+halo) indexes are: ",myidx
write(*,*)"My (local) indexes are: ",mylocal write(*,*)"My (local) indexes are: ",mylocal
end if end if
if ( localindex(1) < 1) then
info = psb_err_internal_error_
call psb_errpush(info,name,a_err="Index not in the HALO")
goto 9999
else
res = x%get_entry(localindex(1)) res = x%get_entry(localindex(1))
end if
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

@ -63,7 +63,7 @@ function psb_z_getelem(x,index,desc_a,info) result(res)
logical, parameter :: debug = .false. logical, parameter :: debug = .false.
gindex(1) = index gindex(1) = index
res = -1.0 res = zzero
if (psb_errstatus_fatal()) return if (psb_errstatus_fatal()) return
info=psb_success_ info=psb_success_
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -92,7 +92,13 @@ function psb_z_getelem(x,index,desc_a,info) result(res)
write(*,*)"My (local+halo) indexes are: ",myidx write(*,*)"My (local+halo) indexes are: ",myidx
write(*,*)"My (local) indexes are: ",mylocal write(*,*)"My (local) indexes are: ",mylocal
end if end if
if ( localindex(1) < 1) then
info = psb_err_internal_error_
call psb_errpush(info,name,a_err="Index not in the HALO")
goto 9999
else
res = x%get_entry(localindex(1)) res = x%get_entry(localindex(1))
end if
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

Loading…
Cancel
Save