path: root/ext
AgeCommit message (Collapse)Author
36 hours[ruby/bigdecimal] [Doc] Fix the comment of BigDecimal_div2 [ci skip]Kenta Murata
36 hours[ruby/bigdecimal] Stop using GetVpValue in rb_big_convert_to_BigDecimalKenta Murata
3 daysobjspace_dump.c: Handle allocation path and line missingJean Boussier
Notes: Merged:
7 daysFix Ripper with heredoc.manga_osyo
Notes: Merged:
7 days[ruby/io-console] Rubygems 3.2 supports `--platform` optionNobuyoshi Nakada
7 days[ruby/io-console] Moved JRuby version files into particular pathNobuyoshi Nakada
7 days[ruby/io-console] Delegate to JRuby versionNobuyoshi Nakada
Add `--platform` option tentatively.
7 days[ruby/io-console] bump up to 0.5.7Nobuyoshi Nakada
8 days[ruby/bigdecimal] Fix for the coerce cases in divide and DoDivmodKenta Murata
8 days[ruby/bigdecimal] Use pre-allocated special values in BigDecimal_DoDivmodKenta Murata
8 days[ruby/bigdecimal] Use new conversion functions in BigDecimal_DoDivmodKenta Murata
9 days[ruby/bigdecimal] Use new conversion functions in BigDecimal_divideKenta Murata
9 days[ruby/bigdecimal] Reorder the arguments of BigDecimal_divideKenta Murata
10 days[ruby/bigdecimal] Explicitly cast size_t to intKenta Murata
10 days[ruby/bigdecimal] Explicitly cast uint64_t to doubleKenta Murata
10 days[ruby/bigdecimal] Suppress warning at NO_SANITIZE on gccKenta Murata
10 daysMoved Fiber methods into core [Feature #17407]Nobuyoshi Nakada
Notes: Merged:
11 days[ruby/bigdecimal] Allow digits=0 in BigDecimal(flt) and Float#to_dKenta Murata
Using dtoa of mode=0, we can determine the number of digits in decimal that is necessary to represent the given Float number without errors. This change permits digits=0 in BigDecimal(flt) and Float#to_d, and these methods use dtoa of mode=0 when the given digits is 0. Internal implicit conversion from Float also uses digits=0. [Fix GH-70]
11 daysUpdate ext/bigdecimal/dependKenta Murata
11 daysUpdate ext/bigdecimal/dependKenta Murata
11 days[ruby/bigdecimal] Optimize rb_float_convert_to_BigDecimal by using dtoaKenta Murata
This improve the conversion speed several times faster than before. ``` RUBYLIB= BUNDLER_ORIG_RUBYLIB= /home/mrkn/.rbenv/versions/3.0.0/bin/ruby -v -S benchmark-driver /home/mrkn/src/ ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux] Calculating ------------------------------------- bigdecimal 3.0.0 master flt_e0 156.400k 783.356k i/s - 100.000k times in 0.639388s 0.127656s flt_ep10 158.640k 777.978k i/s - 100.000k times in 0.630359s 0.128538s flt_ep100 101.676k 504.259k i/s - 100.000k times in 0.983512s 0.198311s flt_em10 103.439k 726.339k i/s - 100.000k times in 0.966751s 0.137677s flt_em100 79.675k 651.446k i/s - 100.000k times in 1.255095s 0.153505s Comparison: flt_e0 master: 783355.6 i/s bigdecimal 3.0.0: 156399.5 i/s - 5.01x slower flt_ep10 master: 777977.6 i/s bigdecimal 3.0.0: 158639.7 i/s - 4.90x slower flt_ep100 master: 504259.4 i/s bigdecimal 3.0.0: 101676.5 i/s - 4.96x slower flt_em10 master: 726338.6 i/s bigdecimal 3.0.0: 103439.2 i/s - 7.02x slower flt_em100 master: 651446.3 i/s bigdecimal 3.0.0: 79675.3 i/s - 8.18x slower ```
11 days[ruby/bigdecimal] Use pre-allocated objects for special valuesKenta Murata
11 days[ruby/bigdecimal] Fix exception message raised in Kernel.BigDecimalKenta Murata
11 days[ruby/bigdecimal] Fix length calculation in rb_uint64_convert_to_BigDecimalKenta Murata
12 days[ruby/bigdecimal] Use rb_cstr_convert_to_BigDecimal in GetVpValueWithPrecKenta Murata
12 days[ruby/bigdecimal] Add rb_cstr_convert_to_BigDecimalKenta Murata
13 days[ruby/etc] Added fallback definition of RUBY_ATOMIC_EXCHANGENobuyoshi Nakada
13 days[ruby/etc] Check blocking variables at releaseNobuyoshi Nakada
14 days[ruby/bigdecimal] Fix type nameKenta Murata
14 days[ruby/bigdecimal] Avoid casting negative value to size_tKenta Murata
14 days[ruby/bigdecimal] Use smallest local variable scope in GetVpValueWithPrecKenta Murata
2021-01-09Get rid of defining methods for tests in core classesNobuyoshi Nakada
Not to interfere in other tests. Notes: Merged:
2021-01-09[ruby/bigdecimal] Stop using GetVpValueWithPrec in ↵Kenta Murata
2021-01-09[ruby/bigdecimal] Add assertions for checking the argument typesKenta Murata
2021-01-09[ruby/bigdecimal] Stop using GetVpValueWithPrec in ↵Kenta Murata
2021-01-07[ruby/bigdecimal] Fix trailing zero handling in rb_uint64_convert_to_BigDecimalKenta Murata
2021-01-06[ruby/bigdecimal] Rename BDIGIT to DECDIGKenta Murata
2021-01-06Need to convert the return value of rb_big_cmpKenta Murata
2021-01-06[ruby/bigdecimal] Optimize the conversion from small BignumKenta Murata
2021-01-06[ruby/bigdecimal] Check the function availabilities separatelyKenta Murata
2021-01-05[DOC] Fix grammar: "is same as" -> "is the same as"Marcus Stollsteimer
2021-01-05Fix a typo [ci skip]Kazuhiro NISHIYAMA
2021-01-05[ruby/io-console] Shrink struct query_argsNobuyoshi Nakada
2021-01-05[ruby/io-console] Pre-define chomp! IDNobuyoshi Nakada
2021-01-05[ruby/io-console] Ignore chomp! result and return the modified stringNobuyoshi Nakada
2021-01-05[ruby/io-console] [DOC] Note that IO#getpass returns a chomped stringMarcus Stollsteimer
IO#getpass uses String#chomp! on the read input line.
2021-01-05enable constant cache on ractorsKoichi Sasada
constant cache `IC` is accessed by non-atomic manner and there are thread-safety issues, so Ruby 3.0 disables to use const cache on non-main ractors. This patch enables it by introducing `imemo_constcache` and allocates it by every re-fill of const cache like `imemo_callcache`. [Bug #17510] Now `IC` only has one entry `IC::entry` and it points to `iseq_inline_constant_cache_entry`, managed by T_IMEMO object. `IC` is atomic data structure so `rb_mjit_before_vm_ic_update()` and `rb_mjit_after_vm_ic_update()` is not needed. Notes: Merged:
2021-01-04ripper: call #pretty_print on also `state`Nobuyoshi Nakada
2021-01-04Update ext/bigdecimal/dependKenta Murata
2021-01-04[ruby/bigdecimal] Move some definitions to missing.hKenta Murata