Method: Flt::FormatBase.pack_fields_hash
- Defined in:
- lib/float-formats/classes.rb
.pack_fields_hash(h) ⇒ Object
Produce an encoded floating point value using hash of the internal field values. Returns a Value.
922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 |
# File 'lib/float-formats/classes.rb', line 922 def self.pack_fields_hash(h) if @splitted_fields.nil? pack_fields @field_meaning.collect{|f| h[f]} else flds = [nil]*@field_meaning.size @fields.each_key do |f| splits = @splitted_fields[f] if splits v = h[f] splits.each do |i| k = fields_radix**(@field_lengths[i]) flds[i] = v % k v /= k end else flds[@field_meaning.index(f)] = h[f] end end pack_fields flds end end |