16 #define leftlink left_
17 #define rightlink right_
18 #define uplink parent_
44 for (
i = 0;
i < level; ++
i) {
58 tpool_ =
new TQItemPool(1000);
65 #if COLLECT_TQueue_STATISTICS
115 if (tnew <= nl->t_ && tnew <= fifo_->
least_t()) {
135 }
else if (tnew < least_->t_) {
148 #if COLLECT_TQueue_STATISTICS
149 Printf(
"insertions=%lu moves=%lu removals=%lu calls to least=%lu\n",
157 Printf(
"Turn on COLLECT_TQueue_STATISTICS_ in tqueue.h\n");
162 #if COLLECT_TQueue_STATISTICS
243 #if COLLECT_TQueue_STATISTICS
271 #if COLLECT_TQueue_STATISTICS
284 q->left_ =
q->right_ = 0;
287 #if COLLECT_TQueue_STATISTICS
293 Printf(
"FifoQ remove %p\n",
q);
301 q->left_->right_ =
q->right_;
304 q->right_->left_ =
q->left_;
306 q->left_ =
q->right_ = 0;
308 #if COLLECT_TQueue_STATISTICS
void deleteitem(TQItem *)
void check(const char *errmess)
void move(TQItem *, double tnew)
TQItem * insert_fifo(double t, void *data_)
void forall_callback(void(*)(const TQItem *, int))
TQItem * insert(double t, void *data_)
void move_least(double tnew)
void spike_stat(double *)
void hoc_execerror(const char *, const char *)
static void deleteitem(TQItem *i)
static void prnt(const TQItem *b, int level)
static void chk(TQItem *b, int level)
void spscan(void(*f)(const SPBLK *, int), SPBLK *n, SPTREE< SPBLK > *q)
SPBLK * spdeq(SPBLK **np)
SPBLK * sphead(SPTREE< SPBLK > *q)
SPBLK * spenq(SPBLK *n, SPTREE< SPBLK > *q)
SPBLK * splookup(double key, SPTREE< SPBLK > *q)
void spdelete(SPBLK *n, SPTREE< SPBLK > *q)
void spinit(SPTREE< SPBLK > *q)
static const char * errmess_