Exemple #1
0
void run_main_b() {
    cbuf *cb1 ;
    
    cb1 = cbuf_init() ;
    cbuf_update(cb1, 60, 1.291) ;
    cbuf_update(cb1, 63, 1.287) ;
    cbuf_update(cb1, 63, 1.231) ;
    cbuf_update(cb1, 69, 1.229) ;
    cbuf_update(cb1, 72, 1.247) ;
    
    
    cbuf_update(cb1, 361, 1.291) ;
    
    
    cbuf_update(cb1, 411, 1.291) ;
    cbuf_update(cb1, 412, 1.281) ;
    cbuf_update(cb1, 413, 1.292) ;
    cbuf_update(cb1, 414, 1.284) ;
    cbuf_update(cb1, 414, 1.290) ;
    
    cbuf_update(cb1, 511, 1.241) ;
    cbuf_update(cb1, 512, 1.251) ;
    cbuf_update(cb1, 513, 1.232) ;
    cbuf_update(cb1, 514, 1.202) ;
    cbuf_update(cb1, 517, 1.119) ;
    
    cbuf_update(cb1, 551, 1.080) ;
    cbuf_update(cb1, 552, 1.081) ;
    cbuf_update(cb1, 553, 1.079) ;
    cbuf_update(cb1, 554, 1.088) ;
    cbuf_update(cb1, 561, 1.072) ;
    cbuf_update(cb1, 562, 1.113) ;
    cbuf_update(cb1, 563, 1.091) ;
    cbuf_update(cb1, 564, 1.092) ;
    cbuf_update(cb1, 571, 1.089) ;
    cbuf_update(cb1, 572, 1.073) ;
    cbuf_update(cb1, 573, 1.061) ;
    cbuf_update(cb1, 574, 1.111) ;
    cbuf_update(cb1, 581, 1.119) ;
    cbuf_update(cb1, 582, 1.123) ;
    cbuf_update(cb1, 583, 1.151) ;
    cbuf_update(cb1, 584, 1.153) ;
    
    cbuf_dump(cb1) ;
    
    double avg ;
    avg = cbuf_average(cb1) ;
    printf("Average rate = %f\n", avg) ;
    
    quote *q_start, *q_end ;
    q_start = cbuf_start(cb1) ;
    q_end = cbuf_end(cb1) ;
    
    printf("Start: time = %d, rate = %f\n", q_start->time, q_start->rate) ;
    printf("End:   time = %d, rate = %f\n", q_end->time, q_end->rate) ;
    
    cbuf_stats(cb1) ;
    
    cbuf_delete(cb1) ;
}
Exemple #2
0
void
cbufq_dump(cbufq_t *cbufq, FILE *fp)
{
	unsigned i = 0;

	fprintf(fp, "cbufq[%p]: count %8u\n", cbufq, cbufq->cbufq_count);
	for (cbuf_t *cbuf = list_head(&cbufq->cbufq_bufs); cbuf != NULL;
	    cbuf = list_next(&cbufq->cbufq_bufs, cbuf)) {
		fprintf(fp, "--- entry %8u ---\n", i++);
		cbuf_dump(cbuf, fp);
	}
	fprintf(fp, "cbufq[%p]: end\n\n", cbufq);
}
Exemple #3
0
void *cbuf_get(CBUF *b, int size, int *ret_datasize) {
	cbuf_lock(b);
	void *ret = NULL;
	int new_size = min(size, cbuf_size_to_end(b));
	if (b->debug_get) {
		LOGf("1 cbuf_get(%s, %d) new_size: %d size_to_end: %d\n",
				b->name, size, new_size, cbuf_size_to_end(b));
		cbuf_dump(b);
	}
	if (new_size <= 0) { // No data
		*ret_datasize = 0;
		ret = NULL;
		goto OUT;
	}
	*ret_datasize = new_size;
	ret = b->buffer + b->writepos;
	b->writepos += new_size; // Move writepos
	b->output   += new_size;
	if (b->writepos > b->size) {
		LOGf("!!! b->writepos > b->size !!! size:%d new_size:%d\n", size, new_size);
		cbuf_dump(b);
		assert(b->writepos <= b->size);
	}
	if (b->writepos == b->size) // Buffer wraparound
		b->writepos = 0;

OUT:
	if (b->debug_get) {
		LOGf("2 cbuf_get(%s, %d) new_size: %d size_to_end: %d ret_sz:%d\n",
				b->name, size, new_size, cbuf_size_to_end(b), *ret_datasize);
		cbuf_dump(b);
		b->debug_get = 0;
	}
	cbuf_unlock(b);
	return ret;
}
Exemple #4
0
void run_main_a() {
    cbuf *cb1 ;
    
    cb1 = cbuf_init() ;
    cbuf_update(cb1, 60, 1.291) ;
    cbuf_update(cb1, 63, 1.287) ;
    cbuf_update(cb1, 63, 1.231) ;
    cbuf_update(cb1, 69, 1.229) ;
    cbuf_update(cb1, 72, 1.247) ;
    
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 361, 1.291) ;
    
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 411, 1.291) ;
    cbuf_update(cb1, 412, 1.281) ;
    cbuf_update(cb1, 413, 1.292) ;
    cbuf_update(cb1, 414, 1.284) ;
    cbuf_update(cb1, 414, 1.290) ;
    
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 511, 1.241) ;
    cbuf_update(cb1, 512, 1.251) ;
    cbuf_update(cb1, 513, 1.232) ;
    cbuf_update(cb1, 514, 1.202) ;
    cbuf_update(cb1, 517, 1.119) ;
    
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 551, 1.080) ;
    cbuf_update(cb1, 552, 1.081) ;
    cbuf_update(cb1, 553, 1.079) ;
    cbuf_update(cb1, 554, 1.088) ;
    cbuf_update(cb1, 561, 1.072) ;
    cbuf_update(cb1, 562, 1.113) ;
    cbuf_update(cb1, 563, 1.091) ;
    cbuf_update(cb1, 564, 1.092) ;
    cbuf_update(cb1, 571, 1.089) ;
    cbuf_update(cb1, 572, 1.073) ;
    cbuf_update(cb1, 573, 1.061) ;
    cbuf_update(cb1, 574, 1.111) ;
    cbuf_update(cb1, 581, 1.119) ;
    cbuf_update(cb1, 582, 1.123) ;
    cbuf_update(cb1, 583, 1.151) ;
    cbuf_update(cb1, 584, 1.153) ;
    
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 750, 1.200) ;
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 818, 1.210) ;
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 868, 1.230) ;
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 878, 1.230) ;
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 900, 1.240) ;
    cbuf_dump(cb1) ;
    
    cbuf_update(cb1, 2000, 1.240) ;
    cbuf_dump(cb1) ;
}