diff --git a/examples/core/00_example_template/example b/examples/core/00_example_template/example index 7dc8b29..1475883 100755 Binary files a/examples/core/00_example_template/example and b/examples/core/00_example_template/example differ diff --git a/examples/core/01_one_sample/example b/examples/core/01_one_sample/example index c6e47e4..61c0990 100755 Binary files a/examples/core/01_one_sample/example and b/examples/core/01_one_sample/example differ diff --git a/examples/core/02_time_to_botec/example b/examples/core/02_time_to_botec/example index 4ef534c..1361cf5 100755 Binary files a/examples/core/02_time_to_botec/example and b/examples/core/02_time_to_botec/example differ diff --git a/examples/core/03_gcc_nested_function/example b/examples/core/03_gcc_nested_function/example index 30d7ef7..0a43bb0 100755 Binary files a/examples/core/03_gcc_nested_function/example and b/examples/core/03_gcc_nested_function/example differ diff --git a/examples/core/04_gamma_beta/example b/examples/core/04_gamma_beta/example index 9a771e1..e9d2bb0 100755 Binary files a/examples/core/04_gamma_beta/example and b/examples/core/04_gamma_beta/example differ diff --git a/examples/core/05_hundred_lognormals/example b/examples/core/05_hundred_lognormals/example index 0aa6c9d..fc3ed8f 100755 Binary files a/examples/core/05_hundred_lognormals/example and b/examples/core/05_hundred_lognormals/example differ diff --git a/examples/core/makefile b/examples/core/makefile index 8389813..3b2da54 100644 --- a/examples/core/makefile +++ b/examples/core/makefile @@ -23,7 +23,7 @@ DEPS=$(SQUIGGLE) $(MATH) ## Flags DEBUG= #'-g' -WARN=-Wall -Wextra +WARN=-Wall -Wextra -Wdouble-promotion STANDARD=-std=c99 OPTIMIZED=-O3 #-Ofast diff --git a/examples/more/00_example_template/example b/examples/more/00_example_template/example index a2a250c..9fc934d 100755 Binary files a/examples/more/00_example_template/example and b/examples/more/00_example_template/example differ diff --git a/examples/more/01_sample_from_cdf/example b/examples/more/01_sample_from_cdf/example index 43f755b..1ca3031 100755 Binary files a/examples/more/01_sample_from_cdf/example and b/examples/more/01_sample_from_cdf/example differ diff --git a/examples/more/02_sample_from_cdf_beta/example b/examples/more/02_sample_from_cdf_beta/example index 0abba93..0a10f4a 100755 Binary files a/examples/more/02_sample_from_cdf_beta/example and b/examples/more/02_sample_from_cdf_beta/example differ diff --git a/examples/more/03_ci_beta/example b/examples/more/03_ci_beta/example index 0aa47ae..3c5259a 100755 Binary files a/examples/more/03_ci_beta/example and b/examples/more/03_ci_beta/example differ diff --git a/examples/more/04_nuclear_war/example b/examples/more/04_nuclear_war/example index 326e9e8..cf3f9bb 100755 Binary files a/examples/more/04_nuclear_war/example and b/examples/more/04_nuclear_war/example differ diff --git a/examples/more/05_burn_10kg_fat/example b/examples/more/05_burn_10kg_fat/example index 7587f9e..6fbb807 100755 Binary files a/examples/more/05_burn_10kg_fat/example and b/examples/more/05_burn_10kg_fat/example differ diff --git a/examples/more/06_nuclear_recovery/example b/examples/more/06_nuclear_recovery/example index e2a805d..85eae17 100755 Binary files a/examples/more/06_nuclear_recovery/example and b/examples/more/06_nuclear_recovery/example differ diff --git a/examples/more/07_algebra/example b/examples/more/07_algebra/example index 3d6fa9d..9c77e7e 100755 Binary files a/examples/more/07_algebra/example and b/examples/more/07_algebra/example differ diff --git a/examples/more/08_algebra_and_conversion/example b/examples/more/08_algebra_and_conversion/example index faedee9..f77d3f3 100755 Binary files a/examples/more/08_algebra_and_conversion/example and b/examples/more/08_algebra_and_conversion/example differ diff --git a/examples/more/09_ergonomic_algebra/example b/examples/more/09_ergonomic_algebra/example index 18c369b..96572c8 100755 Binary files a/examples/more/09_ergonomic_algebra/example and b/examples/more/09_ergonomic_algebra/example differ diff --git a/examples/more/10_twitter_thread_example/example b/examples/more/10_twitter_thread_example/example index e38184b..eefd98b 100755 Binary files a/examples/more/10_twitter_thread_example/example and b/examples/more/10_twitter_thread_example/example differ diff --git a/examples/more/11_billion_lognormals_paralell/example b/examples/more/11_billion_lognormals_paralell/example index 428a9ef..ea80802 100755 Binary files a/examples/more/11_billion_lognormals_paralell/example and b/examples/more/11_billion_lognormals_paralell/example differ diff --git a/examples/more/12_time_to_botec_parallel/example b/examples/more/12_time_to_botec_parallel/example index 372be00..e283e2d 100755 Binary files a/examples/more/12_time_to_botec_parallel/example and b/examples/more/12_time_to_botec_parallel/example differ diff --git a/examples/more/13_parallelize_min/example b/examples/more/13_parallelize_min/example index 6b18753..7f1fcea 100755 Binary files a/examples/more/13_parallelize_min/example and b/examples/more/13_parallelize_min/example differ diff --git a/examples/more/14_check_confidence_interval/example b/examples/more/14_check_confidence_interval/example index 293742c..6774af4 100755 Binary files a/examples/more/14_check_confidence_interval/example and b/examples/more/14_check_confidence_interval/example differ diff --git a/examples/more/makefile b/examples/more/makefile index 3ecb356..5ae4927 100644 --- a/examples/more/makefile +++ b/examples/more/makefile @@ -25,7 +25,7 @@ DEPS=$(SQUIGGLE) $(SQUIGGLE_MORE) $(MATH) $(OPENMP) ## Flags DEBUG= #'-g' -WARN=-Wall -Wextra +WARN=-Wall -Wextra -Wdouble-promotion STANDARD=-std=c99 WARNINGS=-Wall OPTIMIZED=-O3 #-Ofast diff --git a/squiggle.c b/squiggle.c index 65908b2..3207db2 100644 --- a/squiggle.c +++ b/squiggle.c @@ -50,7 +50,7 @@ double sample_unit_normal(uint64_t* seed) // // See: double u1 = sample_unit_uniform(seed); double u2 = sample_unit_uniform(seed); - double z = sqrtf(-2.0 * log(u1)) * sin(2 * PI * u2); + double z = sqrt(-2.0 * log(u1)) * sin(2 * PI * u2); return z; } diff --git a/squiggle_more.c b/squiggle_more.c index dc75565..4d488af 100644 --- a/squiggle_more.c +++ b/squiggle_more.c @@ -248,8 +248,9 @@ box inverse_cdf_double(double cdf(double), double p) // 1. Make sure that cdf(low) < p < cdf(high) int interval_found = 0; - while ((!interval_found) && (low > -FLT_MAX / 4) && (high < FLT_MAX / 4)) { - // ^ Using FLT_MIN and FLT_MAX is overkill + while ((!interval_found) && (low > -DBL_MAX / 4) && (high < DBL_MAX / 4)) { + // for floats, use FLT_MAX instead + // Note that this approach is overkill // but it's also the *correct* thing to do. int low_condition = (cdf(low) < p); @@ -314,8 +315,9 @@ box inverse_cdf_box(box cdf_box(double), double p) // 1. Make sure that cdf(low) < p < cdf(high) int interval_found = 0; - while ((!interval_found) && (low > -FLT_MAX / 4) && (high < FLT_MAX / 4)) { - // ^ Using FLT_MIN and FLT_MAX is overkill + while ((!interval_found) && (low > -DBL_MAX / 4) && (high < DBL_MAX / 4)) { + // for floats, use FLT_MAX instead + // Note that this approach is overkill // but it's also the *correct* thing to do. box cdf_low = cdf_box(low); if (cdf_low.empty) {