summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cdf.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/cdf.c b/src/cdf.c
index 2ab1d5c..45b8fb7 100644
--- a/src/cdf.c
+++ b/src/cdf.c
@@ -64,7 +64,7 @@ static void help() {
static DistRecord *expand_array(DistRecord *records, size_t *capacity) {
(*capacity) *= 2;
- DistRecord *new = realloc(records, *capacity);
+ DistRecord *new = realloc(records, (*capacity*sizeof(DistRecord)));
if (!new) {
fprintf(stderr, "ERROR: Memory allocation failed\n");
return nullptr;
@@ -125,13 +125,13 @@ static int print_data_fp(DistRecord *records, long double *freqs, size_t cnt) {
if (ARG_REVERSE_CDF) {
long double total_freq = 1.0;
for (size_t i=0; i<cnt; i++) {
- fprintf(stdout, "%Lf\t%lf\n", total_freq, records[i].data.d);
+ fprintf(stdout, "%.15Lf\t%lf\n", total_freq, records[i].data.d);
total_freq -= freqs[i];
}
} else {
for (size_t i=0; i<cnt; i++) {
- fprintf(stdout, "%Lf\t%lf\n", freqs[i], records[i].data.d);
+ fprintf(stdout, "%.15Lf\t%lf\n", freqs[i], records[i].data.d);
}
}
@@ -142,12 +142,12 @@ static int print_data_int(DistRecord *records, long double *freqs, size_t cnt) {
if (ARG_REVERSE_CDF) {
long double total_freq = 1.0;
for (size_t i=0; i<cnt; i++) {
- fprintf(stdout, "%Lf\t%ld\n", total_freq, records[i].data.i);
+ fprintf(stdout, "%.15Lf\t%ld\n", total_freq, records[i].data.i);
total_freq -= freqs[i];
}
} else {
for (size_t i=0; i<cnt; i++) {
- fprintf(stdout, "%Lf\t%ld\n", freqs[i], records[i].data.i);
+ fprintf(stdout, "%.15Lf\t%ld\n", freqs[i], records[i].data.i);
}
}
@@ -158,12 +158,12 @@ static int print_data_uint(DistRecord *records, long double *freqs, size_t cnt)
if (ARG_REVERSE_CDF) {
long double total_freq = 1.0;
for (size_t i=0; i<cnt; i++) {
- fprintf(stdout, "%Lf\t%ld\n", total_freq, records[i].data.u);
+ fprintf(stdout, "%.15Lf\t%ld\n", total_freq, records[i].data.u);
total_freq -= freqs[i];
}
} else {
for (size_t i=0; i<cnt; i++) {
- fprintf(stdout, "%Lf\t%ld\n", freqs[i], records[i].data.u);
+ fprintf(stdout, "%.15Lf\t%ld\n", freqs[i], records[i].data.u);
}
}