path: root/ext
AgeCommit message (Collapse)Author
2021-02-08Revert a part of "[DOC] refined" [ci skip]Nobuyoshi Nakada
This reverts commit 478716f49a19cdd86f629c6a0673c1ff53630c96 partially -- "Removed unnecessary parentheses" part -- because of a lambda, see 9e25eb308d4fae9a10e120c2b4601916cc38336c.
2021-02-07[DOC] refinedNobuyoshi Nakada
* Adjusted indentation in license section, and used "(c)" * Commented out invalid syntax to enable highlighting * Removed unnecessary parentheses
2021-02-04objspace_dump.c: tag singleton classes and reference the superclassJean Boussier
Notes: Merged:
2021-02-04[DOC] Fix typo in ext/socket/socket.c [ci skip]Dimitris Zorbas
Notes: Merged:
2021-02-04[ruby/bigdecimal] Fix uint64 conversionKenta Murata
Stop using logarithm to compute the number of components. Instead, use the theoretical maximum number of components for buffer, and count up the actual number of components during conversion.
2021-02-04[ruby/bigdecimal] Stop using rmpd and RMPD prefixes and DBLE_FIGKenta Murata
2021-02-03[ruby/bigdecimal] Fix the maximum length of float numberKenta Murata
This change is for preventing the false-positive alert by CoverityScan. See CID-1471770 for the detail.
2021-02-01Fix GC compatibility: Don't stash encodings in global constantsAaron Patterson
This value should either be pinned, or looked up when needed at runtime. Without pinning, the GC may move the encoding object, and that could cause a crash. In this case it is easier to find the value at runtime, and there is no performance penalty (as Ruby caches encoding indexes). We can shorten the code, be compaction friendly, and incur no performance penalty.
2021-01-29Forward keyword arguments for Pathname#each_line [Bug #17589]Nobuyoshi Nakada
Notes: Merged:
2021-01-22[ruby/bigdecimal] [Doc] Fix the comment of BigDecimal_div2 [ci skip]Kenta Murata
2021-01-22[ruby/bigdecimal] Stop using GetVpValue in rb_big_convert_to_BigDecimalKenta Murata
2021-01-20objspace_dump.c: Handle allocation path and line missingJean Boussier
Notes: Merged:
2021-01-17Fix Ripper with heredoc.manga_osyo
Notes: Merged:
2021-01-16[ruby/io-console] Rubygems 3.2 supports `--platform` optionNobuyoshi Nakada
2021-01-16[ruby/io-console] Moved JRuby version files into particular pathNobuyoshi Nakada
2021-01-16[ruby/io-console] Delegate to JRuby versionNobuyoshi Nakada
Add `--platform` option tentatively.
2021-01-16[ruby/io-console] bump up to 0.5.7Nobuyoshi Nakada
2021-01-16[ruby/bigdecimal] Fix for the coerce cases in divide and DoDivmodKenta Murata
2021-01-16[ruby/bigdecimal] Use pre-allocated special values in BigDecimal_DoDivmodKenta Murata
2021-01-16[ruby/bigdecimal] Use new conversion functions in BigDecimal_DoDivmodKenta Murata
2021-01-15[ruby/bigdecimal] Use new conversion functions in BigDecimal_divideKenta Murata
2021-01-15[ruby/bigdecimal] Reorder the arguments of BigDecimal_divideKenta Murata
2021-01-14[ruby/bigdecimal] Explicitly cast size_t to intKenta Murata
2021-01-14[ruby/bigdecimal] Explicitly cast uint64_t to doubleKenta Murata
2021-01-14[ruby/bigdecimal] Suppress warning at NO_SANITIZE on gccKenta Murata
2021-01-13Moved Fiber methods into core [Feature #17407]Nobuyoshi Nakada
Notes: Merged:
2021-01-13[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]
2021-01-13Update ext/bigdecimal/dependKenta Murata
2021-01-13Update ext/bigdecimal/dependKenta Murata
2021-01-13[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 ```
2021-01-13[ruby/bigdecimal] Use pre-allocated objects for special valuesKenta Murata
2021-01-13[ruby/bigdecimal] Fix exception message raised in Kernel.BigDecimalKenta Murata
2021-01-12[ruby/bigdecimal] Fix length calculation in rb_uint64_convert_to_BigDecimalKenta Murata
2021-01-12[ruby/bigdecimal] Use rb_cstr_convert_to_BigDecimal in GetVpValueWithPrecKenta Murata
2021-01-12[ruby/bigdecimal] Add rb_cstr_convert_to_BigDecimalKenta Murata
2021-01-11[ruby/etc] Added fallback definition of RUBY_ATOMIC_EXCHANGENobuyoshi Nakada
2021-01-11[ruby/etc] Check blocking variables at releaseNobuyoshi Nakada
2021-01-10[ruby/bigdecimal] Fix type nameKenta Murata
2021-01-10[ruby/bigdecimal] Avoid casting negative value to size_tKenta Murata
2021-01-10[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