summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-05-17 07:59:26 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-05-17 13:58:54 +0900
commit080fdbf9e8860c5151aac78081d8a731b09ad545 (patch)
tree3f59cd78bf957ae79dfca5fe31d8e4cf772c36ed
parentfbbcee835f972fd2ddc51a83b2e53cfb46555111 (diff)
downloadmruby-080fdbf9e8860c5151aac78081d8a731b09ad545.tar.gz
mruby-080fdbf9e8860c5151aac78081d8a731b09ad545.zip
Rename `mrb_flo_to_fixnum` to `mrb_float_to_integer`.
-rw-r--r--include/mruby/numeric.h5
-rw-r--r--mrbgems/mruby-sprintf/src/sprintf.c5
-rw-r--r--src/numeric.c3
-rw-r--r--src/object.c4
4 files changed, 9 insertions, 8 deletions
diff --git a/include/mruby/numeric.h b/include/mruby/numeric.h
index 2c59af941..3383b00d0 100644
--- a/include/mruby/numeric.h
+++ b/include/mruby/numeric.h
@@ -154,12 +154,15 @@ mrb_int_mul_overflow(mrb_int a, mrb_int b, mrb_int *c)
# define MRB_FLT_MAX_10_EXP DBL_MAX_10_EXP
# endif /* MRB_USE_FLOAT32 */
-MRB_API mrb_value mrb_flo_to_fixnum(mrb_state *mrb, mrb_value val);
+MRB_API mrb_value mrb_float_to_integer(mrb_state *mrb, mrb_value val);
MRB_API mrb_value mrb_float_to_str(mrb_state *mrb, mrb_value x, const char *fmt);
/* ArgumentError if format string doesn't match /%(\.[0-9]+)?[aAeEfFgG]/ */
MRB_API int mrb_float_to_cstr(mrb_state *mrb, char *buf, size_t len, const char *fmt, mrb_float f);
MRB_API mrb_float mrb_to_flo(mrb_state *mrb, mrb_value x);
+/* obsolete function(s); will be removed */
+#define mrb_flo_to_fixnum(mrb, val) mrb_float_to_integer(mrb, val)
+
#endif /* MRB_NO_FLOAT */
MRB_END_DECL
diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c
index 839ee4dc4..78b4c5f65 100644
--- a/mrbgems/mruby-sprintf/src/sprintf.c
+++ b/mrbgems/mruby-sprintf/src/sprintf.c
@@ -898,9 +898,8 @@ retry:
switch (mrb_type(val)) {
#ifndef MRB_NO_FLOAT
case MRB_TT_FLOAT:
- val = mrb_flo_to_fixnum(mrb, val);
- if (mrb_integer_p(val)) goto bin_retry;
- break;
+ val = mrb_float_to_integer(mrb, val);
+ goto bin_retry;
#endif
case MRB_TT_STRING:
val = mrb_str_to_inum(mrb, val, 0, TRUE);
diff --git a/src/numeric.c b/src/numeric.c
index fe1a18f04..9a77096b0 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -1357,13 +1357,12 @@ int_to_f(mrb_state *mrb, mrb_value num)
*/
/* ------------------------------------------------------------------------*/
MRB_API mrb_value
-mrb_flo_to_fixnum(mrb_state *mrb, mrb_value x)
+mrb_float_to_integer(mrb_state *mrb, mrb_value x)
{
mrb_int z = 0;
if (!mrb_float_p(x)) {
mrb_raise(mrb, E_TYPE_ERROR, "non float value");
- z = 0; /* not reached. just suppress warnings. */
}
else {
mrb_float d = mrb_float(x);
diff --git a/src/object.c b/src/object.c
index 3317f2089..685770354 100644
--- a/src/object.c
+++ b/src/object.c
@@ -513,7 +513,7 @@ mrb_to_int(mrb_state *mrb, mrb_value val)
if (!mrb_integer_p(val)) {
#ifndef MRB_NO_FLOAT
if (mrb_float_p(val)) {
- return mrb_flo_to_fixnum(mrb, val);
+ return mrb_float_to_integer(mrb, val);
}
#endif
if (mrb_string_p(val)) {
@@ -537,7 +537,7 @@ mrb_convert_to_integer(mrb_state *mrb, mrb_value val, mrb_int base)
#ifndef MRB_NO_FLOAT
case MRB_TT_FLOAT:
if (base != 0) goto arg_error;
- return mrb_flo_to_fixnum(mrb, val);
+ return mrb_float_to_integer(mrb, val);
#endif
case MRB_TT_INTEGER: