正木です。

[ruby-math:00773] での Rational#to_f に

(1/5**23).to_f != 1.0/5**23

となる bug がありました。以下のように訂正します。

class Rational
  def to_f
    return -(-self).to_f if self<0
    return floor.to_f+(self-floor).to_f if self>1
    return 1/(1/self).to_f if denominator.to_f.infinite?
    numerator.to_f/denominator
  end
end