*/
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]. "
else
a_index = static_cast<int> (ceil(a / lastTime_));
- b_index = static_cast<int> (floor(b / lastTime_));
+ int b_index = static_cast<int> (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);
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);
action->setFinishTime(date);
action->setState(Action::State::failed);
if (action->indexHeap_ >= 0) {
- CpuTiAction *heap_act =
- static_cast<CpuTiAction*>(xbt_heap_remove(static_cast<CpuTiModel*>(getModel())->tiActionHeap_, action->indexHeap_));
+ CpuTiAction* heap_act = static_cast<CpuTiAction*>(
+ xbt_heap_remove(static_cast<CpuTiModel*>(model())->tiActionHeap_, action->indexHeap_));
if (heap_act != action)
DIE_IMPOSSIBLE;
}
/* add in action heap */
XBT_DEBUG("action(%p) index %d", action, action->indexHeap_);
if (action->indexHeap_ >= 0) {
- CpuTiAction *heap_act =
- static_cast<CpuTiAction*>(xbt_heap_remove(static_cast<CpuTiModel*>(getModel())->tiActionHeap_, action->indexHeap_));
+ CpuTiAction* heap_act = static_cast<CpuTiAction*>(
+ xbt_heap_remove(static_cast<CpuTiModel*>(model())->tiActionHeap_, action->indexHeap_));
if (heap_act != action)
DIE_IMPOSSIBLE;
}
if (min_finish > NO_MAX_DURATION)
- xbt_heap_push(static_cast<CpuTiModel*>(getModel())->tiActionHeap_, action, min_finish);
+ xbt_heap_push(static_cast<CpuTiModel*>(model())->tiActionHeap_, action, min_finish);
- XBT_DEBUG("Update finish time: Cpu(%s) Action: %p, Start Time: %f Finish Time: %f Max duration %f",
- getName(), action, action->getStartTime(), action->finishTime_, action->getMaxDuration());
+ XBT_DEBUG("Update finish time: Cpu(%s) Action: %p, Start Time: %f Finish Time: %f Max duration %f", cname(), action,
+ action->getStartTime(), action->finishTime_, action->getMaxDuration());
}
/* remove from modified cpu */
modified(false);
for(ActionTiList::iterator it(actionSet_->begin()), itend(actionSet_->end()) ; it != itend ; ++it) {
CpuTiAction *action = &*it;
/* action not running, skip it */
- if (action->getStateSet() != getModel()->getRunningActionSet())
+ if (action->getStateSet() != model()->getRunningActionSet())
continue;
/* bogus priority, skip it */
CpuAction *CpuTi::execution_start(double size)
{
- XBT_IN("(%s,%g)", getName(), size);
- CpuTiAction *action = new CpuTiAction(static_cast<CpuTiModel*>(getModel()), size, isOff(), this);
+ XBT_IN("(%s,%g)", cname(), size);
+ CpuTiAction* action = new CpuTiAction(static_cast<CpuTiModel*>(model()), size, isOff(), this);
actionSet_->push_back(*action);
if (duration > 0)
duration = MAX(duration, sg_surf_precision);
- XBT_IN("(%s,%g)", getName(), duration);
- CpuTiAction *action = new CpuTiAction(static_cast<CpuTiModel*>(getModel()), 1.0, isOff(), this);
+ XBT_IN("(%s,%g)", cname(), duration);
+ CpuTiAction* action = new CpuTiAction(static_cast<CpuTiModel*>(model()), 1.0, isOff(), this);
action->maxDuration_ = duration;
action->suspended_ = 2;
/* Move to the *end* of the corresponding action set. This convention
is used to speed up update_resource_state */
action->getStateSet()->erase(action->getStateSet()->iterator_to(*action));
- action->stateSet_ = static_cast<CpuTiModel*>(getModel())->runningActionSetThatDoesNotNeedBeingChecked_;
- action->getStateSet()->push_back(*action);
+ action->stateSet_ = static_cast<CpuTiModel*>(model())->runningActionSetThatDoesNotNeedBeingChecked_;
+ action->getStateSet()->push_back(*action);
}
actionSet_->push_back(*action);
}
void CpuTi::modified(bool modified){
- CpuTiList *modifiedCpu = static_cast<CpuTiModel*>(getModel())->modifiedCpu_;
+ CpuTiList* modifiedCpu = static_cast<CpuTiModel*>(model())->modifiedCpu_;
if (modified) {
if (!cpu_ti_hook.is_linked()) {
modifiedCpu->push_back(*this);