mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
6e72370fd7
This imports licensing clarifications and updates as discussed on samba-technical ("Subject: Re: ccan code breaks older build farm systems"). In particular, the recent version have per-file license markers, and some modules are relicenced more liberally: in particular Simo pointed out that htable was GPL, and indirectly included by libtdb2, which would have made that GPL as well. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User: Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date: Mon Jul 25 12:03:40 CEST 2011 on sn-devel-104
59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
#include <stdio.h>
|
|
#include <string.h>
|
|
#include "config.h"
|
|
|
|
/**
|
|
* tally - running tally of integers
|
|
*
|
|
* The tally module implements simple analysis of a stream of integers.
|
|
* Numbers are fed in via tally_add(), and then the mean, median, mode and
|
|
* a histogram can be read out.
|
|
*
|
|
* Example:
|
|
* #include <stdio.h>
|
|
* #include <err.h>
|
|
* #include <ccan/tally/tally.h>
|
|
*
|
|
* int main(int argc, char *argv[])
|
|
* {
|
|
* struct tally *t;
|
|
* unsigned int i;
|
|
* size_t err;
|
|
* ssize_t val;
|
|
* char *histogram;
|
|
*
|
|
* if (argc < 2)
|
|
* errx(1, "Usage: %s <number>...\n", argv[0]);
|
|
*
|
|
* t = tally_new(100);
|
|
* for (i = 1; i < argc; i++)
|
|
* tally_add(t, atol(argv[i]));
|
|
*
|
|
* printf("Mean = %zi\n", tally_mean(t));
|
|
* val = tally_approx_median(t, &err);
|
|
* printf("Median = %zi (+/- %zu)\n", val, err);
|
|
* val = tally_approx_mode(t, &err);
|
|
* printf("Mode = %zi (+/- %zu)\n", val, err);
|
|
* histogram = tally_histogram(t, 50, 10);
|
|
* printf("Histogram:\n%s", histogram);
|
|
* free(histogram);
|
|
* return 0;
|
|
* }
|
|
*
|
|
* License: LGPL (v3 or any later version)
|
|
* Author: Rusty Russell <rusty@rustcorp.com.au>
|
|
*/
|
|
int main(int argc, char *argv[])
|
|
{
|
|
if (argc != 2)
|
|
return 1;
|
|
|
|
if (strcmp(argv[1], "depends") == 0) {
|
|
printf("ccan/build_assert\n");
|
|
printf("ccan/likely\n");
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|