Project

General

Profile

Actions

Bug #12414

closed

FloatDomainError in infinite Range#include? for certain BigDecimals

Bug #12414: FloatDomainError in infinite Range#include? for certain BigDecimals

Added by RubyBugs (A Nonymous) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
[ruby-core:75682]

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.


Related issues 2 (0 open2 closed)

Actions

Also available in: PDF Atom