Actions
Bug #12414
closedFloatDomainError in infinite Range#include? for certain BigDecimals
Bug #12414: FloatDomainError in infinite Range#include? for certain BigDecimals
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
Backport:
Description
What I did¶
require 'bigdecimal' r = 0.04...(Float::INFINITY) n = BigDecimal.new('0.13E0') r.include?(n.to_f) r.include?(n) What I expected¶
true true What happens instead¶
true FloatDomainError: Infinity from (irb):19:in `to_r' from (irb):19:in `<=>' from (irb):19:in `include?' from (irb):19 from /Users/msiegel/.rvm/rubies/ruby-2.2.3/bin/irb:15:in `<main>' Workaround¶
To workaround, I am calling #to_f on the BigDecimal before submitting it to the Range#include?
Note that this exception only occurs for certain BigDecimal values, not for all.
Actions