44 os <<
"trace<Int>::init(id:" <<
t.id();
46 os <<
",g:" <<
t.group().id();
47 os <<
") slack: 100.00% (" <<
t.slack().initial() <<
" values)"
54 os <<
"trace<Int>::prune(id:" <<
t.id();
56 os <<
",g:" <<
t.group().id();
57 os <<
"): [" << i <<
"] = " <<
t[i] <<
" - {";
60 os <<
".." << d.
max();
65 os <<
".." << d.
max();
68 os <<
"} by " << vti << std::endl;
73 os <<
"trace<Int>::fix(id:" <<
t.id();
75 os <<
",g:" <<
t.group().id();
77 double sl_i =
static_cast<double>(
t.slack().initial());
78 double sl_p =
static_cast<double>(
t.slack().previous());
79 double sl_c =
static_cast<double>(
t.slack().current());
80 double p_c = 100.0 * (sl_c / sl_i);
81 double p_d = 100.0 * (sl_p / sl_i) - p_c;
82 os << std::showpoint << std::setprecision(4)
84 << std::showpoint << std::setprecision(4)
91 os <<
"trace<Int>::fail(id:" <<
t.id();
93 os <<
",g:" <<
t.group().id();
95 double sl_i =
static_cast<double>(
t.slack().initial());
96 double sl_p =
static_cast<double>(
t.slack().previous());
97 double sl_c =
static_cast<double>(
t.slack().current());
98 double p_c = 100.0 * (sl_c / sl_i);
99 double p_d = 100.0 * (sl_p / sl_i) - p_c;
100 os << std::showpoint << std::setprecision(4)
102 << std::showpoint << std::setprecision(4)
109 os <<
"trace<Int>::done(id:" <<
t.id();
111 os <<
",g:" <<
t.group().id();
112 os <<
") slack: 0%" << std::endl;
124 os <<
"trace<Bool>::init(id:" <<
t.id();
126 os <<
",g:" <<
t.group().id();
127 os <<
") slack: 100% (" <<
t.slack().initial() <<
" values)"
134 os <<
"trace<Bool>::prune(id:" <<
t.id();
136 os <<
",g:" <<
t.group().id();
137 os <<
"): [" << i <<
"] = " <<
t[i] <<
" - {";
140 os <<
".." << d.
max();
143 os <<
',' << d.
min();
145 os <<
".." << d.
max();
148 os <<
"} by " << vti << std::endl;
153 os <<
"trace<Bool>::fix(id:" <<
t.id();
155 os <<
",g:" <<
t.group().id();
157 double sl_i =
static_cast<double>(
t.slack().initial());
158 double sl_p =
static_cast<double>(
t.slack().previous());
159 double sl_c =
static_cast<double>(
t.slack().current());
160 double p_c = 100.0 * (sl_c / sl_i);
161 double p_d = 100.0 * (sl_p / sl_i) - p_c;
162 os << std::showpoint << std::setprecision(4)
164 << std::showpoint << std::setprecision(4)
171 os <<
"trace<Bool>::fail(id:" <<
t.id();
173 os <<
",g:" <<
t.group().id();
175 double sl_i =
static_cast<double>(
t.slack().initial());
176 double sl_p =
static_cast<double>(
t.slack().previous());
177 double sl_c =
static_cast<double>(
t.slack().current());
178 double p_c = 100.0 * (sl_c / sl_i);
179 double p_d = 100.0 * (sl_p / sl_i) - p_c;
180 os << std::showpoint << std::setprecision(4)
182 << std::showpoint << std::setprecision(4)
189 os <<
"trace<Bool>::done(id:" <<
t.id();
191 os <<
",g:" <<
t.group().id();
192 os <<
") slack: 0%" << std::endl;
Trace delta information for Boolean 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.
unsigned int width(int i) const
Return width of range at position i.
Trace delta information for integer variables.
Standard Boolean variable tracer.
virtual void init(const Space &home, const BoolTraceRecorder &t)
Print init information.
virtual void prune(const Space &home, const BoolTraceRecorder &t, const ViewTraceInfo &vti, int i, BoolTraceDelta &d)
Print prune information.
std::ostream & os
Output stream to use.
virtual void fix(const Space &home, const BoolTraceRecorder &t)
Print fixpoint information.
static StdBoolTracer def
Default tracer (printing to std::cerr)
StdBoolTracer(std::ostream &os0=std::cerr)
Initialize with output stream os0.
virtual void fail(const Space &home, const BoolTraceRecorder &t)
Print failure information.
virtual void done(const Space &home, const BoolTraceRecorder &t)
Print that trace recorder is done.
Standard integer variable tracer.
virtual void done(const Space &home, const IntTraceRecorder &t)
Print that trace recorder is done.
StdIntTracer(std::ostream &os0=std::cerr)
Initialize with output stream os0 and events \ e.
std::ostream & os
Output stream to use.
virtual void prune(const Space &home, const IntTraceRecorder &t, const ViewTraceInfo &vti, int i, IntTraceDelta &d)
Print prune information.
virtual void init(const Space &home, const IntTraceRecorder &t)
Print init information.
virtual void fail(const Space &home, const IntTraceRecorder &t)
Print failure information.
virtual void fix(const Space &home, const IntTraceRecorder &t)
Print fixpoint information.
static StdIntTracer def
Default tracer (printing to std::cerr)
Propagator for recording view trace information.
Gecode toplevel namespace