EvalType eval() { EvalType prod(1); iterator end_it(prime_factors.end()); for (iterator it(prime_factors.begin()); it != end_it; it++) { if (it->second) { if (it->second > 0) prod *= gsse::slow_power(it->first, it->second); else prod /= gsse::slow_power(it->first, -it->second); } } return prod; }
const_iterator begin() const { return const_iterator( storage.begin(), storage.end() ); }
iterator begin() { return iterator( storage.begin(), storage.end() ); }
duration elapsed() const { duration elapsed_ = duration::zero(); for (const_iterator it = cont_.begin(); it !=cont_.end(); ++it) elapsed_ += *it; return elapsed_; }
duration last() const { if (cont_.empty()) return duration::zero(); else return *cont_.begin(); }