| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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.rb: unary plus (`+@`) to return self avoiding copying. | Yukihiro "Matz" Matsumoto | |
| 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-24 | rational.rb: avoid 'NaNi` representation. | Yukihiro "Matz" Matsumoto | |
| Use `NaN*i` as CRuby does. | |||
| 2021-03-22 | Use global defines for `Rational` and `Complex`. | 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-02-05 | Refactor method overriding. | Yukihiro "Matz" Matsumoto | |
| * Use `class_eval` instead of `instance_eval`. * Reduce `class_eval` calls * define `Numeric#i` * undefine `Complex#i` | |||
| 2021-02-05 | Add `Complex#to_c` method. | 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 | Integrate `Fixnum` class into `Integer` class | dearblue | |
| * 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-12 | Update tests for integer division. | Yukihiro "Matz" Matsumoto | |
| 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. | |||
| 2020-06-20 | Symbolify saved alias name to improve performance. | Yukihiro "Matz" Matsumoto | |
| 2019-12-15 | Drop dependencies from `mruby-complex` to some gems | KOBAYASHI Shuji | |
| 2019-08-09 | Avoid overflow and underflow in Complex#/ | Ray Chason | |
| 2019-08-08 | Implement Complex#abs in terms of Math.hypot | Ray Chason | |
| Math.hypot avoids premature overflow and underflow | |||
| 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-30 | Refine message to `skip` in nested `assert` | KOBAYASHI Shuji | |
| - I think "Info" is used only to `skip`, so change to "Skip". - Changed the default value of `assert` and specify the argument explicitly at the caller of `assert` because it is unnatural "Assertion failed" is output even though the assertion doesn't fail. == Example: def assert_foo(exp, act) assert do assert_equal exp[0], act[0] assert_equal exp[1], act[1] end end def assert_bar(exp, act) assert do skip end end def assert_baz(exp, act) assert do assert_equal exp, act assert_bar exp, act end end assert 'test#skip_in_nested_assert' do assert_baz 1, 1 end === Before this patch: ?.. Info: test#skip_in_nested_assert (core) - Assertion[1] Info: Assertion failed (core) - Assertion[1-2] Skip: Assertion failed (core) Total: 3 OK: 2 KO: 0 Crash: 0 Warning: 0 Skip: 1 === After this patch: ??? Skip: test#skip_in_nested_assert (core) - Assertion[1] Skip: assert (core) - Assertion[1-2] Skip: assert (core) Total: 3 OK: 0 KO: 0 Crash: 0 Warning: 0 Skip: 3 | |||
| 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-07-18 | Avoid making top-level `env` in initialization code; ref #4581 | Yukihiro "Matz" Matsumoto | |
| 2019-07-13 | Resolve ambiguous argument warning. | Yukihiro "Matz" Matsumoto | |
| 2019-06-29 | Use nested `assert` | dearblue | |
| 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 | |
| 2019-05-21 | Remove `Complex(string)` complex generation. | Yukihiro "Matz" Matsumoto | |
| It should raise an error. | |||
| 2019-05-18 | Move `Object#(Rational|Complex)` to `Kernel` | KOBAYASHI Shuji | |
| 2019-05-15 | Fix dependencies | Ukrainskiy Sergey | |
| 2019-05-15 | Basic implementation of Complex and Rational classes | Ukrainskiy Sergey | |
| 2019-05-15 | Initial suffix support | Ukrainskiy Sergey | |
