Sha256: 4912442e9e5a59821b4d86df0d2e9676b7d4fd39d957f40982277ffb9060c052

Contents?: true

Size: 344 Bytes

Versions: 38

Compression:

Stored size: 344 Bytes

Contents

module Backports
  class << self
    def float_to_integer(float)
      map_via_packing(float, 'D', 'q')
    end

    def integer_to_float(int)
      map_via_packing(int, 'q', 'D')
    end

    private
    def map_via_packing(nb, pack, unpack)
      result, = [nb.abs].pack(pack).unpack(unpack)
      nb < 0 ? -result : result
    end
  end
end

Version data entries

38 entries across 38 versions & 3 rubygems

Version Path
backports-3.25.0 lib/backports/tools/float_integer_conversion.rb
backports-3.24.1 lib/backports/tools/float_integer_conversion.rb
backports-3.24.0 lib/backports/tools/float_integer_conversion.rb
backports-3.23.0 lib/backports/tools/float_integer_conversion.rb
backports-3.22.1 lib/backports/tools/float_integer_conversion.rb
backports-3.22.0 lib/backports/tools/float_integer_conversion.rb
backports-3.21.0 lib/backports/tools/float_integer_conversion.rb
backports-3.20.2 lib/backports/tools/float_integer_conversion.rb
backports-3.20.1 lib/backports/tools/float_integer_conversion.rb
backports-3.20.0 lib/backports/tools/float_integer_conversion.rb
backports-3.19.0 lib/backports/tools/float_integer_conversion.rb
backports-3.18.2 lib/backports/tools/float_integer_conversion.rb
backports-3.18.1 lib/backports/tools/float_integer_conversion.rb
backports-3.18.0 lib/backports/tools/float_integer_conversion.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/backports-3.12.0/lib/backports/tools/float_integer_conversion.rb
backports-3.17.2 lib/backports/tools/float_integer_conversion.rb
backports-3.17.1 lib/backports/tools/float_integer_conversion.rb
backports-3.17.0 lib/backports/tools/float_integer_conversion.rb
backports-3.16.1 lib/backports/tools/float_integer_conversion.rb
backports-3.16.0 lib/backports/tools/float_integer_conversion.rb