summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2016-11-24 21:48:14 +0900
committerGitHub <[email protected]>2016-11-24 21:48:14 +0900
commit86027890677259a411ceed30242cd0aea00afd64 (patch)
treeb378461009bfef8433af95f78ac8fc5e6ce4e0b3 /mrbgems
parente289ba3effd728d4f9da73cd14db5a4538fa38d0 (diff)
parent72ed7eebc30eaccf4175eaa7f62235bcb7a8901d (diff)
downloadmruby-86027890677259a411ceed30242cd0aea00afd64.tar.gz
mruby-86027890677259a411ceed30242cd0aea00afd64.zip
Merge pull request #3277 from dabroz/feature-float-tolerance
Fixed float tolerance in tests when MRB_USE_FLOAT is set
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-range-ext/src/range.c2
-rw-r--r--mrbgems/mruby-test/driver.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c
index 32222a594..ccb5a9e45 100644
--- a/mrbgems/mruby-range-ext/src/range.c
+++ b/mrbgems/mruby-range-ext/src/range.c
@@ -140,7 +140,7 @@ mrb_range_size(mrb_state *mrb, mrb_value range)
}
if (num_p) {
mrb_float n = end_f - beg_f;
- mrb_float err = (fabs(beg_f) + fabs(end_f) + fabs(end_f-beg_f)) * DBL_EPSILON;
+ mrb_float err = (fabs(beg_f) + fabs(end_f) + fabs(end_f-beg_f)) * MRB_FLOAT_EPSILON;
if (err>0.5) err=0.5;
if (excl) {
diff --git a/mrbgems/mruby-test/driver.c b/mrbgems/mruby-test/driver.c
index 7cc5211f0..14e93ff33 100644
--- a/mrbgems/mruby-test/driver.c
+++ b/mrbgems/mruby-test/driver.c
@@ -94,6 +94,12 @@ mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose)
mrb_define_const(mrb, mrbtest, "FIXNUM_MIN", mrb_fixnum_value(MRB_INT_MIN));
mrb_define_const(mrb, mrbtest, "FIXNUM_BIT", mrb_fixnum_value(MRB_INT_BIT));
+#ifdef MRB_USE_FLOAT
+ mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-6));
+#else
+ mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-12));
+#endif
+
if (verbose) {
mrb_gv_set(mrb, mrb_intern_lit(mrb, "$mrbtest_verbose"), mrb_true_value());
}