docs/pdf/precs.tex
 docs/pdf/toolsrout.tex
 docs/userguide.pdf
 prec/psb_prec_type.f90
 test/fileread/cf_sample.f90
 test/fileread/df_sample.f90
 test/fileread/sf_sample.f90
 test/fileread/zf_sample.f90

Changed name psb_prec_descr into psb_precdescr
psblas3-type-indexed
Salvatore Filippone 17 years ago
parent 54f9133015
commit 645a5cfe56

@ -174,9 +174,10 @@ An integer value; 0 means no error has been detected.
\subroutine{psb\_prec\_descr}{Prints a description of current preconditioner} \subroutine{psb\_precdescr}{Prints a description of current preconditioner}
\syntax{call psb\_prec\_descr}{prec} \syntax{call psb\_precdescr}{prec}
\syntax*{call psb\_precdescr}{prec, iout}
\begin{description} \begin{description}
\item[Type:] Asynchronous. \item[Type:] Asynchronous.
@ -186,6 +187,11 @@ Scope: {\bf local} \\
Type: {\bf required}\\ Type: {\bf required}\\
Intent: {\bf in}.\\ Intent: {\bf in}.\\
Specified as: a preconditioner data structure \precdata. Specified as: a preconditioner data structure \precdata.
\item[iout] output unit.
Scope: {\bf local} \\
Type: {\bf optiona}\\
Intent: {\bf in}.\\
Specified as: an integer number.
\end{description} \end{description}

@ -1544,8 +1544,9 @@ position as the corresponding entries in $x$.
\item The routines return the items in the chosen ordering; the \item The routines return the items in the chosen ordering; the
output difference is the handling of ties (i.e. items with an output difference is the handling of ties (i.e. items with an
equal value) in the original input. With the merge-sort algorithm equal value) in the original input. With the merge-sort algorithm
ties are preserved in the same order as they had in the original ties are preserved in the same relative order as they had in the
sequence, while this is not guaranteed for quicksort or heapsort; original sequence, while this is not guaranteed for quicksort or
heapsort;
\item If $flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ \item If $flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$
where $n$ is the size of $x$ are initialized to $ix(i) \leftarrow where $n$ is the size of $x$ are initialized to $ix(i) \leftarrow
i$; thus, upon return from the subroutine, for each i$; thus, upon return from the subroutine, for each

File diff suppressed because it is too large Load Diff

