From 26353c75a94469bad7a0e6a6aa81d968e64952d5 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 27 Oct 2021 00:50:41 +0900 Subject: [PATCH] Embed bare `double` if `sizeof(double) == sizeof(VALUE)` --- internal/numeric.h | 4 ++-- numeric.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/numeric.h b/internal/numeric.h index 440bef1671..19069cb3bc 100644 --- a/internal/numeric.h +++ b/internal/numeric.h @@ -35,7 +35,7 @@ enum ruby_num_rounding_mode { RUBY_NUM_ROUND_DEFAULT = ROUND_DEFAULT, }; -#if SIZEOF_DOUBLE < SIZEOF_VALUE +#if SIZEOF_DOUBLE <= SIZEOF_VALUE typedef double rb_float_value_type; #else typedef struct { @@ -218,7 +218,7 @@ rb_float_flonum_value(VALUE v) static inline double rb_float_noflonum_value(VALUE v) { -#if SIZEOF_DOUBLE < SIZEOF_VALUE +#if SIZEOF_DOUBLE <= SIZEOF_VALUE return RFLOAT(v)->float_value; #else union { diff --git a/numeric.c b/numeric.c index 3ee98343a7..715f11c631 100644 --- a/numeric.c +++ b/numeric.c @@ -951,7 +951,7 @@ rb_float_new_in_heap(double d) { NEWOBJ_OF(flt, struct RFloat, rb_cFloat, T_FLOAT | (RGENGC_WB_PROTECTED_FLOAT ? FL_WB_PROTECTED : 0)); -#if SIZEOF_DOUBLE < SIZEOF_VALUE +#if SIZEOF_DOUBLE <= SIZEOF_VALUE flt->float_value = d; #else union {