with text_io; use text_io;
with Standard_Floating_Numbers; use Standard_Floating_Numbers;
with Standard_Complex_Numbers; use Standard_Complex_Numbers;
with Standard_Complex_Vectors; use Standard_Complex_Vectors;
with Standard_Complex_Solutions; use Standard_Complex_Solutions;
package Process_io is
-- DESCRIPTION :
-- This package determines the output operations during the continuation.
-- The purpose is to concentrate all trivial output operations which could
-- possibly overload the coding of the continuation process.
-- Moreover, an uniform output format is achieved by this package.
type output_code is ( nil,s,p,c,sp,sc,pc,spc );
-- Explanation of the output_code :
-- nil : nothing will be written during the continuation process
-- s : all intermediate solutions are written
-- p : predictor information is written
-- c : corrector information is written
-- sp, sc, pc and spc are combinations of s, p and c
procedure Set_Output_Code ( u : in output_code );
-- DESCRIPTION :
-- Sets the status code for output during continuation.
procedure Write_path ( n : in positive );
procedure Write_path ( ft : in file_type; n : in positive );
-- DESCRIPTION :
-- The number of the paths is written on file or on standard output.
procedure Write_block ( n : in positive );
procedure Write_block ( ft : in file_type; n : in positive );
-- DESCRIPTION :
-- The block number is written on the output device
procedure sWrite ( sol : in Solution);
procedure sWrite ( ft : in file_type; sol : in Solution );
-- DESCRIPTION :
-- The solution is written on file or on standard output.
procedure pWrite ( step : in double_float; t : in Complex_Number );
procedure pWrite ( ft : in file_type;
step : in double_float; t : in Complex_Number );
procedure pWrite ( step : in double_float; t : in Complex_Number;
sol : in Solution );
procedure pWrite ( ft : in file_type; step : in double_float;
t : in Complex_Number; sol : in Solution );
-- DESCRIPTION :
-- The predictor information is written on file or on standard output.
procedure cWrite ( normax,normrx,normaf,normrf : in double_float );
procedure cWrite ( ft : in file_type;
normax,normrx,normaf,normrf : in double_float );
-- DESCRIPTION :
-- The norm of the correction on x and residual is written.
-- ON ENTRY :
-- ft file type, must be created or opened for output,
-- if not specified, then standard output will be taken;
-- normax absolute norm of the correction dx on the solution x: ||dx||;
-- normrx relative norm of the correction dx: ||dx||/||x||;
-- normaf absolute norm of the residual: ||f(x)||;
-- normrf relative norm of the residual: ||f(x)||/||x||.
procedure cWrite ( rcond : in double_float; m : in natural );
procedure cWrite ( ft : in file_type;
rcond : in double_float; m : in natural );
-- DESCRIPTION :
-- The estimate for the inverse condition number of the Jacobi matrix
-- is written, jointly with the (estimated) multiplicity of the solution.
procedure Write_Statistics ( nstep,nfail,niter,nsyst : in natural );
procedure Write_Statistics ( ft : in file_type;
nstep,nfail,niter,nsyst : in natural );
-- DESCRIPTION :
-- This procedure writes statistical information after the
-- computation of parts of the results.
-- ON ENTRY :
-- nstep the number of predictor steps;
-- nfail the number of failures;
-- niter the number of corrector iterations;
-- nsyst the number of linear systems solved.
procedure Write_Total_Statistics ( tnstep,tnfail,tniter,tnsyst : in natural );
procedure Write_Total_Statistics ( ft : in file_type;
tnstep,tnfail,tniter,tnsyst : in natural );
-- DESCRIPTION
-- This procedure writes statistical information after the
-- solution of the problem.
-- ON ENTRY :
-- tnstep the total number of predictor steps;
-- tnfail the total number of failures;
-- tniter the total number of corrector iterations;
-- tnsyst the total number of linear systems solved.
procedure Write_convergence_factor ( factor : in double_float );
procedure Write_convergence_factor
( ft : in file_type; factor : in double_float );
-- DESCRIPTION :
-- writes the convergence factor of the correction process
procedure sWrite_Solutions ( sols : in Solution_List );
procedure sWrite_Solutions ( ft : in file_type; sols : in Solution_List );
-- DESCRIPTION :
-- Writes down the computed solutions on standard output or on file.
end Process_io;