base/modules/psb_base_mat_mod.f90
 krylov/psb_cbicg.f90
 krylov/psb_ccg.f90
 krylov/psb_ccgs.f90
 krylov/psb_ccgstab.f90
 krylov/psb_ccgstabl.f90
 krylov/psb_ckrylov.f90
 krylov/psb_crgmres.f90
 krylov/psb_dbicg.f90
 krylov/psb_dcg.F90
 krylov/psb_dcgs.f90
 krylov/psb_dcgstab.F90
 krylov/psb_dcgstabl.f90
 krylov/psb_dkrylov.f90
 krylov/psb_drgmres.f90
 krylov/psb_sbicg.f90
 krylov/psb_scg.F90
 krylov/psb_scgs.f90
 krylov/psb_scgstab.F90
 krylov/psb_scgstabl.f90
 krylov/psb_skrylov.f90
 krylov/psb_srgmres.f90
 krylov/psb_zbicg.f90
 krylov/psb_zcg.F90
 krylov/psb_zcgs.f90
 krylov/psb_zcgstab.f90
 krylov/psb_zcgstabl.f90
 krylov/psb_zkrylov.f90
 krylov/psb_zrgmres.f90
 opt/psb_c_rsb_mat_mod.F90
 opt/psb_s_rsb_mat_mod.F90
 opt/psb_z_rsb_mat_mod.F90
 util/psb_hbio_impl.f90

Fixes in comments to Krylov methods.
psblas3-type-indexed
Salvatore Filippone 14 years ago
parent 4ca3b89e1c
commit 997cef4a94

@ -37,6 +37,7 @@
! type variants, such as number of rows and columns, whether the
! matrix is supposed to be triangular (upper or lower) and with a unit
! (i.e. assumed) diagonal, together with some state variables. This
! base class is in common among all variants of real/complex,
! short/long precision; as such, it only contains information that is
! inherently integer in nature.

@ -85,10 +85,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -87,10 +87,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -85,10 +85,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -86,10 +86,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -93,10 +93,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration
! 1: err = |r|/(|a||x|+|b|); here the iteration
! is stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter L

@ -74,8 +74,8 @@
! BICGSTAB(L) methods
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|
! 2: err = |r|/(|a||x|+|b|)
! 1: err = |r|/(|a||x|+|b|)
! 2: err = |r|/|b|
! where r is the (preconditioned, recursive
! estimate of) residual
!

@ -97,10 +97,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter

@ -86,10 +86,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -87,10 +87,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -86,10 +86,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -85,10 +85,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -93,10 +93,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter L

@ -71,8 +71,8 @@
! BICGSTAB(L) methods
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|
! 2: err = |r|/(|a||x|+|b|)
! 1: err = |r|/(|a||x|+|b|)
! 2: err = |r|/|b|
! where r is the (preconditioned, recursive
! estimate of) residual
!

@ -97,10 +97,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter

@ -86,10 +86,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -87,10 +87,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -86,10 +86,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -85,10 +85,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -93,10 +93,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter L

@ -70,8 +70,8 @@
! BICGSTAB(L) methods
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|
! 2: err = |r|/(|a||x|+|b|)
! 1: err = |r|/(|a||x|+|b|)
! 2: err = |r|/|b|
! where r is the (preconditioned, recursive
! estimate of) residual
!

@ -97,10 +97,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter

@ -85,10 +85,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -87,10 +87,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -85,10 +85,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -86,10 +86,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
!

@ -93,10 +93,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration
! 1: err = |r|/(|a||x|+|b|); here the iteration
! is stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter L

@ -72,8 +72,8 @@
! BICGSTAB(L) methods
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|
! 2: err = |r|/(|a||x|+|b|)
! 1: err = |r|/(|a||x|+|b|)
! 2: err = |r|/|b|
! where r is the (preconditioned, recursive
! estimate of) residual
!

@ -97,10 +97,10 @@
! iterations
! istop - integer(optional) Input: stopping criterion, or how
! to estimate the error.
! 1: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! 2: err = |r|/(|a||x|+|b|); here the iteration is
! 1: err = |r|/(|a||x|+|b|); here the iteration is
! stopped when |r| <= eps * (|a||x|+|b|)
! 2: err = |r|/|b|; here the iteration is
! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive
! estimate of) residual.
! irst - integer(optional) Input: restart parameter

