| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-10-12 | Use `mrb_int_value()` instead of `mrb_fixnum_value()`. | Yukihiro "Matz" Matsumoto | |
| Where fixnum overflow can happen. | |||
| 2020-10-12 | Update `mruby-random` gem to support 32 bit platforms. | Yukihiro "Matz" Matsumoto | |
| `sizeof(rand_state)` had been bigger than `sizeof(void*)*3`. Changed random number generator to `Xorshift96` on 32 bit platforms. | |||
| 2020-10-12 | Reorganize `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-12 | Use xoshiro128++ instead of xorshift96/128. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Fix `rand_real` to return random number `[0,1)` not `[0,1]`. | 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 | Avoid breaking the `result` array by side-effect in C++. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Use functions that take symbols to reduce string litrals in C. | Yukihiro "Matz" Matsumoto | |
| 2020-10-12 | Add `MRB_SYM()` for inline symbols. | Yukihiro "Matz" Matsumoto | |
| 2020-06-29 | Work around more MSC optimzer bugs | Rory OConnell | |
| 2020-06-26 | Reduce scope of volatile keyword for MSC bug | Rory OConnell | |
| 2020-06-26 | Narrower scope working around MSC bug | Rory OConnell | |
| 2020-06-26 | work around MSC optimization generating non functional code | Rory OConnell | |
| 2019-09-26 | Use type predicate macros instead of `mrb_type` if possible | KOBAYASHI Shuji | |
| For efficiency with `MRB_WORD_BOXING` (implement type predicate macros for all `enum mrb_vtype`). | |||
| 2019-08-27 | Fix build of `mruby-random` on 32-bit mode | KOBAYASHI Shuji | |
| 2019-08-26 | Fix `Array#sample` with `MRB_INT32` | KOBAYASHI Shuji | |
| Array index became potentially negative because `uint32_t` is cast to `mrb_int`. | |||
| 2019-07-24 | Use `MRB_TT_ISTRUCT` for `Random` to reduce memory. | Yukihiro "Matz" Matsumoto | |
| When the size of Xorshift128 seed (`sizeof(uint32)*4`) is bigger than ISTRUCT_DATA_SIZE, `Random` uses Xorshift96 instead. | |||
| 2019-07-22 | Switch random generator from Mersenne Twister to Xorshit128. | Yukihiro "Matz" Matsumoto | |
| Now `rand` can be used with `MRB_WITHOUT_FLOAT`; ref #4576 | |||
| 2019-07-14 | Error needed/conflicts configuration | dearblue | |
| The purpose is to clarify the error if there is a needed/conflicts configuration at compile time. | |||
| 2018-11-19 | Remove implicit conversion using `to_int` method. | Yukihiro "Matz" Matsumoto | |
| The ISO standard does not include implicit type conversion using `to_int`. This implicit conversion often causes vulnerability. There will be no more attacks like #4120. In addition, we have added internal convenience method `__to_int` which does type check and conversion (from floats). | |||
| 2018-09-07 | Clear terminated space | dearblue | |
| 2017-07-27 | Embed small size array elements in the heap. | Yukihiro "Matz" Matsumoto | |
| It reduces the memory consumption and sometimes improve the performance as well. For example, the consumed memory size of `bench/bm_ao_render.rb` is reduced from 1.2GB to 1GB, and its total execution time become 18.795 sec from 22.229 sec. | |||
| 2017-02-02 | Fetch arguments earlier to avoid a crash. | Clayton Smith | |
| 2016-11-23 | Fix segfault in Array#sample | Bouke van der Bijl | |
| 2016-01-21 | mruby-random: fixed wrong fixnum conversion | Yukihiro "Matz" Matsumoto | |
| 2015-11-27 | include changed from by quotes ("") to by brackets (<>); close #3032 | Yukihiro "Matz" Matsumoto | |
| 2014-09-12 | constify pointer from RARRAY_PTR to detect potential write barrier bugs. | Yukihiro "Matz" Matsumoto | |
| if you see compiler errors due to this commit, you'd better to use array-modifying functions, e.g. mrb_ary_set() or mrb_ary_push(), otherwise you might see nasty GC bugs in the future. if you are sure what you are doing, replace `RARRAY_PTR(ary)` by `mrb_ary_ptr(ary)->ptr`. but be warned. | |||
| 2014-08-20 | Add API `mrb_data_init` to initialize `MRB_TT_DATA` tagged instance. | take_cheeze | |
| 2014-07-12 | remove spaces after open parens | Yukihiro "Matz" Matsumoto | |
| 2014-05-10 | Pacify MSVC warnings for random.c | kyab | |
| 2014-04-30 | remove trailing spaces | Nobuyoshi Nakada | |
| 2014-03-09 | add data_type check to mruby-random | Yukihiro "Matz" Matsumoto | |
| 2014-03-09 | refactoring mruby-random | Yukihiro "Matz" Matsumoto | |
| 2014-03-09 | implement Array#sample in mruby-random gem | Yukihiro "Matz" Matsumoto | |
| 2014-03-05 | remove unused variable | cubicdaiya | |
| GLOBAL_RAND_SEED_KEY is no longer used. | |||
| 2014-03-04 | Fix #1793 | mattn | |
| 2014-03-02 | fix a memory leak in mruby-random. | Tatsuya Matsumoto | |
| 2014-02-25 | Implement default Random instance. | chasonr | |
| Previously, the default random number generator was implemented using static storage. This storage is common to all instances of mruby in a process, and use of the default random number generator in one instance will perturb the default random number generator in other instances. It is also not thread safe. With this change, the default random number generator is defined as Random::DEFAULT, as it is in CRuby. | |||
| 2014-02-21 | use 'd' format spec to get Random object | take_cheeze | |
| 2014-02-21 | use mrb_intern_lit in mruby-random | take_cheeze | |
| 2014-02-14 | Give the type 'void' to functions have no argument. | cubicdaiya | |
| According to the C standard, it is desirable to give the type 'void' to functions have no argument. | |||
| 2013-11-29 | rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513 | Yukihiro "Matz" Matsumoto | |
| 2013-11-13 | Changed a variable declaration to top of block | bggd | |
| 2013-11-03 | small style fix | Yukihiro "Matz" Matsumoto | |
| 2013-11-02 | Added support for Random as an argument to shuffle and shuffle!. Refactored ↵ | Emiliano Lesende | |
| random gem to use DATA instance type and hold mt_state inside the DATA_PTR instead of in an instance variable. | |||
| 2013-11-01 | Added shuffle and shuffle! to the Array class in the Random gem. | Emiliano Lesende | |
| 2013-08-15 | redesign mruby/data.h API; use DATA_PTR() for raw data pointer, ↵ | Yukihiro "Matz" Matsumoto | |
| DATA_GET_PTR() to type safe retrieval (TypeError will be raised), DATA_CHECK_GET_PTR() to get nil if type mismatched | |||
| 2013-07-14 | Replace mrb_intern() with mrb_intern2() in random.c | Jun Hiroe | |
| 2013-05-26 | Add MRB_WORD_BOXING mode (represent mrb_value as a word) | kimu_shu | |
| 2013-04-29 | use mrb_free to free random state | Yukihiro "Matz" Matsumoto | |
