class GreaterLess

Constants

GREATER_LESS

Public Instance Methods

*(numerical) click to toggle source
# File lib/greater_less.rb, line 205
def *(numerical)
  value, sign = if numerical.is_a? self.class
                  raise "Can't handle #{self.class}!" if @sign
                  [@float * numerical.value, @float > 0 ? numerical.sign : numerical.inverted_sign]
                else
                  [@float * numerical, numerical > 0 ? @sign : inverted_sign]
                end
  GreaterLess.new("#{sign} #{value}")
end
+(numerical) click to toggle source
# File lib/greater_less.rb, line 225
def +(numerical)
  value, sign = if numerical.is_a? self.class
                  raise "Can't handle #{self.class}!" if @sign
                  [@float + numerical.value, numerical.sign]
                else
                  [@float + numerical, @sign]
                end
  GreaterLess.new("#{sign} #{value}")
end
-(numerical) click to toggle source
# File lib/greater_less.rb, line 235
def -(numerical)
  self + -numerical
end
-@() click to toggle source
# File lib/greater_less.rb, line 239
def -@
  GreaterLess.new("#{inverted_sign} -#{value}")
end
/(numerical) click to toggle source
# File lib/greater_less.rb, line 215
def /(numerical)
  value, sign = if numerical.is_a? self.class
                  raise "Can't handle #{self.class}!" if @sign
                  [@float / numerical.value, @float > 0 ? numerical.inverted_sign : numerical.sign]
                else
                  [@float / numerical, numerical > 0 ? @sign : inverted_sign]
                end
  GreaterLess.new("#{sign} #{value}")
end
<(numerical) click to toggle source
# File lib/greater_less.rb, line 189
def <(numerical)
  numerical > self
end
<=(numerical) click to toggle source
# File lib/greater_less.rb, line 201
def <=(numerical)
  self == numerical or self < numerical
end
==(numerical) click to toggle source
# File lib/greater_less.rb, line 173
def ==(numerical)
  if numerical.is_a? self.class
    @sign == numerical.sign and @float == numerical.value
  else
    false
  end
end
>(numerical) click to toggle source
# File lib/greater_less.rb, line 181
def >(numerical)
  if numerical.is_a? self.class
    @float >= numerical.value and [nil, ">"].include? @sign and [nil, "<"].include? numerical.sign
  else
    @float >= numerical and @sign == ">"
  end
end
>=(numerical) click to toggle source
# File lib/greater_less.rb, line 197
def >=(numerical)
  self == numerical or self > numerical
end