From 89ea41f15e92006051d443b29b6e8e32f11c68bc Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 25 Sep 2021 14:44:43 +0900 Subject: [PATCH] mrbconf.h: rename a configuration macro for no truncate floats. Rename `MRB_WORDBOX_USE_HEAP_FLOAT` to `MRB_WORDBOX_NO_FLOAT_TRUNCATE'. --- include/mrbconf.h | 2 +- include/mruby/boxing_word.h | 12 ++++++------ mrbgems/mruby-test/driver.c | 2 +- src/etc.c | 4 ++-- src/symbol.c | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/mrbconf.h b/include/mrbconf.h index edc81d74d5..e11a55e8cb 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -80,7 +80,7 @@ #endif /* if defined mruby allocates Float objects in the heap to keep full precision if needed */ -//#define MRB_WORDBOX_USE_HEAP_FLOAT +//#define MRB_WORDBOX_NO_FLOAT_TRUNCATE /* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT64; Default for 32-bit CPU mode. */ diff --git a/include/mruby/boxing_word.h b/include/mruby/boxing_word.h index 357de2df07..89c6f6f2d8 100644 --- a/include/mruby/boxing_word.h +++ b/include/mruby/boxing_word.h @@ -8,10 +8,10 @@ #define MRUBY_BOXING_WORD_H #if defined(MRB_32BIT) && !defined(MRB_USE_FLOAT32) -# define MRB_WORDBOX_USE_HEAP_FLOAT +# define MRB_WORDBOX_NO_FLOAT_TRUNCATE #endif -#if !defined(MRB_NO_FLOAT) && defined(MRB_WORDBOX_USE_HEAP_FLOAT) +#if !defined(MRB_NO_FLOAT) && defined(MRB_WORDBOX_NO_FLOAT_TRUNCATE) struct RFloat { MRB_OBJECT_HEADER; mrb_float f; @@ -50,7 +50,7 @@ enum mrb_special_consts { #define WORDBOX_FIXNUM_FLAG (1 << (WORDBOX_FIXNUM_BIT_POS - 1)) #define WORDBOX_FIXNUM_MASK ((1 << WORDBOX_FIXNUM_BIT_POS) - 1) -#if defined(MRB_WORDBOX_USE_HEAP_FLOAT) +#if defined(MRB_WORDBOX_NO_FLOAT_TRUNCATE) /* floats are allocated in heaps */ #define WORDBOX_SYMBOL_BIT_POS 2 #define WORDBOX_SYMBOL_SHIFT WORDBOX_SYMBOL_BIT_POS @@ -118,7 +118,7 @@ union mrb_value_ { void *p; struct RBasic *bp; #ifndef MRB_NO_FLOAT -#ifndef MRB_WORDBOX_USE_HEAP_FLOAT +#ifndef MRB_WORDBOX_NO_FLOAT_TRUNCATE mrb_float f; #else struct RFloat *fp; @@ -151,7 +151,7 @@ MRB_API mrb_value mrb_word_boxing_int_value(struct mrb_state*, mrb_int); #define mrb_ptr(o) mrb_val_union(o).p #define mrb_cptr(o) mrb_val_union(o).vp->p #ifndef MRB_NO_FLOAT -#ifndef MRB_WORDBOX_USE_HEAP_FLOAT +#ifndef MRB_WORDBOX_NO_FLOAT_TRUNCATE MRB_API mrb_float mrb_word_boxing_value_float(mrb_value v); #define mrb_float(o) mrb_word_boxing_value_float(o) #else @@ -176,7 +176,7 @@ mrb_integer_func(mrb_value o) { #define mrb_false_p(o) ((o).w == MRB_Qfalse) #define mrb_true_p(o) ((o).w == MRB_Qtrue) #ifndef MRB_NO_FLOAT -#ifndef MRB_WORDBOX_USE_HEAP_FLOAT +#ifndef MRB_WORDBOX_NO_FLOAT_TRUNCATE #define mrb_float_p(o) WORDBOX_SHIFT_VALUE_P(o, FLOAT) #else #define mrb_float_p(o) WORDBOX_OBJ_TYPE_P(o, FLOAT) diff --git a/mrbgems/mruby-test/driver.c b/mrbgems/mruby-test/driver.c index e9d9d3d4f9..21e272536d 100644 --- a/mrbgems/mruby-test/driver.c +++ b/mrbgems/mruby-test/driver.c @@ -222,7 +222,7 @@ mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose) #ifndef MRB_NO_FLOAT #ifdef MRB_USE_FLOAT32 -#ifdef MRB_WORDBOX_USE_HEAP_FLOAT +#ifdef MRB_WORDBOX_NO_FLOAT_TRUNCATE mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-5)); #else mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-4)); diff --git a/src/etc.c b/src/etc.c index d99a273ad3..11784214a7 100644 --- a/src/etc.c +++ b/src/etc.c @@ -158,7 +158,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f) { union mrb_value_ v; -#ifdef MRB_WORDBOX_USE_HEAP_FLOAT +#ifdef MRB_WORDBOX_NO_FLOAT_TRUNCATE v.p = mrb_obj_alloc(mrb, MRB_TT_FLOAT, mrb->float_class); v.fp->f = f; MRB_SET_FROZEN_FLAG(v.bp); @@ -174,7 +174,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f) } -#ifndef MRB_WORDBOX_USE_HEAP_FLOAT +#ifndef MRB_WORDBOX_NO_FLOAT_TRUNCATE MRB_API mrb_float mrb_word_boxing_value_float(mrb_value v) { diff --git a/src/symbol.c b/src/symbol.c index 38730b34ac..cc8986eaa6 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -73,7 +73,7 @@ static const char pack_table[] = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS static mrb_sym sym_inline_pack(const char *name, size_t len) { -#if defined(MRB_WORD_BOXING) && defined(MRB_32BIT) && !defined(MRB_WORDBOX_USE_HEAP_FLOAT) +#if defined(MRB_WORD_BOXING) && defined(MRB_32BIT) && !defined(MRB_WORDBOX_NO_FLOAT_TRUNCATE) const size_t pack_length_max = 4; #else const size_t pack_length_max = 5;