Method: Flt::FormatBase.unpack_fields_hash
- Defined in:
- lib/float-formats/classes.rb
.unpack_fields_hash(v) ⇒ Object
Converts en ancoded floating point number to hash containing the internal fields that define the number. Accepts either a Value or a byte String.
893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 |
# File 'lib/float-formats/classes.rb', line 893 def self.unpack_fields_hash(v) a = unpack_fields(v) h = {} if @splitted_fields.nil? (0...a.size).each do |i| h[@field_meaning[i]] = a[i] end else @fields.each_key do |f| splits = @splitted_fields[f] if splits v = 0 k = 1 splits.each do |i| v += k*a[i] k *= fields_radix**(@field_lengths[i]) end h[f] = v else h[f] = a[@field_meaning.index(f)] end end end h end |