Introduction
Introduction Statistics Contact Development Disclaimer Help
trandcounts(1): add option to display output as ratios - numtools - perform num…
git clone git://src.adamsgaard.dk/numtools
Log
Files
Refs
README
LICENSE
---
commit 817421dee16bed3f985a841c575be086cfb3254a
parent d7ec07cf8c41de0a001237eded7af64e8868b345
Author: Anders Damsgaard <[email protected]>
Date: Wed, 11 May 2022 10:42:44 +0200
randcounts(1): add option to display output as ratios
Diffstat:
M randcounts.1 | 3 +++
M randcounts.c | 12 +++++++++---
2 files changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/randcounts.1 b/randcounts.1
t@@ -9,6 +9,7 @@
.Op Fl h
.Op Fl n Ar num
.Op Fl r Ar repeats
+.Op Fl R
.Op Fl s Ar seed
.Ar weight1
.Op Ar weight2 ...
t@@ -37,6 +38,8 @@ Number of points to place in the bins.
The default is 1.
.It Fl r Ar repeats
Repeat the binning several times, with one realization per line of output.
+.It Fl R
+Show the output as ratios (in the range [0;1]) instead of counts.
.It Fl s Ar seed
Seed the pseudo-random number generator with this value, which is used
to generate reproducable binning.
diff --git a/randcounts.c b/randcounts.c
t@@ -14,7 +14,7 @@ char *argv0;
static void
usage(void)
{
- errx(1, "usage: %s [-h] [-n num] [-r repeats] [-s seed] "
+ errx(1, "usage: %s [-h] [-n num] [-r repeats] [-R] [-s seed] "
"weight1 [weight2 ...]\n", argv0);
}
t@@ -22,7 +22,7 @@ int
main(int argc, char *argv[])
{
int i, s = 0, N;
- long j, seed, *counts = NULL, n = 1, r, repeats = 1;
+ long j, seed, *counts = NULL, n = 1, r, repeats = 1, ratio = 0;
double val = 0.0, weightsum = 0.0, *weights = NULL;
struct timeval t1;
t@@ -39,6 +39,9 @@ main(int argc, char *argv[])
case 'r':
repeats = atol(EARGF(usage()));
break;
+ case 'R':
+ ratio = 1;
+ break;
case 's':
s = 1;
seed = atol(EARGF(usage()));
t@@ -94,7 +97,10 @@ main(int argc, char *argv[])
}
}
for (i = 0; i < N; i++) {
- printf("%ld", counts[i]);
+ if (ratio)
+ printf("%.17g", (double)counts[i] / n);
+ else
+ printf("%ld", counts[i]);
if (i < N - 1)
putchar('\t');
else
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.