44 os <<
"trace<Float>::init(id:" << t.
id();
47 os <<
") slack: 100.00% (" << t.
slack().initial() <<
" width)"
54 os <<
"trace<Float>::prune(id:" << t.
id();
57 os <<
"): [" << i <<
"] = " << t[i] <<
" - ["
58 << d.
min() <<
".." << d.
max()
59 <<
"] by " << vti << std::endl;
64 os <<
"trace<Float>::fix(id:" << t.
id();
68 double sl_i =
static_cast<double>(t.
slack().initial());
69 double sl_p =
static_cast<double>(t.
slack().previous());
70 double sl_c =
static_cast<double>(t.
slack().current());
71 double p_c = 100.0 * (sl_c / sl_i);
72 double p_d = 100.0 * (sl_p / sl_i) - p_c;
73 os << std::showpoint << std::setprecision(4)
75 << std::showpoint << std::setprecision(4)
82 os <<
"trace<Float>::fail(id:" << t.
id();
86 double sl_i =
static_cast<double>(t.
slack().initial());
87 double sl_p =
static_cast<double>(t.
slack().previous());
88 double sl_c =
static_cast<double>(t.
slack().current());
89 double p_c = 100.0 * (sl_c / sl_i);
90 double p_d = 100.0 * (sl_p / sl_i) - p_c;
91 os << std::showpoint << std::setprecision(4)
93 << std::showpoint << std::setprecision(4)
100 os <<
"trace<Float>::done(id:" << t.
id();
104 double sl_i =
static_cast<double>(t.
slack().initial());
105 double sl_p =
static_cast<double>(t.
slack().previous());
106 double sl_c =
static_cast<double>(t.
slack().current());
107 double p_c = 100.0 * (sl_c / sl_i);
108 double p_d = 100.0 * (sl_p / sl_i) - p_c;
109 os << std::showpoint << std::setprecision(4)
111 << std::showpoint << std::setprecision(4)
Trace delta information for float variables.
unsigned int id(void) const
Return a unique id for the group.
bool in(Group a) const
Check whether actor group a is included in this group.
int min(int i) const
Return minimum of range at position i.
int max(int i) const
Return maximum of range at position i.
unsigned int id(void) const
Return propagator id.
PropagatorGroup group(void) const
Return group propagator belongs to.
Standard float variable tracer.
static StdFloatTracer def
Default tracer (printing to std::cerr)
StdFloatTracer(std::ostream &os0=std::cerr)
Initialize with output stream os0.
virtual void fail(const Space &home, const FloatTraceRecorder &t)
Print failure information.
virtual void fix(const Space &home, const FloatTraceRecorder &t)
Print fixpoint information.
std::ostream & os
Output stream to use.
virtual void done(const Space &home, const FloatTraceRecorder &t)
Print that trace recorder is done.
virtual void prune(const Space &home, const FloatTraceRecorder &t, const ViewTraceInfo &vti, int i, FloatTraceDelta &d)
Print prune information.
virtual void init(const Space &home, const FloatTraceRecorder &t)
Print init information.
const Slack & slack(void) const
Provide access to slack information.
ViewTraceRecorder< Float::FloatView > FloatTraceRecorder
Trace recorder for float variables.
Gecode toplevel namespace