Module: ByteOrder
- Defined in:
- lib/mega/byteorder.rb
Overview
:title: ByteOrder
ByteOrder module makes it possible to determine your systems byte order, either big or little endian.
Usage
ByteOrder.byteorder => :LittleEndian
Author(s)
-
Michael Neumann
Constant Summary collapse
- Native =
:Native
- BigEndian =
Big = Network = :BigEndian
- LittleEndian =
Little = :LittleEndian
Class Method Summary collapse
- .big? ⇒ Boolean
- .big_endian? ⇒ Boolean
-
.byte_order ⇒ Object
examines the byte order of the underlying machine.
-
.byteorder ⇒ Object
examines the byte order of the underlying machine.
- .little? ⇒ Boolean
- .little_endian? ⇒ Boolean
- .network? ⇒ Boolean
Class Method Details
.big? ⇒ Boolean
59 60 61 |
# File 'lib/mega/byteorder.rb', line 59 def big_endian? byte_order == BigEndian end |
.big_endian? ⇒ Boolean
54 55 56 |
# File 'lib/mega/byteorder.rb', line 54 def big_endian? byte_order == BigEndian end |
.byte_order ⇒ Object
examines the byte order of the underlying machine
40 41 42 43 44 45 46 |
# File 'lib/mega/byteorder.rb', line 40 def byte_order if [0x12345678].pack("L") == "\x12\x34\x56\x78" BigEndian else LittleEndian end end |
.byteorder ⇒ Object
examines the byte order of the underlying machine
48 49 50 51 52 53 54 |
# File 'lib/mega/byteorder.rb', line 48 def byte_order if [0x12345678].pack("L") == "\x12\x34\x56\x78" BigEndian else LittleEndian end end |
.little? ⇒ Boolean
58 59 60 |
# File 'lib/mega/byteorder.rb', line 58 def little_endian? byte_order == LittleEndian end |
.little_endian? ⇒ Boolean
50 51 52 |
# File 'lib/mega/byteorder.rb', line 50 def little_endian? byte_order == LittleEndian end |
.network? ⇒ Boolean
60 61 62 |
# File 'lib/mega/byteorder.rb', line 60 def big_endian? byte_order == BigEndian end |