44 os <<
"trace<Float>::init(id:" <<
t.id();
46 os <<
",g:" <<
t.group().id();
47 os <<
") slack: 100.00% (" <<
t.slack().initial() <<
" width)"
54 os <<
"trace<Float>::prune(id:" <<
t.id();
56 os <<
",g:" <<
t.group().id();
57 os <<
"): [" << i <<
"] = " <<
t[i] <<
" - ["
58 << d.
min() <<
".." << d.
max()
59 <<
"] by " << vti << std::endl;
64 os <<
"trace<Float>::fix(id:" <<
t.id();
66 os <<
",g:" <<
t.group().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();
84 os <<
",g:" <<
t.group().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();
102 os <<
",g:" <<
t.group().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.
int min(int i) const
Return minimum of range at position i.
int max(int i) const
Return maximum of range at position i.
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.
Propagator for recording view trace information.
Gecode toplevel namespace