|
|
@ -2185,60 +2185,6 @@ contains
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_c_csr_csgetrow
|
|
|
|
end subroutine psb_c_csr_csgetrow
|
|
|
|
|
|
|
|
|
|
|
|
!!$subroutine psb_c_csr_csgetblk(imin,imax,a,b,info,&
|
|
|
|
|
|
|
|
!!$ & jmin,jmax,iren,append,rscale,cscale)
|
|
|
|
|
|
|
|
!!$ ! Output is always in COO format
|
|
|
|
|
|
|
|
!!$ use psb_error_mod
|
|
|
|
|
|
|
|
!!$ use psb_const_mod
|
|
|
|
|
|
|
|
!!$ use psb_c_csr_mat_mod, psb_protect_name => psb_c_csr_csgetblk
|
|
|
|
|
|
|
|
!!$ implicit none
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ class(psb_c_csr_sparse_mat), intent(in) :: a
|
|
|
|
|
|
|
|
!!$ class(psb_c_coo_sparse_mat), intent(inout) :: b
|
|
|
|
|
|
|
|
!!$ integer(psb_ipk_), intent(in) :: imin,imax
|
|
|
|
|
|
|
|
!!$ integer(psb_ipk_),intent(out) :: info
|
|
|
|
|
|
|
|
!!$ logical, intent(in), optional :: append
|
|
|
|
|
|
|
|
!!$ integer(psb_ipk_), intent(in), optional :: iren(:)
|
|
|
|
|
|
|
|
!!$ integer(psb_ipk_), intent(in), optional :: jmin,jmax
|
|
|
|
|
|
|
|
!!$ logical, intent(in), optional :: rscale,cscale
|
|
|
|
|
|
|
|
!!$ integer(psb_ipk_) :: err_act, nzin, nzout
|
|
|
|
|
|
|
|
!!$ integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
|
|
|
!!$ character(len=20) :: name='csget'
|
|
|
|
|
|
|
|
!!$ logical :: append_
|
|
|
|
|
|
|
|
!!$ logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ call psb_erractionsave(err_act)
|
|
|
|
|
|
|
|
!!$ info = psb_success_
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ if (present(append)) then
|
|
|
|
|
|
|
|
!!$ append_ = append
|
|
|
|
|
|
|
|
!!$ else
|
|
|
|
|
|
|
|
!!$ append_ = .false.
|
|
|
|
|
|
|
|
!!$ endif
|
|
|
|
|
|
|
|
!!$ if (append_) then
|
|
|
|
|
|
|
|
!!$ nzin = a%get_nzeros()
|
|
|
|
|
|
|
|
!!$ else
|
|
|
|
|
|
|
|
!!$ nzin = 0
|
|
|
|
|
|
|
|
!!$ endif
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ call a%csget(imin,imax,nzout,b%ia,b%ja,b%val,info,&
|
|
|
|
|
|
|
|
!!$ & jmin=jmin, jmax=jmax, iren=iren, append=append_, &
|
|
|
|
|
|
|
|
!!$ & nzin=nzin, rscale=rscale, cscale=cscale)
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ if (info /= psb_success_) goto 9999
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ call b%set_nzeros(nzin+nzout)
|
|
|
|
|
|
|
|
!!$ call b%fix(info)
|
|
|
|
|
|
|
|
!!$ if (info /= psb_success_) goto 9999
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ call psb_erractionrestore(err_act)
|
|
|
|
|
|
|
|
!!$ return
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$9999 call psb_error_handler(err_act)
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$ return
|
|
|
|
|
|
|
|
!!$
|
|
|
|
|
|
|
|
!!$end subroutine psb_c_csr_csgetblk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
|
|
|
|
!
|
|
|
|
! CSR implementation of tril/triu
|
|
|
|
! CSR implementation of tril/triu
|
|
|
|