Missing index base adjustment in psb_c_cdins

newG2L
Salvatore Filippone 4 years ago
parent 0cdd36edf3
commit 69b1678f6b

@ -218,13 +218,19 @@ contains
integer(psb_c_lpk_) :: ia(*),ja(*) integer(psb_c_lpk_) :: ia(*),ja(*)
type(psb_desc_type), pointer :: descp type(psb_desc_type), pointer :: descp
integer(psb_c_ipk_) :: info integer(psb_c_ipk_) :: ixb,info
res = -1 res = -1
if (c_associated(cdh%item)) then if (c_associated(cdh%item)) then
call c_f_pointer(cdh%item,descp) call c_f_pointer(cdh%item,descp)
call psb_cdins(nz,ia(1:nz),ja(1:nz),descp,info) ixb = psb_c_get_index_base()
if (ixb == 1) then
call psb_cdins(nz,ia(1:nz),ja(1:nz),descp,info)
else
call psb_cdins(nz,(ia(1:nz)+(1-ixb)),(ja(1:nz)+(1-ixb)),descp,info)
end if
res = info res = info
end if end if
return return

Loading…
Cancel
Save