Pipal  1.2.0
Penalty Interior-Point ALgorithm
Loading...
Searching...
No Matches
Pipal::Output< Real > Class Template Reference

Pretty-printing and timing utilities for solver output. More...

#include <Output.hxx>

Public Member Functions

 Output ()
 Default constructor.
 ~Output ()=default
 Default destructor.
void printHeader (Input< Real > const &i, Iterate< Real > const &z) const
 Print problem header information.
void printBreak (Counter const &c) const
 Print a formatted break line and column headers periodically.
void printDirection (Iterate< Real > const &z, Direction< Real > const &d) const
 Print a summary of the current search direction.
void printIterate (Counter const &c, Iterate< Real > const &z) const
 Print a single iterate row to the console table.
void printAcceptance (Acceptance< Real > const &a) const
 Print acceptance information for the chosen trial step.
void printFooter (Counter const &c, Iterate< Real > const &z, Integer const b) const
 Print final summary footer and termination message.

Private Types

using MicroSeconds = std::chrono::microseconds
using SteadyClock = std::chrono::steady_clock
using TimePoint = SteadyClock::time_point

Private Attributes

std::ostream & s {std::cout}
std::string l
std::string q
std::string n
TimePoint t

Detailed Description

template<typename Real>
class Pipal::Output< Real >

The Output class encapsulates console formatting and lightweight timing utilities used by the solver to display headers, iterates, directions and final summaries.

Template Parameters
RealFloating-point type used by the solver.

Member Typedef Documentation

◆ MicroSeconds

template<typename Real>
using Pipal::Output< Real >::MicroSeconds = std::chrono::microseconds
private

◆ SteadyClock

template<typename Real>
using Pipal::Output< Real >::SteadyClock = std::chrono::steady_clock
private

◆ TimePoint

template<typename Real>
using Pipal::Output< Real >::TimePoint = SteadyClock::time_point
private

Constructor & Destructor Documentation

◆ Output()

template<typename Real>
Pipal::Output< Real >::Output ( )
inline

◆ ~Output()

template<typename Real>
Pipal::Output< Real >::~Output ( )
default

Member Function Documentation

◆ printAcceptance()

template<typename Real>
void Pipal::Output< Real >::printAcceptance ( Acceptance< Real > const & a) const
inline
Parameters
[in]aAcceptance object containing current step fractions.

◆ printBreak()

template<typename Real>
void Pipal::Output< Real >::printBreak ( Counter const & c) const
inline
Parameters
[in]cCounters containing the current iteration index.

◆ printDirection()

template<typename Real>
void Pipal::Output< Real >::printDirection ( Iterate< Real > const & z,
Direction< Real > const & d ) const
inline
Parameters
[in]zCurrent iterate.
[in]dCurrent search direction.

◆ printFooter()

template<typename Real>
void Pipal::Output< Real >::printFooter ( Counter const & c,
Iterate< Real > const & z,
Integer const b ) const
inline
Parameters
[in]cCounters used during evaluations.
[in]zCurrent iterate (modified temporarily while testing points).
[in]bTermination code.

◆ printHeader()

template<typename Real>
void Pipal::Output< Real >::printHeader ( Input< Real > const & i,
Iterate< Real > const & z ) const
inline
Parameters
[in]iProblem input structure.
[in]zCurrent iterate.

◆ printIterate()

template<typename Real>
void Pipal::Output< Real >::printIterate ( Counter const & c,
Iterate< Real > const & z ) const
inline
Parameters
[in]cCounters containing the current iteration index.
[in]zCurrent iterate.

Member Data Documentation

◆ l

template<typename Real>
std::string Pipal::Output< Real >::l
private

Line break.

◆ n

template<typename Real>
std::string Pipal::Output< Real >::n
private

Footer line.

◆ q

template<typename Real>
std::string Pipal::Output< Real >::q
private

Quantities header.

◆ s

template<typename Real>
std::ostream& Pipal::Output< Real >::s {std::cout}
private

Output stream (reference to avoid copying std::cout).

◆ t

template<typename Real>
TimePoint Pipal::Output< Real >::t
private

Timer.


The documentation for this class was generated from the following file: