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}
\item[Type:] Asynchronous.
@ -186,6 +187,11 @@ Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
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}

@ -1544,8 +1544,9 @@ position as the corresponding entries in $x$.
\item The routines return the items in the chosen ordering; the
output difference is the handling of ties (i.e. items with an
equal value) in the original input. With the merge-sort algorithm
ties are preserved in the same order as they had in the original
sequence, while this is not guaranteed for quicksort or heapsort;
ties are preserved in the same relative order as they had in the
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)$
where $n$ is the size of $x$ are initialized to $ix(i) \leftarrow
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
end interface
interface psb_prec_descr
module procedure psb_out_prec_descr, psb_file_prec_descr, &
& psb_sout_prec_descr, psb_sfile_prec_descr, &
& psb_cout_prec_descr, psb_cfile_prec_descr, &
& psb_zout_prec_descr, psb_zfile_prec_descr
interface psb_precdescr
module procedure psb_file_prec_descr, &
& psb_sfile_prec_descr, &
& psb_cfile_prec_descr, &
& psb_zfile_prec_descr
end interface
interface psb_sizeof
@ -138,88 +138,96 @@ module psb_prec_type
contains
subroutine psb_sout_prec_descr(p)
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
call psb_file_prec_descr(6,p)
end subroutine psb_out_prec_descr
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)
type(psb_zprec_type), intent(in) :: p
call psb_zfile_prec_descr(6,p)
end subroutine psb_zout_prec_descr
subroutine psb_file_prec_descr(iout,p)
integer, intent(in) :: iout
subroutine psb_file_prec_descr(p,iout)
type(psb_dprec_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_))
case(psb_noprec_)
write(iout,*) 'No preconditioning'
write(iout_,*) 'No preconditioning'
case(psb_diag_)
write(iout,*) 'Diagonal scaling'
write(iout_,*) 'Diagonal scaling'
case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',&
write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_))
end select
end subroutine psb_file_prec_descr
subroutine psb_sfile_prec_descr(iout,p)
integer, intent(in) :: iout
subroutine psb_sfile_prec_descr(p,iout)
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_))
case(psb_noprec_)
write(iout,*) 'No preconditioning'
write(iout_,*) 'No preconditioning'
case(psb_diag_)
write(iout,*) 'Diagonal scaling'
write(iout_,*) 'Diagonal scaling'
case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',&
write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_))
end select
end subroutine psb_sfile_prec_descr
subroutine psb_cfile_prec_descr(iout,p)
integer, intent(in) :: iout
subroutine psb_cfile_prec_descr(p,iout)
type(psb_cprec_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_))
case(psb_noprec_)
write(iout,*) 'No preconditioning'
write(iout_,*) 'No preconditioning'
case(psb_diag_)
write(iout,*) 'Diagonal scaling'
write(iout_,*) 'Diagonal scaling'
case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',&
write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_))
end select
end subroutine psb_cfile_prec_descr
subroutine psb_zfile_prec_descr(iout,p)
integer, intent(in) :: iout
subroutine psb_zfile_prec_descr(p,iout)
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_))
case(psb_noprec_)
write(iout,*) 'No preconditioning'
write(iout_,*) 'No preconditioning'
case(psb_diag_)
write(iout,*) 'Diagonal scaling'
write(iout_,*) 'Diagonal scaling'
case(psb_bjac_)
write(iout,*) 'Block Jacobi with: ',&
write(iout_,*) 'Block Jacobi with: ',&
& fact_names(p%iprcparm(psb_f_type_))
end select
end subroutine psb_zfile_prec_descr

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

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

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

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

Loading…
Cancel
Save