* parse.y (parser_number_literal_suffix): return bit set of found
suffixes.
* parse.y (parser_set_number_literal, parser_set_integer_literal):
split from parser_number_literal_suffix to set yyvlal.
* parse.y (parser_yylex): parse rational number literal with decimal
point precisely.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/ripper/eventids2.c (ripper_init_eventids2): ripper support for
new literals, tRATIONAL and tIMAGINARY.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
statement, and call rb_bug() if an unknown type is passed to
negate_lit(). [ruby-core:56316] [Bug #8717]
* bootstraptest/test_literal_suffix.rb (assert_equal): add test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
examine that "1if true" and "1rescue nil" are recognized as 1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to rationalize a Float instance with a precision.
* rational.c (rb_flt_rationalize): new public C function to
rationalize a Float instance. A precision is calculated from
the given float number.
* include/ruby/intern.h: Add rb_flt_rationalize_with_prec and
rb_flt_rationalize.
* parse.y: implement number literal suffixes, 'r' and 'i'.
[ruby-core:55096] [Feature #8430]
* bootstraptest/test_literal_suffix.rb: add tests for parser to scan
number literals with the above tsuffixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(rb_big2str0): Non-trim mode implemented here.
(big2str_find_n1): Change the result type to long again.
(big2str_base_powerof2): Don't take arguments: len and trim.
(rb_big2str): Follow above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
It is called after actual length is calculated.
(big2str_struct): Add fields: negative, result and ptr.
(big2str_orig): Write out the result via b2s->ptr.
(big2str_orig): Ditto.
(rb_big2str1): Don't allocate the result string at beginning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rdoc/options.rb (RDoc#finish): include root path in include
paths, to work in another directory than the source directory.
[ruby-core:56282] [Bug #8712]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/test_rdoc_markup_pre_process.rb (TestRDocMarkupPreProcess#setup):
fix input_file_name, as the test script is not pre-processed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(KARATSUBA_BIG2STR_DIGITS): Removed.
(big2str_numdigits_cache): New variable.
(power_cache_get_power): Merged with power_cache_get_power0.
This function returns maxpow_in_bdigit_dbl(base)**(2**power_level).
(rb_big2str1): use power_cache_get_power.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
system literal in external ID system notation declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(power_cache_get_power): Change n1 argument (number of digits) to
power_level which is just passed to power_cache_get_power0.
(big2str_karatsuba): Ditto.
(rb_big2str1): Calculate the initial power_level.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(power_cache_get_power0): Add rb_bug call for too bit i argument.
(power_cache_get_power): Simplified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
warnings because Refinements are no longer experimental.
[ruby-core:55993] [Feature #8632]
* test/ruby/test_refinement.rb: related test.
* NEWS: fixes for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e