Sha256: 516ba93929af494be607889b2988b2f16e909d8122f8911289493c50627d96b8

Contents?: true

Size: 694 Bytes

Versions: 1

Compression:

Stored size: 694 Bytes

Contents

# by Michael Neumann

module ByteOrder 
  Native = :Native
  BigEndian = Big = Network = :BigEndian
  LittleEndian = Little = :LittleEndian

  # examines the byte order of the underlying machine
  def byte_order
    if [0x12345678].pack("L") == "\x12\x34\x56\x78" 
      BigEndian
    else
      LittleEndian
    end
  end

  alias byteorder byte_order 

  def little_endian?
    byte_order == LittleEndian
  end

  def big_endian?
    byte_order == BigEndian
  end

  alias little? little_endian? 
  alias big? big_endian?
  alias network? big_endian?

  module_function :byte_order, :byteorder
  module_function :little_endian?, :little?
  module_function :big_endian?, :big?, :network?
end 

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
carats-0.3.0 lib/carat/byteorder.rb