class Basic101::BasicNumeric

Attributes

value[R]

Public Class Methods

new(value) click to toggle source
# File lib/basic101/basic_numeric.rb, line 17
def initialize(value)
  @value = value
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/basic101/basic_numeric.rb, line 21
def <=>(other)
  return nil unless other.is_a?(BasicNumeric)
  value <=> other.value
end
abs() click to toggle source
# File lib/basic101/basic_numeric.rb, line 64
def abs
  self.class.new(@value.abs)
end
cos() click to toggle source
# File lib/basic101/basic_numeric.rb, line 88
def cos
  BasicFloat.new(Math.cos(@value))
end
exp() click to toggle source
# File lib/basic101/basic_numeric.rb, line 72
def exp
  BasicFloat.new(Math::E ** @value).simplest
end
log() click to toggle source
# File lib/basic101/basic_numeric.rb, line 80
def log
  BasicFloat.new(Math.log(@value))
end
negate() click to toggle source
# File lib/basic101/basic_numeric.rb, line 50
def negate
  self.class.new(-value)
end
print_new_line(output) click to toggle source
print_string(output) click to toggle source
sgn() click to toggle source
# File lib/basic101/basic_numeric.rb, line 76
def sgn 
  BasicInteger.new(@value <=> 0)
end
simplest() click to toggle source
# File lib/basic101/basic_numeric.rb, line 42
def simplest
  if @value.modulo(1) == 0
    to_integer
  else
    self
  end
end
sin() click to toggle source
# File lib/basic101/basic_numeric.rb, line 84
def sin
  BasicFloat.new(Math.sin(@value))
end
sqr() click to toggle source
# File lib/basic101/basic_numeric.rb, line 68
def sqr
  BasicFloat.new(@value ** 0.5).simplest
end
tan() click to toggle source
# File lib/basic101/basic_numeric.rb, line 92
def tan
  BasicFloat.new(Math.tan(@value))
end
to_b() click to toggle source
# File lib/basic101/basic_numeric.rb, line 38
def to_b
  to_i != 0
end
to_f() click to toggle source
# File lib/basic101/basic_numeric.rb, line 34
def to_f
  @value.to_f
end
to_i() click to toggle source
# File lib/basic101/basic_numeric.rb, line 30
def to_i
  @value.to_i
end
to_numeric() click to toggle source
# File lib/basic101/basic_numeric.rb, line 26
def to_numeric
  self
end