diff --git a/examples/core/01_one_sample/example.c b/examples/core/01_one_sample/example.c index 9c3978e..611011a 100644 --- a/examples/core/01_one_sample/example.c +++ b/examples/core/01_one_sample/example.c @@ -3,33 +3,13 @@ #include // Estimate functions -double sample_0(uint64_t* seed) -{ - UNUSED(seed); - return 0; -} -double sample_1(uint64_t* seed) -{ - UNUSED(seed); - return 1; -} +double sample_model(uint64_t* seed){ -double sample_few(uint64_t* seed) -{ - return sample_to(1, 3, seed); -} - -double sample_many(uint64_t* seed) -{ - return sample_to(2, 10, seed); -} - -int main() -{ - // set randomness seed - uint64_t* seed = malloc(sizeof(uint64_t)); - *seed = 1000; // xorshift can't start with 0 + double sample_0(uint64_t* seed) { UNUSED(seed); return 0; } + double sample_1(uint64_t* seed) { UNUSED(seed); return 1; } + double sample_few(uint64_t* seed) { return sample_to(1, 3, seed); } + double sample_many(uint64_t* seed) { return sample_to(2, 10, seed); } double p_a = 0.8; double p_b = 0.5; @@ -38,8 +18,17 @@ int main() int n_dists = 4; double weights[] = { 1 - p_c, p_c / 2, p_c / 4, p_c / 4 }; double (*samplers[])(uint64_t*) = { sample_0, sample_1, sample_few, sample_many }; + double result = sample_mixture(samplers, weights, n_dists, seed); - double result_one = sample_mixture(samplers, weights, n_dists, seed); - printf("result_one: %f\n", result_one); + return result; +} + +int main() +{ + // set randomness seed + uint64_t* seed = malloc(sizeof(uint64_t)); + *seed = 1000; // xorshift can't start with 0 + + printf("result_one: %f\n", sample_model(seed)); free(seed); }