@ -124,11 +124,11 @@ module psb_prec_type
module procedure psb_icheck_def, psb_scheck_def, psb_dcheck_def module procedure psb_icheck_def, psb_scheck_def, psb_dcheck_def
end interface end interface
interface psb_prec_descr interface psb_precdescr
module procedure psb_out_prec_descr, psb_file_prec_descr, & module procedure psb_file_prec_descr, &
& psb_sout_prec_descr, psb_sfile_prec_descr, & & psb_sfile_prec_descr, &
& psb_cout_prec_descr, psb_cfile_prec_descr, & & psb_cfile_prec_descr, &
& psb_zout_prec_descr, psb_zfile_prec_descr & psb_zfile_prec_descr
end interface end interface
interface psb_sizeof interface psb_sizeof
@ -138,88 +138,96 @@ module psb_prec_type
contains contains
subroutine psb_sout_prec_descr(p) subroutine psb_file_prec_descr(p,iout)
type(psb_sprec_type), intent(in) :: p
call psb_sfile_prec_descr(6,p)
end subroutine psb_sout_prec_descr
subroutine psb_out_prec_descr(p)
type(psb_dprec_type), intent(in) :: p type(psb_dprec_type), intent(in) :: p
call psb_file_prec_descr(6,p) integer, intent(in), optional :: iout
end subroutine psb_out_prec_descr integer :: iout_
subroutine psb_cout_prec_descr(p)
type(psb_cprec_type), intent(in) :: p
call psb_cfile_prec_descr(6,p)
end subroutine psb_cout_prec_descr
subroutine psb_zout_prec_descr(p) if (present(iout)) then
type(psb_zprec_type), intent(in) :: p iout_ = iout
call psb_zfile_prec_descr(6,p) else
end subroutine psb_zout_prec_descr iout_ = 6
end if
subroutine psb_file_prec_descr(iout,p)
integer, intent(in) :: iout
type(psb_dprec_type), intent(in) :: p
write(iout,*) 'Preconditioner description' write(iout_,*) 'Preconditioner description'
select case(p%iprcparm(psb_p_type_)) select case(p%iprcparm(psb_p_type_))
case(psb_noprec_) case(psb_noprec_)
write(iout,*) 'No preconditioning' write(iout_,*) 'No preconditioning'
case(psb_diag_) case(psb_diag_)
write(iout,*) 'Diagonal scaling' write(iout_,*) 'Diagonal scaling'
case(psb_bjac_) case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',& write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_)) & fact_names(p%iprcparm(psb_f_type_))
end select end select
end subroutine psb_file_prec_descr end subroutine psb_file_prec_descr
subroutine psb_sfile_prec_descr(iout,p) subroutine psb_sfile_prec_descr(p,iout)
integer, intent(in) :: iout
type(psb_sprec_type), intent(in) :: p type(psb_sprec_type), intent(in) :: p
integer, intent(in), optional :: iout
integer :: iout_
if (present(iout)) then
iout_ = iout
else
iout_ = 6
end if
write(iout,*) 'Preconditioner description' write(iout_,*) 'Preconditioner description'
select case(p%iprcparm(psb_p_type_)) select case(p%iprcparm(psb_p_type_))
case(psb_noprec_) case(psb_noprec_)
write(iout,*) 'No preconditioning' write(iout_,*) 'No preconditioning'
case(psb_diag_) case(psb_diag_)
write(iout,*) 'Diagonal scaling' write(iout_,*) 'Diagonal scaling'
case(psb_bjac_) case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',& write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_)) & fact_names(p%iprcparm(psb_f_type_))
end select end select
end subroutine psb_sfile_prec_descr end subroutine psb_sfile_prec_descr
subroutine psb_cfile_prec_descr(iout,p) subroutine psb_cfile_prec_descr(p,iout)
integer, intent(in) :: iout
type(psb_cprec_type), intent(in) :: p type(psb_cprec_type), intent(in) :: p
integer, intent(in), optional :: iout
integer :: iout_
write(iout,*) 'Preconditioner description' if (present(iout)) then
iout_ = iout
else
iout_ = 6
end if
write(iout_,*) 'Preconditioner description'
select case(p%iprcparm(psb_p_type_)) select case(p%iprcparm(psb_p_type_))
case(psb_noprec_) case(psb_noprec_)
write(iout,*) 'No preconditioning' write(iout_,*) 'No preconditioning'
case(psb_diag_) case(psb_diag_)
write(iout,*) 'Diagonal scaling' write(iout_,*) 'Diagonal scaling'
case(psb_bjac_) case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',& write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_)) & fact_names(p%iprcparm(psb_f_type_))
end select end select
end subroutine psb_cfile_prec_descr end subroutine psb_cfile_prec_descr
subroutine psb_zfile_prec_descr(iout,p) subroutine psb_zfile_prec_descr(p,iout)
integer, intent(in) :: iout
type(psb_zprec_type), intent(in) :: p type(psb_zprec_type), intent(in) :: p
integer, intent(in), optional :: iout
integer :: iout_
if (present(iout)) then
iout_ = iout
else
iout_ = 6
end if
write(iout,*) 'Preconditioner description' write(iout_,*) 'Preconditioner description'
select case(p%iprcparm(psb_p_type_)) select case(p%iprcparm(psb_p_type_))
case(psb_noprec_) case(psb_noprec_)
write(iout,*) 'No preconditioning' write(iout_,*) 'No preconditioning'
case(psb_diag_) case(psb_diag_)
write(iout,*) 'Diagonal scaling' write(iout_,*) 'Diagonal scaling'
case(psb_bjac_) case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',& write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_)) & fact_names(p%iprcparm(psb_f_type_))
end select end select
end subroutine psb_zfile_prec_descr end subroutine psb_zfile_prec_descr

@ -228,7 +228,7 @@ program cf_sample
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
if (iam==psb_root_) then if (iam==psb_root_) then
call psb_prec_descr(6,prec) call psb_precdescr(prec)
write(*,'("Matrix: ",a)')mtrx_file write(*,'("Matrix: ",a)')mtrx_file
write(*,'("Computed solution on ",i8," processors")')np write(*,'("Computed solution on ",i8," processors")')np
write(*,'("Iterations to convergence: ",i6)')iter write(*,'("Iterations to convergence: ",i6)')iter

@ -230,7 +230,7 @@ program df_sample
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
if (iam==psb_root_) then if (iam==psb_root_) then
call psb_prec_descr(6,prec) call psb_precdescr(prec)
write(*,'("Matrix: ",a)')mtrx_file write(*,'("Matrix: ",a)')mtrx_file
write(*,'("Computed solution on ",i8," processors")')np write(*,'("Computed solution on ",i8," processors")')np
write(*,'("Iterations to convergence: ",i6)')iter write(*,'("Iterations to convergence: ",i6)')iter

@ -230,7 +230,7 @@ program sf_sample
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
if (iam==psb_root_) then if (iam==psb_root_) then
call psb_prec_descr(6,prec) call psb_precdescr(prec)
write(*,'("Matrix: ",a)')mtrx_file write(*,'("Matrix: ",a)')mtrx_file
write(*,'("Computed solution on ",i8," processors")')np write(*,'("Computed solution on ",i8," processors")')np
write(*,'("Iterations to convergence: ",i6)')iter write(*,'("Iterations to convergence: ",i6)')iter

@ -230,7 +230,7 @@ program zf_sample
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
if (iam==psb_root_) then if (iam==psb_root_) then
call psb_prec_descr(6,prec) call psb_precdescr(prec)
write(*,'("Matrix: ",a)')mtrx_file write(*,'("Matrix: ",a)')mtrx_file
write(*,'("Computed solution on ",i8," processors")')np write(*,'("Computed solution on ",i8," processors")')np
write(*,'("Iterations to convergence: ",i6)')iter write(*,'("Iterations to convergence: ",i6)')iter

Loading…
Cancel
Save