| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-03-28 | numeric.c: function renaming. | Yukihiro "Matz" Matsumoto | |
| - `mrb_num_div_int(mrb,x,y)` -> `mrb_div_int(mrb,x,y)` - `mrb_num_div_flo(mrb,x,y)` -> `mrb_div_flo(x,y)` They are internal function not supposed to be used outside of the core. | |||
| 2021-03-27 | Move default `Integer#/` from `rational.c` to `complex.c`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: use `mrb_num_div_flo` to avoid copying function. | Yukihiro "Matz" Matsumoto | |
| This change relies that `mrb_num_div_flo` does not use `mrb` inside. | |||
| 2021-03-24 | complex.c: implement `Complex` addition and subtraction in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: override float division to support `Complex`. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | Use `div_flo` (copy of `mrb_num_div_flo`) for float division. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | Use `mrb_num_div_flo` for float division. | Yukihiro "Matz" Matsumoto | |
| This function handles zero division properly. Also fixed bugs that multiply numbers instead of division. | |||
| 2021-03-24 | Fix infinite recursive call bugs in integer division. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: implement `Complex#/` and `#quo` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-24 | complex.c: implement `Complex#*` in C. | Yukihiro "Matz" Matsumoto | |
| 2021-03-21 | complex.c: define `Complex#==` in C. | Yukihiro "Matz" Matsumoto | |
| This change also fixes the error caused by `rational.c` that calls `mrb_complex_eq()`, which had been undefined. | |||
| 2021-03-19 | complex.c: overhaul complex operators. | Yukihiro "Matz" Matsumoto | |
| - define `MRB_TT_COMPLEX` - change object structure (`struct RComplex`) - add memory management for `MRB_TT_COMPLEX` - avoid operator overloading as much as possible - as a result, performance improved a log - should work with and without `Rational` defined | |||
| 2021-02-26 | Use `MRB_SYM()` more extensively. | Yukihiro "Matz" Matsumoto | |
| 2021-02-05 | Add a few new API for complex access. | Yukihiro "Matz" Matsumoto | |
| 2021-01-26 | Revert "Minimize the changes in #5277" | Yukihiro "Matz" Matsumoto | |
| This reverts commit dc51d89ac22acc60b9bfeed87115863565b74085. | |||
| 2021-01-22 | Minimize the changes in #5277 | Yukihiro "Matz" Matsumoto | |
| Instead of including `mruby/presym.h` everywhere, we provided the fallback `mruby/presym.inc` under `include/mruby` directory, and specify `-I<build-dir>/include` before `-I<top-dir>/include` in `presym.rake`. So even when someone drops `-I<build-dir>/include` in compiler options, it just compiles without failure. | |||
| 2021-01-11 | Avoid including `presym.inc` in existing header files | KOBAYASHI Shuji | |
| Addressed an issue where existing programs linking `libmruby.a` could only be built by adding `<build-dir>/include` to compiler's include path. | |||
| 2020-10-12 | Silence warnings from implicit integer conversions. | Yukihiro "Matz" Matsumoto | |
| Caused from combination of `mrb_int`, `int` and `size_t`.. | |||
| 2020-10-12 | Rename 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-12 | Use functions that take symbols to reduce string litrals in C. | Yukihiro "Matz" Matsumoto | |
| 2020-06-20 | Add `mrb_get_arg1()` that retrieves single (and only) argument. | Yukihiro "Matz" Matsumoto | |
| `mrb_get_arg1()` raises `ArgumentError` if the method does not receive one argument. And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function. | |||
| 2019-08-09 | Avoid overflow and underflow in Complex#/ | Ray Chason | |
| 2019-08-05 | Use new specifiers/modifiers of `mrb_vfromat()` | KOBAYASHI Shuji | |
| The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in my environment than before the introduction of new specifiers/modifiers (5116789a) with this change. ------------+-------------------+-------------------+-------- BINARY | BEFORE (5116789a) | AFTER (This PR) | RATIO ------------+-------------------+-------------------+-------- mruby | 593416 bytes | 593208 bytes | -0.04% libmruby.a | 769048 bytes | 767264 bytes | -0.23% ------------+-------------------+-------------------+-------- BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613, so I put it back. | |||
| 2019-07-24 | Call `MRB_SET_INSTANCE_TT` for `Complex` and `Rational`. | Yukihiro "Matz" Matsumoto | |
| 2019-07-22 | Check conflicts with `Complex` and `MRB_WITHOUT_FLOAT`; ref #4576 | Yukihiro "Matz" Matsumoto | |
| The Complex class needs `mrb_float` so that it does not work with `MRB_WITHOUT_FLOAT` anyway. | |||
| 2019-06-05 | Fix not frozen in `Complex` method by `RData` | dearblue | |
| Object allocation was separated, and initialization was made common. | |||
| 2019-06-05 | Fix memory leak in `Complex` method by `RData` | dearblue | |
| If `Data_Wrap_Struct()` raises a `NoMemoryError` exception, it will leak memory if it does `mrb_malloc()` first. | |||
| 2019-05-26 | Add `Complex.rect` | KOBAYASHI Shuji | |
| 2019-05-26 | Remove some overhead from methods defined in Ruby in Complex. | Yukihiro "Matz" Matsumoto | |
| 2019-05-23 | Freeze `Rational` and `Complex` objects | KOBAYASHI Shuji | |
| 2019-05-21 | Use `MRB_TT_ISTRUCT` for `Complex` numbers if possible. | Yukihiro "Matz" Matsumoto | |
| 2019-05-21 | Implements part of `Complex` class in C. | Yukihiro "Matz" Matsumoto | |
