70 return s.
node >
l.load(std::memory_order_acquire);
80 return s.
fail >
l.load(std::memory_order_acquire);
90 const clock::rep now = clock::now().time_since_epoch().count();
91 const clock::duration elapsed(now -
t0.load(std::memory_order_acquire));
92 return std::chrono::duration<double, std::milli>(elapsed).count() >
93 l.load(std::memory_order_acquire);
102 return s.
restart >
l.load(std::memory_order_acquire);
Stop-object based on number of failures
std::atomic< unsigned long long int > l
Failure limit.
virtual bool stop(const Statistics &s, const Options &o)
Return true if failure limit is exceeded.
Stop-object based on number of nodes
std::atomic< unsigned long long int > l
Node limit.
virtual bool stop(const Statistics &s, const Options &o)
Return true if node limit is exceeded.
Stop-object based on number of restarts
std::atomic< unsigned long long int > l
Restart limit.
virtual bool stop(const Statistics &s, const Options &o)
Return true if failure limit is exceeded.
unsigned long int restart
Number of restarts.
unsigned long long int fail
Number of failed nodes in search tree.
unsigned long long int node
Number of nodes expanded.
Base-class for Stop-object.
static Stop * time(double l)
Stop if time limit l (in milliseconds) has been exceeded.
static Stop * node(unsigned long long int l)
Stop if node limit l has been exceeded.
static Stop * fail(unsigned long long int l)
Stop if failure limit l has been exceeded.
static Stop * restart(unsigned long long int l)
Stop if restart limit l has been exceeded.
Stop-object based on time
virtual bool stop(const Statistics &s, const Options &o)
Return true if time limit is exceeded.
std::atomic< double > l
Current limit in milliseconds.
std::atomic< clock_rep > t0
Clock representation at the start of timing.
Gecode toplevel namespace