example.c (942B)
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 normal_params n1 = { .mean = 1.0, .std = 3.0 }; 14 normal_params n2 = { .mean = 2.0, .std = 4.0 }; 15 normal_params sn = algebra_sum_normals(n1, n2); 16 printf("The sum of Normal(%f, %f) and Normal(%f, %f) is Normal(%f, %f)\n", 17 n1.mean, n1.std, n2.mean, n2.std, sn.mean, sn.std); 18 19 lognormal_params ln1 = { .logmean = 1.0, .logstd = 3.0 }; 20 lognormal_params ln2 = { .logmean = 2.0, .logstd = 4.0 }; 21 lognormal_params sln = algebra_product_lognormals(ln1, ln2); 22 printf("The product of Lognormal(%f, %f) and Lognormal(%f, %f) is Lognormal(%f, %f)\n", 23 ln1.logmean, ln1.logstd, ln2.logmean, ln2.logstd, sln.logmean, sln.logstd); 24 25 free(seed); 26 }