From e3adf9d9793aa1302548a63a1e7d84a25e1420a8 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 8 Jan 2022 12:46:58 +0530 Subject: Add C code for experiments. * experiments/cube.c, experiments/integral.c, experiments/spheroid.c, experiments/volume.c: New files. --- experiments/cube.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 experiments/cube.c (limited to 'experiments/cube.c') diff --git a/experiments/cube.c b/experiments/cube.c new file mode 100644 index 0000000..845688c --- /dev/null +++ b/experiments/cube.c @@ -0,0 +1,46 @@ +/* How does the cube fare with unbiased extent sampling? + */ + +#include +#include +#include "oracles.h" +#include "extent-sampling.h" + +#define DIMENSION_START 5 +#define DIMENSION_STEP 5 +#define DIMENSION_STOP 50 + +#define TRIALS 100 + +#define RTOL 0.1 +#define EDGE 1.0 + +double cube_oracle (const gsl_vector* x) { + return cube_extent_oracle(x, EDGE); +} + +int main () +{ + gsl_rng_env_setup(); + gsl_rng* r = gsl_rng_alloc(gsl_rng_default); + + FILE* fp = fopen("cube-window.dat", "w"); + printf("dimension\tsamples\n"); + fprintf(fp, "dimension\tsamples\n"); + for (int dim=DIMENSION_START; dim<=DIMENSION_STOP; dim+=DIMENSION_STEP) { + unsigned int total_samples=0; + for (int i=0; i