Beispiel #1
0
REM::~REM() {
	histogram_free(hist);
	if (membersArray != NULL) {
		free(membersArray);
	}
	membersArray = NULL;
}
Beispiel #2
0
int
main(int argc, char **argv)
{
	struct timeval one_second = { 1, 0 };
	struct event *timeout_event, *sigint_event;

	base = event_base_new();
	durations = histogram_new(100);
	delays = histogram_new(100);

	/* add prepare and check watchers; no need to hang on to their pointers,
	 * since they will be freed for us in event_base_free. */
	evwatch_prepare_new(base, &on_prepare, NULL);
	evwatch_check_new(base, &on_check, NULL);

	/* set a persistent one second timeout */
	timeout_event = event_new(base, -1, EV_PERSIST, &on_timeout, NULL);
	if (!timeout_event)
		return EXIT_FAILURE;
	event_add(timeout_event, &one_second);

	/* set a handler for interrupt, so we can quit cleanly */
	sigint_event = evsignal_new(base, SIGINT, &on_sigint, NULL);
	if (!sigint_event)
		return EXIT_FAILURE;
	event_add(sigint_event, NULL);

	/* run the event loop until interrupted */
	event_base_dispatch(base);

	/* clean up */
	event_free(timeout_event);
	event_free(sigint_event);
	event_base_free(base);
	histogram_free(durations);
	histogram_free(delays);

	return EXIT_SUCCESS;
}
Beispiel #3
0
EXT double* kirt_mc_h2neg_var    
  (int n, double cutoff, get_histogram callback) 
{

  int i;

  double neg, nrm, avrg = 0.0, disp = 0.0, buff = 0.0;
  double* dispersion = double_alloc(n);

  loop(i,n) {
  
    histogram* h = callback();
    kirt_h2neg(h,cutoff, &neg);

    disp += neg * neg;
    avrg += neg;

    nrm = 1.0 / (i+1);
    dispersion[i] = sqrt(  nrm * ( disp - nrm * avrg*avrg ) );

    histogram_free(h);

  }