example.c (1239B)
1 #include "../../../squiggle.h" 2 #include "../../../squiggle_more.h" 3 #include <math.h> 4 #include <stdio.h> 5 #include <stdlib.h> 6 7 int main() 8 { 9 // set randomness seed 10 uint64_t* seed = malloc(sizeof(uint64_t)); 11 *seed = 1000; // xorshift can't start with 0 12 13 // Convert to 90% confidence interval form and back 14 lognormal_params ln1 = { .logmean = 1.0, .logstd = 3.0 }; 15 ci ln1_ci = convert_lognormal_params_to_ci(ln1); 16 printf("The 90%% confidence interval of Lognormal(%f, %f) is [%f, %f]\n", 17 ln1.logmean, ln1.logstd, 18 ln1_ci.low, ln1_ci.high); 19 lognormal_params ln1_params2 = convert_ci_to_lognormal_params(ln1_ci); 20 printf("The lognormal which has 90%% confidence interval [%f, %f] is Lognormal(%f, %f)\n", 21 ln1_ci.low, ln1_ci.high, 22 ln1_params2.logmean, ln1_params2.logstd); 23 24 lognormal_params ln2 = convert_ci_to_lognormal_params((ci) { .low = 1, .high = 10 }); 25 lognormal_params ln3 = convert_ci_to_lognormal_params((ci) { .low = 5, .high = 50 }); 26 27 lognormal_params sln = algebra_product_lognormals(ln2, ln3); 28 ci sln_ci = convert_lognormal_params_to_ci(sln); 29 30 printf("Result of some lognormal products: to(%f, %f)\n", sln_ci.low, sln_ci.high); 31 32 free(seed); 33 }