@ -756,36 +756,36 @@ subroutine psb_c_rsb_csgetptn(imin,imax,a,nz,ia,ja,info,&
integer :: nzin_, jmin_, jmax_, err_act, i
character(len=20) :: name='csget'
logical, parameter :: debug=.false.
PSBRSB_DEBUG('')
PSBRSB_DEBUG('')
if (present(iren).or.present(rscale).or.present(cscale)) then
! FIXME: error condition
PSBRSB_ERROR("unsupported optional arguments!")
call psb_error()
endif
if (present(iren).or.present(rscale).or.present(cscale)) then
! FIXME: error condition
PSBRSB_ERROR("unsupported optional arguments!")
call psb_error()
endif
if (present(append)) then
append_ = append
else
append_ = .false.
endif
if (present(append).and.append.and.present(nzin)) then
nzin_ = nzin
else
nzin_ = 0
endif
if (present(append)) then
append_ = append
else
append_ = .false.
endif
if (present(append).and.append.and.present(nzin)) then
nzin_ = nzin
else
nzin_ = 0
endif
if (present(jmin)) then
jmin_ = jmin
else
jmin_ = 1
endif
if (present(jmin)) then
jmin_ = jmin
else
jmin_ = 1
endif
if (present(jmax)) then
jmax_ = jmax
else
jmax_ = a%get_nrows()
endif
if (present(jmax)) then
jmax_ = jmax
else
jmax_ = a%get_nrows()
endif
if (present(rscale)) then
rscale_ = rscale
@ -804,34 +804,34 @@ subroutine psb_c_rsb_csgetptn(imin,imax,a,nz,ia,ja,info,&
end if
if (present(iren)) then
info = c_psbrsb_err_
PSBRSB_ERROR("ERROR: the RSB pattern get needs iren support !!")
PSBRSB_ERROR("ERROR: the RSB pattern get needs iren support !!")
goto 9999
end if
!nzt = ..
nz = 0
!nzt = ..
nz = 0
call psb_ensure_size(nzin_,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_,ja,info)
call psb_ensure_size(nzin_,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_,ja,info)
if (info /= psb_success_) return
nz=rsb_get_block_nnz(a%rsbmptr,imin,imax,jmin_,jmax_,c_for_flags,info)
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
! FIXME: unfinished; missing error handling ..
if (info /= psb_success_) return
nz=rsb_get_block_nnz(a%rsbmptr,imin,imax,jmin_,jmax_,c_for_flags,info)
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
! FIXME: unfinished; missing error handling ..
call psb_ensure_size(nzin_+nz,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_+nz,ja,info)
if (info /= psb_success_)then
PSBRSB_ERROR("!")
return
endif
info=d_rsb_to_psb_info(rsb_get_block_sparse_pattern&
&(a%rsbmptr,imin,imax,jmin_,jmax_,ia,ja,c_null_ptr,c_null_ptr,nzin_,c_for_flags))
! FIXME: unfinished; missing error handling ..
call psb_ensure_size(nzin_+nz,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_+nz,ja,info)
if (info /= psb_success_)then
PSBRSB_ERROR("!")
return
endif
info=d_rsb_to_psb_info(rsb_get_block_sparse_pattern&
&(a%rsbmptr,imin,imax,jmin_,jmax_,ia,ja,c_null_ptr,c_null_ptr,nzin_,c_for_flags))
! FIXME: unfinished; missing error handling ..
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
if (rscale_) then
do i=nzin_+1, nzin_+nz
ia(i) = ia(i) - imin + 1

@ -756,36 +756,36 @@ subroutine psb_s_rsb_csgetptn(imin,imax,a,nz,ia,ja,info,&
integer :: nzin_, jmin_, jmax_, err_act, i
character(len=20) :: name='csget'
logical, parameter :: debug=.false.
PSBRSB_DEBUG('')
PSBRSB_DEBUG('')
if (present(iren).or.present(rscale).or.present(cscale)) then
! FIXME: error condition
PSBRSB_ERROR("unsupported optional arguments!")
call psb_error()
endif
if (present(iren).or.present(rscale).or.present(cscale)) then
! FIXME: error condition
PSBRSB_ERROR("unsupported optional arguments!")
call psb_error()
endif
if (present(append)) then
append_ = append
else
append_ = .false.
endif
if (present(append).and.append.and.present(nzin)) then
nzin_ = nzin
else
nzin_ = 0
endif
if (present(append)) then
append_ = append
else
append_ = .false.
endif
if (present(append).and.append.and.present(nzin)) then
nzin_ = nzin
else
nzin_ = 0
endif
if (present(jmin)) then
jmin_ = jmin
else
jmin_ = 1
endif
if (present(jmin)) then
jmin_ = jmin
else
jmin_ = 1
endif
if (present(jmax)) then
jmax_ = jmax
else
jmax_ = a%get_nrows()
endif
if (present(jmax)) then
jmax_ = jmax
else
jmax_ = a%get_nrows()
endif
if (present(rscale)) then
rscale_ = rscale
@ -804,34 +804,34 @@ subroutine psb_s_rsb_csgetptn(imin,imax,a,nz,ia,ja,info,&
end if
if (present(iren)) then
info = c_psbrsb_err_
PSBRSB_ERROR("ERROR: the RSB pattern get needs iren support !!")
PSBRSB_ERROR("ERROR: the RSB pattern get needs iren support !!")
goto 9999
end if
!nzt = ..
nz = 0
!nzt = ..
nz = 0
call psb_ensure_size(nzin_,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_,ja,info)
call psb_ensure_size(nzin_,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_,ja,info)
if (info /= psb_success_) return
nz=rsb_get_block_nnz(a%rsbmptr,imin,imax,jmin_,jmax_,c_for_flags,info)
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
! FIXME: unfinished; missing error handling ..
if (info /= psb_success_) return
nz=rsb_get_block_nnz(a%rsbmptr,imin,imax,jmin_,jmax_,c_for_flags,info)
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
! FIXME: unfinished; missing error handling ..
call psb_ensure_size(nzin_+nz,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_+nz,ja,info)
if (info /= psb_success_)then
PSBRSB_ERROR("!")
return
endif
info=d_rsb_to_psb_info(rsb_get_block_sparse_pattern&
&(a%rsbmptr,imin,imax,jmin_,jmax_,ia,ja,c_null_ptr,c_null_ptr,nzin_,c_for_flags))
! FIXME: unfinished; missing error handling ..
call psb_ensure_size(nzin_+nz,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_+nz,ja,info)
if (info /= psb_success_)then
PSBRSB_ERROR("!")
return
endif
info=d_rsb_to_psb_info(rsb_get_block_sparse_pattern&
&(a%rsbmptr,imin,imax,jmin_,jmax_,ia,ja,c_null_ptr,c_null_ptr,nzin_,c_for_flags))
! FIXME: unfinished; missing error handling ..
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
if (rscale_) then
do i=nzin_+1, nzin_+nz
ia(i) = ia(i) - imin + 1

@ -756,36 +756,36 @@ subroutine psb_z_rsb_csgetptn(imin,imax,a,nz,ia,ja,info,&
integer :: nzin_, jmin_, jmax_, err_act, i
character(len=20) :: name='csget'
logical, parameter :: debug=.false.
PSBRSB_DEBUG('')
PSBRSB_DEBUG('')
if (present(iren).or.present(rscale).or.present(cscale)) then
! FIXME: error condition
PSBRSB_ERROR("unsupported optional arguments!")
call psb_error()
endif
if (present(iren).or.present(rscale).or.present(cscale)) then
! FIXME: error condition
PSBRSB_ERROR("unsupported optional arguments!")
call psb_error()
endif
if (present(append)) then
append_ = append
else
append_ = .false.
endif
if (present(append).and.append.and.present(nzin)) then
nzin_ = nzin
else
nzin_ = 0
endif
if (present(append)) then
append_ = append
else
append_ = .false.
endif
if (present(append).and.append.and.present(nzin)) then
nzin_ = nzin
else
nzin_ = 0
endif
if (present(jmin)) then
jmin_ = jmin
else
jmin_ = 1
endif
if (present(jmin)) then
jmin_ = jmin
else
jmin_ = 1
endif
if (present(jmax)) then
jmax_ = jmax
else
jmax_ = a%get_nrows()
endif
if (present(jmax)) then
jmax_ = jmax
else
jmax_ = a%get_nrows()
endif
if (present(rscale)) then
rscale_ = rscale
@ -804,34 +804,34 @@ subroutine psb_z_rsb_csgetptn(imin,imax,a,nz,ia,ja,info,&
end if
if (present(iren)) then
info = c_psbrsb_err_
PSBRSB_ERROR("ERROR: the RSB pattern get needs iren support !!")
PSBRSB_ERROR("ERROR: the RSB pattern get needs iren support !!")
goto 9999
end if
!nzt = ..
nz = 0
!nzt = ..
nz = 0
call psb_ensure_size(nzin_,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_,ja,info)
call psb_ensure_size(nzin_,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_,ja,info)
if (info /= psb_success_) return
nz=rsb_get_block_nnz(a%rsbmptr,imin,imax,jmin_,jmax_,c_for_flags,info)
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
! FIXME: unfinished; missing error handling ..
if (info /= psb_success_) return
nz=rsb_get_block_nnz(a%rsbmptr,imin,imax,jmin_,jmax_,c_for_flags,info)
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
! FIXME: unfinished; missing error handling ..
call psb_ensure_size(nzin_+nz,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_+nz,ja,info)
if (info /= psb_success_)then
PSBRSB_ERROR("!")
return
endif
info=d_rsb_to_psb_info(rsb_get_block_sparse_pattern&
&(a%rsbmptr,imin,imax,jmin_,jmax_,ia,ja,c_null_ptr,c_null_ptr,nzin_,c_for_flags))
! FIXME: unfinished; missing error handling ..
call psb_ensure_size(nzin_+nz,ia,info)
if (info == psb_success_) call psb_ensure_size(nzin_+nz,ja,info)
if (info /= psb_success_)then
PSBRSB_ERROR("!")
return
endif
info=d_rsb_to_psb_info(rsb_get_block_sparse_pattern&
&(a%rsbmptr,imin,imax,jmin_,jmax_,ia,ja,c_null_ptr,c_null_ptr,nzin_,c_for_flags))
! FIXME: unfinished; missing error handling ..
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
!write(*,*) 'debug:',nzin_,nz,imin,imax,jmin_,jmax_
if (rscale_) then
do i=nzin_+1, nzin_+nz
ia(i) = ia(i) - imin + 1

@ -255,7 +255,7 @@ subroutine shb_write(a,iret,iunit,filename,key,rhs,g,x,mtitle)
acpnt => aa
class default
class default
call acsc%cp_from_fmt(aa, iret)
if (iret /= 0) return

Loading…
Cancel
Save