[#66126] Creation/Conversion methods/functions table for Ruby types — SASADA Koichi <ko1@...>
Hi,
5 messages
2014/11/07
[#66248] [ruby-trunk - Feature #10423] [PATCH] opt_str_lit*: avoid literal string allocations — normalperson@...
Issue #10423 has been updated by Eric Wong.
3 messages
2014/11/13
[#66595] [ruby-trunk - Bug #10557] [Open] Block not given when the argument is a string — bartosz@...
Issue #10557 has been reported by Bartosz Kopinski.
3 messages
2014/11/30
[ruby-core:66339] [ruby-trunk - Bug #10429] Ruby 2.x exponents produce wildly varying precision for integers vs decimals
From:
matt.dressel@...
Date:
2014-11-18 00:18:48 UTC
List:
ruby-core #66339
Issue #10429 has been updated by Matt Dressel. Thank you. I will add some additional thoughts. ---------------------------------------- Bug #10429: Ruby 2.x exponents produce wildly varying precision for integers vs decimals https://bugs.ruby-lang.org/issues/10429#change-49994 * Author: Matt Dressel * Status: Open * Priority: Normal * Assignee: * Category: core * Target version: * ruby -v: 2.0.0-p576, 2.1.3 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- ## 2.0.0 ``` > 1.1.to_d ** -1.9999999 => #<BigDecimal:7fdcc1fcdfa0,'0.8264462888 68609939E0',18(45)> > 1.1.to_d ** -2 => #<BigDecimal:7fdccd3e8d00,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 3719008264 46E0',72(72)> > 1.1.to_d ** -2.0 => #<BigDecimal:7fdccd3e8d00,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 3719008264 46E0',72(72)> > 1.1.to_d ** -2.0000001 => #<BigDecimal:7fdcc1f702d8,'0.8264462731 14861211E0',18(45)> ``` ## 2.1.3 ``` > 1.1.to_d ** -1.9999999 => #<BigDecimal:7ff690a7d6c0,'0.8264462888 68609938E0',18(36)> > 1.1.to_d ** -2 => #<BigDecimal:7ff690ace0c0,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 371E0',63(63)> > 1.1.to_d ** -2.0 => #<BigDecimal:7ff690ace0c0,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 371E0',63(63)> > 1.1.to_d ** -2.0000001 => #<BigDecimal:7ff674c0b0a8,'0.8264462731 1486121E0',18(36)> ``` Additionally, when the integer value increases, the precision increases: ## 2.0.0 ``` > 1.1.to_d ** 2 => #<BigDecimal:7fb0969fb7f0,'0.121E1',18(72)> > 1.1.to_d ** 3 => #<BigDecimal:7fb096928468,'0.1331E1',18(90)> > 1.1.to_d ** 4 => #<BigDecimal:7fb096a05890,'0.14641E1',18(117)> > 1.1.to_d ** 5 => #<BigDecimal:7fb096a0fbb0,'0.161051E1',18(135)> > 1.1.to_d ** 6 => #<BigDecimal:7fb096a1e110,'0.1771561E1',18(153)> ``` -- https://bugs.ruby-lang.org/