X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b356ce9a510410f879eb3cd1b16b33856aebfdbe..595e59c568ff5f8510de201bfd800951cdc2adcb:/src/surf/cpu_ti.cpp diff --git a/src/surf/cpu_ti.cpp b/src/surf/cpu_ti.cpp index b55d21ef77..e3b612a688 100644 --- a/src/surf/cpu_ti.cpp +++ b/src/surf/cpu_ti.cpp @@ -37,8 +37,8 @@ CpuTiTrace::CpuTiTrace(tmgr_trace_t speedTrace) for (auto val : speedTrace->event_list) { timePoints_[i] = time; integral_[i] = integral; - integral += val.delta * val.value; - time += val.delta; + integral += val.date_ * val.value_; + time += val.date_; i++; } timePoints_[i] = time; @@ -69,11 +69,7 @@ CpuTiTgmr::~CpuTiTgmr() */ double CpuTiTgmr::integrate(double a, double b) { - double first_chunk; - double middle_chunk; - double last_chunk; int a_index; - int b_index; if ((a < 0.0) || (a > b)) { xbt_die("Error, invalid integration interval [%.2f,%.2f]. " @@ -91,15 +87,15 @@ double CpuTiTgmr::integrate(double a, double b) else a_index = static_cast (ceil(a / lastTime_)); - b_index = static_cast (floor(b / lastTime_)); + int b_index = static_cast (floor(b / lastTime_)); if (a_index > b_index) { /* Same chunk */ return trace_->integrateSimple(a - (a_index - 1) * lastTime_, b - (b_index) * lastTime_); } - first_chunk = trace_->integrateSimple(a - (a_index - 1) * lastTime_, lastTime_); - middle_chunk = (b_index - a_index) * total_; - last_chunk = trace_->integrateSimple(0.0, b - (b_index) * lastTime_); + double first_chunk = trace_->integrateSimple(a - (a_index - 1) * lastTime_, lastTime_); + double middle_chunk = (b_index - a_index) * total_; + double last_chunk = trace_->integrateSimple(0.0, b - (b_index) * lastTime_); XBT_DEBUG("first_chunk=%.2f middle_chunk=%.2f last_chunk=%.2f\n", first_chunk, middle_chunk, last_chunk); @@ -124,10 +120,10 @@ double CpuTiTrace::integrateSimple(double a, double b) double CpuTiTrace::integrateSimplePoint(double a) { double integral = 0; - int ind; double a_aux = a; - ind = binarySearch(timePoints_, a, 0, nbPoints_ - 1); + int ind = binarySearch(timePoints_, a, 0, nbPoints_ - 1); integral += integral_[ind]; + XBT_DEBUG("a %f ind %d integral %f ind + 1 %f ind %f time +1 %f time %f", a, ind, integral, integral_[ind + 1], integral_[ind], timePoints_[ind + 1], timePoints_[ind]); double_update(&a_aux, timePoints_[ind], sg_maxmin_precision*sg_surf_precision); @@ -241,8 +237,8 @@ double CpuTiTgmr::getPowerScale(double a) { double reduced_a = a - floor(a / lastTime_) * lastTime_; int point = trace_->binarySearch(trace_->timePoints_, reduced_a, 0, trace_->nbPoints_ - 1); - s_tmgr_event_t val = speedTrace_->event_list.at(point); - return val.value; + trace_mgr::DatedValue val = speedTrace_->event_list.at(point); + return val.value_; } /** @@ -268,9 +264,9 @@ CpuTiTgmr::CpuTiTgmr(tmgr_trace_t speedTrace, double value) : /* only one point available, fixed trace */ if (speedTrace->event_list.size() == 1) { - s_tmgr_event_t val = speedTrace->event_list.front(); + trace_mgr::DatedValue val = speedTrace->event_list.front(); type_ = TRACE_FIXED; - value_ = val.value; + value_ = val.value_; return; } @@ -278,7 +274,7 @@ CpuTiTgmr::CpuTiTgmr(tmgr_trace_t speedTrace, double value) : /* count the total time of trace file */ for (auto val : speedTrace->event_list) - total_time += val.delta; + total_time += val.date_; trace_ = new CpuTiTrace(speedTrace); lastTime_ = total_time; @@ -426,13 +422,13 @@ void CpuTi::setSpeedTrace(tmgr_trace_t trace) /* add a fake trace event if periodicity == 0 */ if (trace && trace->event_list.size() > 1) { - s_tmgr_event_t val = trace->event_list.back(); - if (val.delta < 1e-12) - speed_.event = future_evt_set->add_trace(tmgr_empty_trace_new(), 0.0, this); + trace_mgr::DatedValue val = trace->event_list.back(); + if (val.date_ < 1e-12) + speed_.event = future_evt_set->add_trace(new simgrid::trace_mgr::trace(), this); } } -void CpuTi::apply_event(tmgr_trace_iterator_t event, double value) +void CpuTi::apply_event(tmgr_trace_event_t event, double value) { if (event == speed_.event) { tmgr_trace_t speedTrace; @@ -445,12 +441,12 @@ void CpuTi::apply_event(tmgr_trace_iterator_t event, double value) modified(true); speedTrace = speedIntegratedTrace_->speedTrace_; - s_tmgr_event_t val = speedTrace->event_list.back(); + trace_mgr::DatedValue val = speedTrace->event_list.back(); delete speedIntegratedTrace_; - speed_.scale = val.value; + speed_.scale = val.value_; - trace = new CpuTiTgmr(TRACE_FIXED, val.value); - XBT_DEBUG("value %f", val.value); + trace = new CpuTiTgmr(TRACE_FIXED, val.value_); + XBT_DEBUG("value %f", val.value_); speedIntegratedTrace_ = trace;