#ifndef _PAPILO_CORE_STATISTICS_HPP_
#define _PAPILO_CORE_STATISTICS_HPP_
namespace papilo
{
struct Statistics
{
double presolvetime;
int ntsxapplied;
int ntsxconflicts;
int nboundchgs;
int nsidechgs;
int ncoefchgs;
int nrounds;
int ndeletedcols;
int ndeletedrows;
Statistics( double _presolvetime, int _ntsxapplied, int _ntsxconflicts,
int _nboundchgs, int _nsidechgs, int _ncoefchgs, int _nrounds,
int _ndeletedcols, int _ndeletedrows )
: presolvetime( _presolvetime ), ntsxapplied( _ntsxapplied ),
ntsxconflicts( _ntsxconflicts ), nboundchgs( _nboundchgs ),
nsidechgs( _nsidechgs ), ncoefchgs( _ncoefchgs ), nrounds( _nrounds ),
ndeletedcols( _ndeletedcols ), ndeletedrows( _ndeletedrows )
{
}
Statistics()
: presolvetime( 0.0 ), ntsxapplied( 0 ), ntsxconflicts( 0 ),
nboundchgs( 0 ), nsidechgs( 0 ), ncoefchgs( 0 ), nrounds( 0 ),
ndeletedcols( 0 ), ndeletedrows( 0 )
{
}
};
inline Statistics
operator-( const Statistics& a, const Statistics& b )
{
return {
0.0, a.ntsxapplied - b.ntsxapplied, a.ntsxconflicts - b.ntsxconflicts,
a.nboundchgs - b.nboundchgs, a.nsidechgs - b.nsidechgs,
a.ncoefchgs - b.ncoefchgs, a.nrounds - b.nrounds,
a.ndeletedcols - b.ndeletedcols, a.ndeletedrows - b.ndeletedrows };
}
}
#endif