class Date::Infinity
:nodoc:
def +@() self.class.new(+d) end
def +@() self.class.new(+d) end
def -@() self.class.new(-d) end
def -@() self.class.new(-d) end
def <=>(other)
def <=>(other) case other when Infinity; return d <=> other.d when Numeric; return d else begin l, r = other.coerce(self) return l <=> r rescue NoMethodError end end nil end
def abs() self.class.new end
def abs() self.class.new end
def coerce(other)
def coerce(other) case other when Numeric; return -d, d else super end end
def d() @d end
def d() @d end
def finite?() false end
def finite?() false end
def infinite?() d.nonzero? end
def infinite?() d.nonzero? end
def initialize(d=1) @d = d <=> 0 end
def initialize(d=1) @d = d <=> 0 end
def nan?() d.zero? end
def nan?() d.zero? end
def to_f
def to_f return 0 if @d == 0 if @d > 0 Float::INFINITY else -Float::INFINITY end end
def zero?() false end
def zero?() false end