| 78 | } |
| 79 | |
| 80 | void |
| 81 | StdFloatTracer::fail(const Space&, const FloatTraceRecorder& t) { |
| 82 | os << "trace<Float>::fail(id:" << t.id(); |
| 83 | if (t.group().in()) |
| 84 | os << ",g:" << t.group().id(); |
| 85 | os << ") slack: "; |
| 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) |
| 92 | << p_c << "% - " |
| 93 | << std::showpoint << std::setprecision(4) |
| 94 | << p_d << '%' |
| 95 | << std::endl; |
| 96 | } |
| 97 | |
| 98 | void |
| 99 | StdFloatTracer::done(const Space&, const FloatTraceRecorder& t) { |