class Flt::FormatBase::FltFmtConversion

Public Class Methods

new(form_class, options={}) click to toggle source
# File lib/float-formats/classes.rb, line 946
def initialize(form_class, options={})
  @form_class = form_class
  @input_rounding = options[:input_rounding]
end

Public Instance Methods

exact?(value, options={}) click to toggle source
# File lib/float-formats/classes.rb, line 963
def exact?(value, options={})
  options[:exact]
end
number_of_digits(value, options={}) click to toggle source
# File lib/float-formats/classes.rb, line 959
def number_of_digits(value, options={})
  num_conversions.number_of_digits(value.to_num, options)
end
order_of_magnitude(value, options={}) click to toggle source
# File lib/float-formats/classes.rb, line 955
def order_of_magnitude(value, options={})
  num_conversions.order_of_maginitude(value.to_num, options)
end
read(numeral, exact_input, approximate_simplified) click to toggle source
# File lib/float-formats/classes.rb, line 972
def read(numeral, exact_input, approximate_simplified)
  num = num_conversions.read(numeral, exact_input, approximate_simplified)
  num = num.normalize(@form_class.context) if exact_input && @form_class.normalized?
  @form_class.num(num)
end
type() click to toggle source
# File lib/float-formats/classes.rb, line 951
def type
  @form_class
end
write(number, exact_input, output_rounding) click to toggle source
# File lib/float-formats/classes.rb, line 967
def write(number, exact_input, output_rounding)
  # assert_equal @form_class, number.class
  num_conversions.write(number.to_num, exact_input, output_rounding)
end

Private Instance Methods

num_conversions() click to toggle source
# File lib/float-formats/classes.rb, line 980
def num_conversions
  Numerals::Conversions[@form_class.context, input_rounding: @input_rounding]
end