summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-rational/src/rational.c
AgeCommit message (Collapse)Author
2020-10-12Fix warning from VC regarding implicit int conversion.Yukihiro "Matz" Matsumoto
2020-10-12Made `Rational` overhaul.Yukihiro "Matz" Matsumoto
- Implement `Rational()` in `C`. - Use `float` to `rational` conversion function taken from: https://rosettacode.org/wiki/Convert_decimal_number_to_rational#C
2020-10-12Handle integer overflow in `rational_s_new`.Yukihiro "Matz" Matsumoto
2020-10-12Use `mrb_int_value()` instead of `mrb_fixnum_value()`.Yukihiro "Matz" Matsumoto
Where fixnum overflow can happen.
2020-10-12Reorganize `Integer` system.Yukihiro "Matz" Matsumoto
- Integrate `Fixnum` and `Integer` - Remove `Integral` - `int / int -> int` - Replace `mrb_fixnum()` to `mrb_int()` - Replace `mrb_fixnum_value()` to `mrb_int_value()`. - Use `mrb_integer_p()` instead of `mrb_fixnum_p()`
2020-10-12Integrate `Fixnum` class into `Integer` classdearblue
* The `Fixnum` constant is now an alias for the `Integer` class. * Remove `struct mrb_state::fixnum_class` member. If necessary, use `struct mrb_state::integer_class` instead.
2020-10-12Rename float configuration option names.Yukihiro "Matz" Matsumoto
- `MRB_WITHOUT_FLOAT` => `MRB_NO_FLOAT` - `MRB_USE_FLOAT` => `MRB_USE_FLOAT32` The former is to use `USE_XXX` naming convention. The latter is to make sure `float` is 32bit float and not floating point number in general.
2020-10-12Add explicit cast to `DROP_PRECISION` macro in `rational.c`.Yukihiro "Matz" Matsumoto
2020-10-12Use `mrb->eStandardError` instead of `mrb_exc_get()`.Yukihiro "Matz" Matsumoto
2020-06-04Add explicit cast to `DROP_PRECISION` macro in `rtional.c`.Yukihiro "Matz" Matsumoto
2020-06-04Add explicit cast to silence warnings on AppVeyor.Yukihiro "Matz" Matsumoto
2019-07-24Call `MRB_SET_INSTANCE_TT` for `Complex` and `Rational`.Yukihiro "Matz" Matsumoto
2019-06-05Drop precisions for rational when big numbersdearblue
2019-06-05Fix build error if `struct mrb_rational` is bigger than `RIStruct`dearblue
In that case, to be switched implementation with `RData`. It is based to "complex".
2019-05-23Freeze `Rational` and `Complex` objectsKOBAYASHI Shuji
2019-05-21Implements part of `Complex` class in C.Yukihiro "Matz" Matsumoto
2019-05-18Implement `Rational._new` in C.Yukihiro "Matz" Matsumoto
2019-05-18Support `MRB_WITHOUT_FLOAT`.Yukihiro "Matz" Matsumoto
I assume there's no realistic usage of `Rational` with `MRB_WITHOUT_FLOAT`. But just for consistency.
2019-05-17Implement part of `Rational` in C.Yukihiro "Matz" Matsumoto