Method: Flt::IEEE.interchange_binary
- Defined in:
- lib/float-formats/formats.rb
.interchange_binary(name, width_in_bits, options = {}) ⇒ Object
Define an IEEE binary interchange format given its width in bits
36 37 38 39 40 41 42 |
# File 'lib/float-formats/formats.rb', line 36 def self.interchange_binary(name,width_in_bits, ={}) unless (width_in_bits%32)==0 && (width_in_bits/32)>=4 raise "Invalid IEEE binary interchange format definition: size (#{width_in_bits}) is not valid" end p = width_in_bits - (4*Math.log(width_in_bits)/Math.log(2)).round.to_i + 13 binary(name, { significand: p-1, exponent: width_in_bits-p }.merge()) end |