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] <<
" - ["
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.
Initialize with output stream a os0 StdFloatTracer(std::ostream &os0=std::cerr)
Print failure virtual information void fail(const Space &home, const FloatTraceRecorder &t)
Print fixpoint virtual information void fix(const Space &home, const FloatTraceRecorder &t)
Print that trace recorder is virtual done void done(const Space &home, const FloatTraceRecorder &t)
Output stream to use std::ostream & os
Print prune virtual information void prune(const Space &home, const FloatTraceRecorder &t, const ViewTraceInfo &vti, int i, FloatTraceDelta &d)
Print init virtual information void init(const Space &home, const FloatTraceRecorder &t)
Propagator for recording view trace information.
Gecode::IntArgs i({1, 2, 3, 4})