-/************
- * Resource *
- ************/
-CpuTi::CpuTi(CpuTiModel *model, const char *name, xbt_dynar_t speedPeak,
- int pstate, double speedScale, tmgr_trace_t speedTrace, int core,
- e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace)
- : Cpu(model, name, core, 0, speedScale, stateInitial)
-{
- p_speedEvent = NULL;
- m_speedScale = speedScale;
- m_core = core;
- tmgr_trace_t empty_trace;
- s_tmgr_event_t val;
- xbt_assert(core==1,"Multi-core not handled with this model yet");
- XBT_DEBUG("speed scale %f", speedScale);
- p_availTrace = new CpuTiTgmr(speedTrace, speedScale);
-
- p_actionSet = new ActionTiList();
-
- m_lastUpdate = 0;
-
- xbt_dynar_get_cpy(speedPeak, 0, &m_speedPeak);
- XBT_DEBUG("CPU create: peak=%f", m_speedPeak);
-
- if (stateTrace)
- p_stateEvent = tmgr_history_add_trace(history, stateTrace, 0.0, 0, this);
- if (speedTrace && xbt_dynar_length(speedTrace->s_list.event_list) > 1) {
- // add a fake trace event if periodicity == 0
- xbt_dynar_get_cpy(speedTrace->s_list.event_list,
- xbt_dynar_length(speedTrace->s_list.event_list) - 1, &val);
- if (val.delta == 0) {
- empty_trace = tmgr_empty_trace_new();
- p_speedEvent =
- tmgr_history_add_trace(history, empty_trace,
- p_availTrace->m_lastTime, 0, this);
- }
- }
-};
-