Update MRB_FLO_TO_STR_FMT to "%.16g"; fix #4016

This commit is contained in:
Yukihiro "Matz" Matsumoto
2018-05-01 17:21:01 +09:00
parent 2a38eb9325
commit 028e34d345
2 changed files with 11 additions and 5 deletions
+9 -3
View File
@@ -3049,8 +3049,8 @@ loop_pop(codegen_scope *s, int val)
if (val) push();
}
MRB_API struct RProc*
mrb_generate_code(mrb_state *mrb, parser_state *p)
static struct RProc*
generate_code(mrb_state *mrb, parser_state *p, int val)
{
codegen_scope *scope = scope_new(mrb, 0, 0);
struct RProc *proc;
@@ -3067,7 +3067,7 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
MRB_TRY(&scope->jmp) {
mrb->jmp = &scope->jmp;
/* prepare irep */
codegen(scope, p->tree, NOVAL);
codegen(scope, p->tree, val);
proc = mrb_proc_new(mrb, scope->irep);
mrb_irep_decref(mrb, scope->irep);
mrb_pool_close(scope->mpool);
@@ -3086,3 +3086,9 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
}
MRB_END_EXC(&scope->jmp);
}
MRB_API struct RProc*
mrb_generate_code(mrb_state *mrb, parser_state *p)
{
return generate_code(mrb, p, VAL);
}
+2 -2
View File
@@ -23,9 +23,9 @@
#define floor(f) floorf(f)
#define ceil(f) ceilf(f)
#define fmod(x,y) fmodf(x,y)
#define MRB_FLO_TO_STR_FMT "%.7g"
#define MRB_FLO_TO_STR_FMT "%.8g"
#else
#define MRB_FLO_TO_STR_FMT "%.14g"
#define MRB_FLO_TO_STR_FMT "%.16g"
#endif
#endif