|
|
@ -448,8 +448,21 @@ function psb_c_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr) &
|
|
|
|
else
|
|
|
|
else
|
|
|
|
info = psb_err_invalid_ovr_num_
|
|
|
|
info = psb_err_invalid_ovr_num_
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
! For a general linear map ignore iaggr,naggr
|
|
|
|
! If iaggr/naggr are present, copy them anyway.
|
|
|
|
allocate(this%iaggr(0), this%naggr(0), stat=info)
|
|
|
|
if (present(iaggr)) then
|
|
|
|
|
|
|
|
if (.not.present(naggr)) then
|
|
|
|
|
|
|
|
info = 7
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
allocate(this%iaggr(size(iaggr)),&
|
|
|
|
|
|
|
|
& this%naggr(size(naggr)), stat=info)
|
|
|
|
|
|
|
|
if (info == psb_success_) then
|
|
|
|
|
|
|
|
this%iaggr(:) = iaggr(:)
|
|
|
|
|
|
|
|
this%naggr(:) = naggr(:)
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
allocate(this%iaggr(0), this%naggr(0), stat=info)
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
case default
|
|
|
|
case default
|
|
|
|
write(psb_err_unit,*) 'Bad map kind into psb_linmap ',map_kind
|
|
|
|
write(psb_err_unit,*) 'Bad map kind into psb_linmap ',map_kind
|
|
|
|