mrbconf.h: rename a configuration macro for no truncate floats.

Rename `MRB_WORDBOX_USE_HEAP_FLOAT` to `MRB_WORDBOX_NO_FLOAT_TRUNCATE'.
parent c70159b3
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
#endif #endif
/* if defined mruby allocates Float objects in the heap to keep full precision if needed */ /* 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; /* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT64;
Default for 32-bit CPU mode. */ Default for 32-bit CPU mode. */
......
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
#define MRUBY_BOXING_WORD_H #define MRUBY_BOXING_WORD_H
#if defined(MRB_32BIT) && !defined(MRB_USE_FLOAT32) #if defined(MRB_32BIT) && !defined(MRB_USE_FLOAT32)
# define MRB_WORDBOX_USE_HEAP_FLOAT # define MRB_WORDBOX_NO_FLOAT_TRUNCATE
#endif #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 { struct RFloat {
MRB_OBJECT_HEADER; MRB_OBJECT_HEADER;
mrb_float f; mrb_float f;
...@@ -50,7 +50,7 @@ enum mrb_special_consts { ...@@ -50,7 +50,7 @@ enum mrb_special_consts {
#define WORDBOX_FIXNUM_FLAG (1 << (WORDBOX_FIXNUM_BIT_POS - 1)) #define WORDBOX_FIXNUM_FLAG (1 << (WORDBOX_FIXNUM_BIT_POS - 1))
#define WORDBOX_FIXNUM_MASK ((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 */ /* floats are allocated in heaps */
#define WORDBOX_SYMBOL_BIT_POS 2 #define WORDBOX_SYMBOL_BIT_POS 2
#define WORDBOX_SYMBOL_SHIFT WORDBOX_SYMBOL_BIT_POS #define WORDBOX_SYMBOL_SHIFT WORDBOX_SYMBOL_BIT_POS
...@@ -118,7 +118,7 @@ union mrb_value_ { ...@@ -118,7 +118,7 @@ union mrb_value_ {
void *p; void *p;
struct RBasic *bp; struct RBasic *bp;
#ifndef MRB_NO_FLOAT #ifndef MRB_NO_FLOAT
#ifndef MRB_WORDBOX_USE_HEAP_FLOAT #ifndef MRB_WORDBOX_NO_FLOAT_TRUNCATE
mrb_float f; mrb_float f;
#else #else
struct RFloat *fp; struct RFloat *fp;
...@@ -151,7 +151,7 @@ MRB_API mrb_value mrb_word_boxing_int_value(struct mrb_state*, mrb_int); ...@@ -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_ptr(o) mrb_val_union(o).p
#define mrb_cptr(o) mrb_val_union(o).vp->p #define mrb_cptr(o) mrb_val_union(o).vp->p
#ifndef MRB_NO_FLOAT #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); MRB_API mrb_float mrb_word_boxing_value_float(mrb_value v);
#define mrb_float(o) mrb_word_boxing_value_float(o) #define mrb_float(o) mrb_word_boxing_value_float(o)
#else #else
...@@ -176,7 +176,7 @@ mrb_integer_func(mrb_value o) { ...@@ -176,7 +176,7 @@ mrb_integer_func(mrb_value o) {
#define mrb_false_p(o) ((o).w == MRB_Qfalse) #define mrb_false_p(o) ((o).w == MRB_Qfalse)
#define mrb_true_p(o) ((o).w == MRB_Qtrue) #define mrb_true_p(o) ((o).w == MRB_Qtrue)
#ifndef MRB_NO_FLOAT #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) #define mrb_float_p(o) WORDBOX_SHIFT_VALUE_P(o, FLOAT)
#else #else
#define mrb_float_p(o) WORDBOX_OBJ_TYPE_P(o, FLOAT) #define mrb_float_p(o) WORDBOX_OBJ_TYPE_P(o, FLOAT)
......
...@@ -222,7 +222,7 @@ mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose) ...@@ -222,7 +222,7 @@ mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose)
#ifndef MRB_NO_FLOAT #ifndef MRB_NO_FLOAT
#ifdef MRB_USE_FLOAT32 #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)); mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-5));
#else #else
mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-4)); mrb_define_const(mrb, mrbtest, "FLOAT_TOLERANCE", mrb_float_value(mrb, 1e-4));
......
...@@ -158,7 +158,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f) ...@@ -158,7 +158,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f)
{ {
union mrb_value_ v; 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.p = mrb_obj_alloc(mrb, MRB_TT_FLOAT, mrb->float_class);
v.fp->f = f; v.fp->f = f;
MRB_SET_FROZEN_FLAG(v.bp); MRB_SET_FROZEN_FLAG(v.bp);
...@@ -174,7 +174,7 @@ mrb_word_boxing_float_value(mrb_state *mrb, mrb_float f) ...@@ -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_API mrb_float
mrb_word_boxing_value_float(mrb_value v) mrb_word_boxing_value_float(mrb_value v)
{ {
......
...@@ -73,7 +73,7 @@ static const char pack_table[] = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS ...@@ -73,7 +73,7 @@ static const char pack_table[] = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS
static mrb_sym static mrb_sym
sym_inline_pack(const char *name, size_t len) 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; const size_t pack_length_max = 4;
#else #else
const size_t pack_length_max = 5; const size_t pack_length_max = 5;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment