diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-10-17 10:53:44 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-10-17 11:19:12 +0900 |
| commit | 061d804a5906118e505c7fc3ae5051733e1c825e (patch) | |
| tree | d149ecd3e19710712b44480ad6b643423656e2ca /src | |
| parent | 332d8d2a1c12b098b28f8d06d2ed4bce42b09696 (diff) | |
| download | mruby-061d804a5906118e505c7fc3ae5051733e1c825e.tar.gz mruby-061d804a5906118e505c7fc3ae5051733e1c825e.zip | |
Add `Numeric#{finite?,infinite?}`; CRuby2.4
Diffstat (limited to 'src')
| -rw-r--r-- | src/numeric.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/numeric.c b/src/numeric.c index 8c7d448bd..b381bd206 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -1254,6 +1254,20 @@ num_cmp(mrb_state *mrb, mrb_value self) } } +static mrb_value +num_finite_p(mrb_state *mrb, mrb_value self) +{ + mrb_get_args(mrb, ""); + return mrb_true_value(); +} + +static mrb_value +num_infinite_p(mrb_state *mrb, mrb_value self) +{ + mrb_get_args(mrb, ""); + return mrb_false_value(); +} + /* 15.2.9.3.1 */ /* * call-seq: @@ -1284,6 +1298,8 @@ mrb_init_numeric(mrb_state *mrb) mrb_define_method(mrb, numeric, "/", num_div, MRB_ARGS_REQ(1)); /* 15.2.8.3.4 */ mrb_define_method(mrb, numeric, "quo", num_div, MRB_ARGS_REQ(1)); /* 15.2.7.4.5 (x) */ mrb_define_method(mrb, numeric, "<=>", num_cmp, MRB_ARGS_REQ(1)); /* 15.2.9.3.6 */ + mrb_define_method(mrb, numeric, "finite?", num_finite_p, MRB_ARGS_NONE()); + mrb_define_method(mrb, numeric, "infinite?",num_infinite_p, MRB_ARGS_NONE()); /* Integer Class */ integer = mrb_define_class(mrb, "Integer", numeric); /* 15.2.8 */ |
