16 #define COLLECT_TQueue_STATISTICS 1 40 void enqueue(
double tt,
TQItem*);
41 void shift(
double tt) {
assert(!bins_[qpt_]); tt_ = tt;
if (++qpt_ >= nbin_) { qpt_ = 0; }}
44 double tbin() {
return tt_; }
50 #if COLLECT_TQueue_STATISTICS 62 TQueue(TQItemPool*,
int mkmut = 0);
69 double least_t(){
double tt;
MUTLOCK;
if (least_) { tt = least_->t_;}
else{tt = 1e15;}
MUTUNLOCK;
return tt;}
71 double least_t(){
if (least_) {
return least_->t_;}
else{
return 1e15;}}
77 TQItem* atomic_dq(
double til);
79 TQItem* enqueue_bin(
double t,
void* data);
81 void shift_bin(
double t) { ++nshift_; binq_->shift(t); }
82 double tbin() {
return binq_->tbin(); }
88 void move_least(
double tnew);
90 void check(
const char* errmess);
93 void forall_callback(
void (*)(
const TQItem*,
int));
100 void move_least_nolock(
double tnew);
106 #if COLLECT_TQueue_STATISTICS 107 unsigned long ninsert,
nrem, nleast, nbal, ncmplxrem;
108 unsigned long ncompare, nleastsrch, nfind, nfindsrch, nmove, nfastmove;
MUTDEC unsigned long nrem
SPTREE< TQItem > * sptree_
static double statistics(void *v)
static double insert(void *v)
static void deleteitem(TQItem *i)
static double resize(void *v)
static double least(void *v)
int find(const int, const int, const int, const int, const int)
static double spike_stat(void *v)