Koichi ITO
045ab1d056
[DOC] Fix a typo in `Integer#chr` example
...
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"
```
2022-02-13 15:48:01 +09:00
Nobuyoshi Nakada
50c972a1ae
[DOC] Simplify operator method references
2022-02-12 12:38:36 +09:00
Nobuyoshi Nakada
16fdc1ff46
[DOC] Fix broken links to literals.rdoc
2022-02-08 01:27:52 +09:00
Nobuyoshi Nakada
bc5662d9d8
[DOC] Simplify links to global methods
2022-02-08 01:18:56 +09:00
Peter Zhu
a32e5e1b97
[DOC] Use RDoc link style for links in the same class/module
...
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
2022-02-07 09:52:06 -05:00
Peter Zhu
f9a2802bc5
[DOC] Use RDoc link style for links to other classes/modules
...
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
2022-02-07 09:52:06 -05:00
Nobuyoshi Nakada
6a6227e016
Shifting zero always results in zero [Bug #18517 ]
2022-01-27 14:00:33 +09:00
Nobuyoshi Nakada
069cca6f74
Negative RBOOL usage
2022-01-01 17:02:04 +09:00
Nobuyoshi Nakada
77ee47188e
Make the internal predict `int_zero_p` return a bool
2022-01-01 17:01:40 +09:00
Nobuyoshi Nakada
40e7aefeba
Remove obsolete Fixnum and Bignum
2021-12-28 18:35:03 +09:00
Nobuyoshi Nakada
454b4da763
[DOC] Integer.try_convert [ci skip]
2021-12-08 17:59:16 +09:00
Burdette Lamar
28fb6d6b9e
Adding links to literals and Kernel ( #5192 )
...
* Adding links to literals and Kernel
2021-12-03 07:12:28 -06:00
Jeremy Evans
fe1725236c
Don't call + and < in Integer.times for !FIXNUM
...
The methods aren't called for FIXNUM, and it's best to have
consistent behavior.
Fixes [Bug #18377 ]
2021-12-01 16:21:50 -08:00
Burdette Lamar
eac7c63538
Enhanced RDoc for numeric.c ( #5184 )
...
Adds remarks about literals and Kernel methods to Float and Integer.
2021-11-27 13:07:37 -06:00
Burdette Lamar
e469ebd7d3
Correct indentation error in numeric.c ( #5178 )
2021-11-25 13:14:10 -06:00
Burdette Lamar
635efa594a
Whats here for float ( #5170 )
...
* What's Here for Float
2021-11-24 17:44:27 -06:00
Burdette Lamar
9faa599196
Enhanced RDoc for Float#floor ( #5167 )
...
* Enhanced RDoc for Float#floor
* Enhanced RDoc for Float
* Enhanced RDoc for Float
2021-11-24 15:15:12 -06:00
Burdette Lamar
7c3041047e
Enhanced RDoc for Float#prev_float ( #5162 )
...
* Enhanced RDoc for Float#prev_float
2021-11-24 08:34:30 -06:00
Burdette Lamar
df8f858115
Enhanced RDoc for Float#next_float ( #5160 )
...
* Enhanced RDoc for Float#next_float
2021-11-23 15:38:28 -06:00
Burdette Lamar
da832d6c2a
What's Here section for Integer ( #5155 )
...
* What's Here section for Integer
2021-11-22 19:04:25 -06:00
Burdette Lamar
e42f994f6b
Enhanced RDoc for Float ( #5153 )
...
Treats:
#>
#>=
#<
#<=
#eql?
#nan?
#infinite?
#finite?
2021-11-22 14:57:17 -06:00
Burdette Lamar
86ad878e6a
Enhanced RDoc for Float ( #5150 )
...
Treated (or previously treated):
#quo
#%
#divmod
#**`
#eql?
#<=>
#==
#hash
2021-11-20 17:21:30 -06:00
Burdette Lamar
e0c38742a2
Enhanced RDoc for Float ( #5144 )
...
Treats:
#to_s
#coerce
#+
#-
#*
#/
2021-11-19 12:16:16 -06:00
Jeremy Evans
b08dacfea3
Optimize dynamic string interpolation for symbol/true/false/nil/0-9
...
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>
2021-11-18 15:10:20 -08:00
Burdette Lamar
f3dcb4bbf7
Enhanced RDoc for Integer ( #5139 )
...
Treats:
#<<
#>>
#to_s
2021-11-18 08:28:04 -06:00
Burdette Lamar
cb69c19e8a
Enhanced RDoc for Integer ( #5138 )
...
Treats:
#times
#round
#floor
#ceil
#truncate
::sqrt
2021-11-17 16:00:50 -06:00
Burdette Lamar
4acac918f4
Enhanced RDoc for Integer ( #5134 )
...
Treated:
#==
#<=>
#<
#<=
#>
#>=
#&
#|
#^
2021-11-17 12:51:32 -06:00
Burdette Lamar
d8d5488631
Enhanced RDoc for Integer ( #5120 )
...
Treated:
#+
#-
#*
#fdiv
#/
#div
#**
#[]
#digits
#upto
#downto
2021-11-16 13:42:05 -06:00
Burdette Lamar
f31b7f0522
Enhanced RDoc for Integer ( #5118 )
...
Treats:
#allbits?
#anybits?
#nobits?
#succ
#pred
#chr`
#to_s
#+
#-
2021-11-15 13:52:23 -06:00
Yusuke Endoh
15bc1ae41e
Revert "Enhanced RDoc for Integer ( #5099 )"
...
This reverts commit fc456adc6a
.
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-15 14:50:03 +09:00
Burdette Lamar
fc456adc6a
Enhanced RDoc for Integer ( #5099 )
...
Treats:
#allbits?
#anybits?
#nobits?
#succ
#pred
#chr`
#to_s
#+
#-
2021-11-13 14:48:57 -06:00
Nobuyoshi Nakada
7cc4e147fc
Get rid of implicit expansion to `long double` on ix86
2021-11-08 18:35:22 +09:00
Burdette Lamar
f8bbd608c9
Enhanced RDoc for Numeric ( #4994 )
...
Treats:
#eql?
#<+>
#floor
#ceil
#round
#truncate
#step
2021-10-28 15:11:11 -05:00
Nobuyoshi Nakada
26353c75a9
Embed bare `double` if `sizeof(double) == sizeof(VALUE)`
2021-10-27 02:05:06 +09:00
Nobuyoshi Nakada
e3a783b141
Align `RFloat` at VALUE boundary
2021-10-27 02:05:06 +09:00
Nobuyoshi Nakada
afdca0e780
Fix unaligned access to `double` in RFloat
2021-10-26 20:17:00 +09:00
Burdette Lamar
3e96b94eba
Enhanced RDoc for Numeric ( #4991 )
...
Treated:
#@-
#fdiv
#div
#abs
#zero?
#nonzero?
#to_int
#positive?
#negative?
2021-10-19 12:00:22 -05:00
Burdette Lamar
012cafa5c7
Enhanced RDoc for numerics ( #4982 )
...
Treats:
Numeric#coerce
Numeric#clone
Numeric#dup
Numeric#@+ (unary plus)
Numeric#i
Float#coerce
2021-10-18 18:35:06 -05:00
Burdette Lamar
5d975684da
Enhanced RDoc for remainder ( #4975 )
...
Treats Numeric#remainder and Integer#remainder.
2021-10-15 16:20:52 -05:00
Burdette Lamar
37ea909f42
Enhanced RDoc for divmod ( #4973 )
...
Treats:
Integer#divmod
Float#divmod
Numeric#divmod
2021-10-15 12:51:37 -05:00
Burdette Lamar
2043c2e7e4
Enhanced RDoc for numeric.c ( #4964 )
...
Treats Integer#% and Float#%.
2021-10-15 11:57:49 -05:00
Burdette Lamar
bb66729b5f
Enhanced RDoc for Numeric#% ( #4954 )
2021-10-12 08:06:05 -05:00
S-H-GAMELINKS
d25af1f44e
Add flo_ndigits function
2021-10-10 09:29:53 +09:00
S.H
b8c3a84bdd
Refactor and Using RBOOL macro
2021-09-15 08:11:05 +09:00
S-H-GAMELINKS
83a5e2bb5c
Using RB_FLOAT_TYPE_P macro
2021-09-12 11:16:31 +09:00
S-H-GAMELINKS
af5826a25e
Replace RB_TYPE_P macro to FIXNUM_P and RB_INTEGER_TYPE_P macro
2021-09-12 11:16:09 +09:00
S-H-GAMELINKS
9784f6685e
Using NIL_P macro instead of RB_TYPE_P macro
2021-09-11 09:15:21 +09:00
S-H-GAMELINKS
032534dbdf
Using RB_BIGNUM_TYPE_P macro
2021-09-11 09:13:24 +09:00
Nobuyoshi Nakada
465bd972ec
[DOC] Move rdoc of Integer#abs to numeric.rb [ci skip]
2021-08-30 13:33:52 +09:00
Nobuyoshi Nakada
04be8e84db
Use C99-defined macros to classify a floating-point number
2021-08-27 12:41:30 +09:00