summaryrefslogtreecommitdiff
path: root/numeric.c
AgeCommit message (Collapse)Author
2022-05-27[DIC] Fix typo in documentationKouhei Yanagita
Notes: Merged: https://github.com/ruby/ruby/pull/5962 Merged-By: nobu <nobu@ruby-lang.org>
2022-04-13Use correct capitalization of "NaN" in docsGrant Hutchins
Notes: Merged: https://github.com/ruby/ruby/pull/5797
2022-03-26[DOC] Use simple references to operator methodsNobuyoshi Nakada
Method references is not only able to be marked up as code, also reflects `--show-hash` option. The bug that prevented the old rdoc from correctly parsing these methods was fixed last month.
2022-03-25[DOC] Fix formatting for What's Here in IO (#5719)Burdette Lamar
* Fix formatting for What's Here in IO * Repair formatting in What's Heres in numeric.c * Fix formatting for What's Here in IO Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-02-13[DOC] Fix a typo in `Integer#chr` exampleKoichi ITO
The current example raises the following error. ```ruby 0..chr # => undefined local variable or method `chr' for main:Object (NameError) ``` This PR updates the example to produce the expected behavior. ```ruby 0.chr # => "\x00" ``` Notes: Merged: https://github.com/ruby/ruby/pull/5550
2022-02-12[DOC] Simplify operator method referencesNobuyoshi Nakada
2022-02-08[DOC] Fix broken links to literals.rdocNobuyoshi Nakada
2022-02-08[DOC] Simplify links to global methodsNobuyoshi Nakada
2022-02-07[DOC] Use RDoc link style for links in the same class/modulePeter Zhu
I used this regex: (?<=\[)#(?:class|module)-([A-Za-z]+)-label-([A-Za-z0-9\-\+]+) And performed a global find & replace for this: rdoc-ref:$1@$2 Notes: Merged: https://github.com/ruby/ruby/pull/5530
2022-02-07[DOC] Use RDoc link style for links to other classes/modulesPeter Zhu
I used this regex: ([A-Za-z]+)\.html#(?:class|module)-[A-Za-z]+-label-([A-Za-z0-9\-\+]+) And performed a global find & replace for this: rdoc-ref:$1@$2 Notes: Merged: https://github.com/ruby/ruby/pull/5530
2022-01-27Shifting zero always results in zero [Bug #18517]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5494
2022-01-01Negative RBOOL usageNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5385
2022-01-01Make the internal predict `int_zero_p` return a boolNobuyoshi Nakada
2021-12-28Remove obsolete Fixnum and BignumNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3927
2021-12-08[DOC] Integer.try_convert [ci skip]Nobuyoshi Nakada
2021-12-03Adding links to literals and Kernel (#5192)Burdette Lamar
* Adding links to literals and Kernel Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-12-01Don't call + and < in Integer.times for !FIXNUMJeremy Evans
The methods aren't called for FIXNUM, and it's best to have consistent behavior. Fixes [Bug #18377] Notes: Merged: https://github.com/ruby/ruby/pull/5199
2021-11-27Enhanced RDoc for numeric.c (#5184)Burdette Lamar
Adds remarks about literals and Kernel methods to Float and Integer. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-25Correct indentation error in numeric.c (#5178)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-24Whats here for float (#5170)Burdette Lamar
* What's Here for Float Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-24Enhanced RDoc for Float#floor (#5167)Burdette Lamar
* Enhanced RDoc for Float#floor * Enhanced RDoc for Float * Enhanced RDoc for Float Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-24Enhanced RDoc for Float#prev_float (#5162)Burdette Lamar
* Enhanced RDoc for Float#prev_float Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-23Enhanced RDoc for Float#next_float (#5160)Burdette Lamar
* Enhanced RDoc for Float#next_float Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-22What's Here section for Integer (#5155)Burdette Lamar
* What's Here section for Integer Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-22Enhanced RDoc for Float (#5153)Burdette Lamar
Treats: #> #>= #< #<= #eql? #nan? #infinite? #finite? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-20Enhanced RDoc for Float (#5150)Burdette Lamar
Treated (or previously treated): #quo #% #divmod #**` #eql? #<=> #== #hash Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-19Enhanced RDoc for Float (#5144)Burdette Lamar
Treats: #to_s #coerce #+ #- #* #/ Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-18Optimize dynamic string interpolation for symbol/true/false/nil/0-9Jeremy Evans
This provides a significant speedup for symbol, true, false, nil, and 0-9, class/module, and a small speedup in most other cases. Speedups (using included benchmarks): :symbol :: 60% 0-9 :: 50% Class/Module :: 50% nil/true/false :: 20% integer :: 10% [] :: 10% "" :: 3% One reason this approach is faster is it reduces the number of VM instructions for each interpolated value. Initial idea, approach, and benchmarks from Eric Wong. I applied the same approach against the master branch, updating it to handle the significant internal changes since this was first proposed 4 years ago (such as CALL_INFO/CALL_CACHE -> CALL_DATA). I also expanded it to optimize true/false/nil/0-9/class/module, and added handling of missing methods, refined methods, and RUBY_DEBUG. This renames the tostring insn to anytostring, and adds an objtostring insn that implements the optimization. This requires making a few functions non-static, and adding some non-static functions. This disables 4 YJIT tests. Those tests should be reenabled after YJIT optimizes the new objtostring insn. Implements [Feature #13715] Co-authored-by: Eric Wong <e@80x24.org> Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Co-authored-by: Koichi Sasada <ko1@atdot.net> Notes: Merged: https://github.com/ruby/ruby/pull/5002 Merged-By: jeremyevans <code@jeremyevans.net>
2021-11-18Enhanced RDoc for Integer (#5139)Burdette Lamar
Treats: #<< #>> #to_s Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-17Enhanced RDoc for Integer (#5138)Burdette Lamar
Treats: #times #round #floor #ceil #truncate ::sqrt Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-17Enhanced RDoc for Integer (#5134)Burdette Lamar
Treated: #== #<=> #< #<= #> #>= #& #| #^ Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-16Enhanced RDoc for Integer (#5120)Burdette Lamar
Treated: #+ #- #* #fdiv #/ #div #** #[] #digits #upto #downto Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-15Enhanced RDoc for Integer (#5118)Burdette Lamar
Treats: #allbits? #anybits? #nobits? #succ #pred #chr` #to_s #+ #- Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-15Revert "Enhanced RDoc for Integer (#5099)"Yusuke Endoh
This reverts commit fc456adc6a62d09b755243b8c8f190934b9965d6. It broke the CI check. https://github.com/ruby/ruby/runs/4207922247?check_suite_focus=true#step:3:4 ``` numeric.c:3518: * 255.chr(Encoding::UTF_8) # => "ΓΏ" Error: Process completed with exit code 1. ```
2021-11-13Enhanced RDoc for Integer (#5099)Burdette Lamar
Treats: #allbits? #anybits? #nobits? #succ #pred #chr` #to_s #+ #- Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-08Get rid of implicit expansion to `long double` on ix86Nobuyoshi Nakada
2021-10-28Enhanced RDoc for Numeric (#4994)Burdette Lamar
Treats: #eql? #<+> #floor #ceil #round #truncate #step Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-27Embed bare `double` if `sizeof(double) == sizeof(VALUE)`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5027
2021-10-27Align `RFloat` at VALUE boundaryNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5027
2021-10-26Fix unaligned access to `double` in RFloatNobuyoshi Nakada
2021-10-19Enhanced RDoc for Numeric (#4991)Burdette Lamar
Treated: #@- #fdiv #div #abs #zero? #nonzero? #to_int #positive? #negative? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-18Enhanced RDoc for numerics (#4982)Burdette Lamar
Treats: Numeric#coerce Numeric#clone Numeric#dup Numeric#@+ (unary plus) Numeric#i Float#coerce Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-15Enhanced RDoc for remainder (#4975)Burdette Lamar
Treats Numeric#remainder and Integer#remainder. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-15Enhanced RDoc for divmod (#4973)Burdette Lamar
Treats: Integer#divmod Float#divmod Numeric#divmod Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-15Enhanced RDoc for numeric.c (#4964)Burdette Lamar
Treats Integer#% and Float#%. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-12Enhanced RDoc for Numeric#% (#4954)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-10-10Add flo_ndigits functionS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/4926
2021-09-15Refactor and Using RBOOL macroS.H
Notes: Merged: https://github.com/ruby/ruby/pull/4837 Merged-By: nobu <nobu@ruby-lang.org>
2021-09-12Using RB_FLOAT_TYPE_P macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/4821
2021-09-12Replace RB_TYPE_P macro to FIXNUM_P and RB_INTEGER_TYPE_P macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/4816