本文整理汇总了C++中Iter::get_period方法的典型用法代码示例。如果您正苦于以下问题:C++ Iter::get_period方法的具体用法?C++ Iter::get_period怎么用?C++ Iter::get_period使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Iter
的用法示例。
在下文中一共展示了Iter::get_period方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: resp_time
double resp_time(Iter highest, Iter end, double bound)
{
typedef typename std::iterator_traits<Iter>::value_type Type;
double r = 0; // rt, used for the internal loop
double r_old = 0; // used for the internal loop
double r_latest = 0; // the greatest rt among all instances
int k = 0; // instance number
Iter task = end-1; // task under analysis
// starting point: r^0
for (Iter x = highest; x!=end; ++x) r += x->get_wcet();
// for_each(highest, end, [&r](Type a) {
// r += a.get_wcet();
// });
do {
k++;
while (r_old < r) {
r_old = r;
r = k * task->get_wcet() + workload(highest, task, 0, r_old);
if (r > bound) throw RespTimeTooLarge(toString(r));
}
r_latest = std::max(r_latest, r - (k-1) * task->get_period());
if (r > k * task->get_period()) r+=task->get_wcet();
} while (r > k * task->get_period());
return r_latest;
}
示例2: compute_hyperperiod
int compute_hyperperiod(Iter b, Iter e, int n)
{
int l = 1;
int k=0;
for (Iter i = b; i!=e && k<n; ++i, ++k) {
l = boost::math::lcm<int>(l, i->get_period());
}
return l;
}