diff options
| -rw-r--r-- | mrbgems/mruby-compiler/core/codegen.c | 12 | ||||
| -rw-r--r-- | src/numeric.c | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index b9451fb88..f71de9b4b 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -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); +} diff --git a/src/numeric.c b/src/numeric.c index b898fd0b5..4e5fc394e 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -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 |
