class Maxima::Rational
Constants
- REGEX
Attributes
denominator[RW]
numerator[RW]
Public Class Methods
new(numerator, denominator, **options)
click to toggle source
Calls superclass method
# File lib/maxima/rational.rb, line 6 def initialize(numerator, denominator, **options) super(**options) @numerator = numerator @denominator = denominator end
parse(maxima_output)
click to toggle source
# File lib/maxima/rational.rb, line 13 def self.parse(maxima_output) _, numerator, denominator = REGEX.match(maxima_output).to_a return if numerator.nil? || denominator.nil? if numerator == 0 Float.new(0, maxima_output: maxima_output) else Rational.new(numerator.to_f, denominator.to_f, maxima_output: maxima_output) end rescue StandardError nil end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/maxima/rational.rb, line 39 def <=>(other) case other when ::Float, ::Rational, Float, Rational self.to_f <=> other.to_f else -1 end end
imaginary?()
click to toggle source
# File lib/maxima/rational.rb, line 31 def imaginary? false end
real?()
click to toggle source
# File lib/maxima/rational.rb, line 27 def real? true end
to_f()
click to toggle source
# File lib/maxima/rational.rb, line 35 def to_f @to_f ||= numerator.fdiv(denominator) end