if (fabs(a -b) < EPSILON)
return 0.0;
- if (type_ == TRACE_FIXED) {
+ if (type_ == Type::FIXED) {
return ((b - a) * value_);
}
return a;
/* Is the trace fixed ? */
- if (type_ == TRACE_FIXED) {
+ if (type_ == Type::FIXED) {
return (a + (amount / value_));
}
/* no availability file, fixed trace */
if (not speed_trace) {
- type_ = TRACE_FIXED;
+ type_ = Type::FIXED;
value_ = value;
XBT_DEBUG("No availability trace. Constant value = %f", value);
return;
/* only one point available, fixed trace */
if (speed_trace->event_list.size() == 1) {
- type_ = TRACE_FIXED;
+ type_ = Type::FIXED;
value_ = speed_trace->event_list.front().value_;
return;
}
- type_ = TRACE_DYNAMIC;
+ type_ = Type::DYNAMIC;
/* count the total time of trace file */
for (auto const& val : speed_trace->event_list)
delete speed_integrated_trace_;
speed_.scale = val.value_;
- CpuTiTmgr* trace = new CpuTiTmgr(TRACE_FIXED, val.value_);
+ CpuTiTmgr* trace = new CpuTiTmgr(CpuTiTmgr::Type::FIXED, val.value_);
XBT_DEBUG("value %f", val.value_);
speed_integrated_trace_ = trace;
#ifndef SURF_MODEL_CPUTI_H_
#define SURF_MODEL_CPUTI_H_
-#include <boost/intrusive/list.hpp>
-
-//#include <xbt/base.h>
-
#include "src/surf/cpu_interface.hpp"
#include "src/surf/trace_mgr.hpp"
+#include <boost/intrusive/list.hpp>
+
namespace simgrid {
namespace surf {
int binary_search(double* array, double a, int low, int high);
};
-enum trace_type {
-
- TRACE_FIXED, /*< Trace fixed, no availability file */
- TRACE_DYNAMIC /*< Dynamic, have an availability file */
-};
-
class CpuTiTmgr {
public:
- CpuTiTmgr(trace_type type, double value) : type_(type), value_(value){};
+ enum class Type {
+ FIXED, /*< Trace fixed, no availability file */
+ DYNAMIC /*< Dynamic, have an availability file */
+ };
+ CpuTiTmgr(Type type, double value) : type_(type), value_(value){};
CpuTiTmgr(tmgr_trace_t speed_trace, double value);
CpuTiTmgr(const CpuTiTmgr&) = delete;
CpuTiTmgr& operator=(const CpuTiTmgr&) = delete;
double solve(double a, double amount);
double get_power_scale(double a);
- trace_type type_;
+ Type type_;
double value_; /*< Percentage of cpu speed available. Value fixed between 0 and 1 */
/* Dynamic */