Compare commits
No commits in common. "6010d99cba4671d190788f49e11b65c6ebe268a5" and "5d28295a15c8e9a7eadbb54e5963b9abd26b7115" have entirely different histories.
6010d99cba
...
5d28295a15
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -189,33 +189,6 @@ ci array_get_90_ci(double xs[], int n)
|
|||
return array_get_ci((ci) { .low = 0.05, .high = 0.95 }, xs, n);
|
||||
}
|
||||
|
||||
double array_get_median(double xs[], int n){
|
||||
int median_k = (int)floor(0.5 * n);
|
||||
return quickselect(median_k, xs, n);
|
||||
}
|
||||
|
||||
void array_print_stats(double xs[], int n){
|
||||
ci ci_90 = array_get_ci((ci) { .low = 0.05, .high = 0.95 }, xs, n);
|
||||
ci ci_80 = array_get_ci((ci) { .low = 0.1, .high = 0.9 }, xs, n);
|
||||
ci ci_50 = array_get_ci((ci) { .low = 0.25, .high = 0.75 }, xs, n);
|
||||
double median = array_get_median(xs, n);
|
||||
double mean = array_mean(xs, n);
|
||||
double std = array_std(xs, n);
|
||||
printf("Mean: %lf\n"
|
||||
" Std: %lf\n"
|
||||
" 5%%: %lf\n"
|
||||
" 10%%: %lf\n"
|
||||
" 25%%: %lf\n"
|
||||
" 50%%: %lf\n"
|
||||
" 75%%: %lf\n"
|
||||
" 90%%: %lf\n"
|
||||
" 95%%: %lf\n",
|
||||
mean, std, ci_90.low, ci_80.low, ci_50.low, median, ci_50.high, ci_80.high, ci_90.high);
|
||||
}
|
||||
|
||||
// Replicate some of the above functions over samplers
|
||||
// However, in the future I'll delete this
|
||||
// There should be a clear boundary between working with samplers and working with an array of samples
|
||||
ci sampler_get_ci(ci interval, double (*sampler)(uint64_t*), int n, uint64_t* seed)
|
||||
{
|
||||
UNUSED(seed); // don't want to use it right now, but want to preserve ability to do so (e.g., remove parallelism from internals). Also nicer for consistency.
|
||||
|
|
|
@ -4,17 +4,13 @@
|
|||
/* Parallel sampling */
|
||||
void sampler_parallel(double (*sampler)(uint64_t* seed), double* results, int n_threads, int n_samples);
|
||||
|
||||
/* Get median and confidence intervals */
|
||||
double array_get_median(double xs[], int n);
|
||||
/* Get 90% confidence interval */
|
||||
typedef struct ci_t {
|
||||
double low;
|
||||
double high;
|
||||
} ci;
|
||||
ci array_get_ci(ci interval, double* xs, int n);
|
||||
ci array_get_90_ci(double xs[], int n);
|
||||
void array_print_stats(double xs[], int n);
|
||||
|
||||
// Deprecated: get confidence intervals directly from samplers
|
||||
ci sampler_get_ci(ci interval, double (*sampler)(uint64_t*), int n, uint64_t* seed);
|
||||
ci sampler_get_90_ci(double (*sampler)(uint64_t*), int n, uint64_t* seed);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user