mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #1834 from cremno/use-nan-and-infinity-macros
use NAN and INFINITY macros
This commit is contained in:
@@ -72,6 +72,8 @@ typedef short mrb_sym;
|
||||
# define PRIo64 "I64o"
|
||||
# define PRIx64 "I64x"
|
||||
# define PRIX64 "I64X"
|
||||
# define INFINITY ((float)(DBL_MAX * DBL_MAX))
|
||||
# define NAN ((float)(INFINITY - INFINITY))
|
||||
# else
|
||||
# include <inttypes.h>
|
||||
# endif
|
||||
|
||||
+5
-5
@@ -304,8 +304,8 @@ flodivmod(mrb_state *mrb, mrb_float x, mrb_float y, mrb_float *divp, mrb_float *
|
||||
mrb_float mod;
|
||||
|
||||
if (y == 0.0) {
|
||||
div = str_to_mrb_float("inf");
|
||||
mod = str_to_mrb_float("nan");
|
||||
div = INFINITY;
|
||||
mod = NAN;
|
||||
}
|
||||
else {
|
||||
mod = fmod(x, y);
|
||||
@@ -775,7 +775,7 @@ fix_mod(mrb_state *mrb, mrb_value x)
|
||||
mrb_int mod;
|
||||
|
||||
if (mrb_fixnum(y) == 0) {
|
||||
return mrb_float_value(mrb, str_to_mrb_float("nan"));
|
||||
return mrb_float_value(mrb, NAN);
|
||||
}
|
||||
fixdivmod(mrb, a, mrb_fixnum(y), 0, &mod);
|
||||
return mrb_fixnum_value(mod);
|
||||
@@ -805,8 +805,8 @@ fix_divmod(mrb_state *mrb, mrb_value x)
|
||||
mrb_int div, mod;
|
||||
|
||||
if (mrb_fixnum(y) == 0) {
|
||||
return mrb_assoc_new(mrb, mrb_float_value(mrb, str_to_mrb_float("inf")),
|
||||
mrb_float_value(mrb, str_to_mrb_float("nan")));
|
||||
return mrb_assoc_new(mrb, mrb_float_value(mrb, INFINITY),
|
||||
mrb_float_value(mrb, NAN));
|
||||
}
|
||||
fixdivmod(mrb, mrb_fixnum(x), mrb_fixnum(y), &div, &mod);
|
||||
return mrb_assoc_new(mrb, mrb_fixnum_value(div), mrb_fixnum_value(mod));
|
||||
|
||||
Reference in New Issue
Block a user