Module: ByteOrder

Defined in:
lib/gdsii/byte_order.rb

Overview

ByteOrder is lifted from ruby-talk 107439, cited by Michael Neumann

Constant Summary collapse

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

Class Method Summary collapse

Class Method Details

.big?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/gdsii/byte_order.rb', line 30

def big_endian?
  byte_order == BigEndian
end

.big_endian?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/gdsii/byte_order.rb', line 25

def big_endian?
  byte_order == BigEndian
end

.byte_orderObject

examines the locale byte order on the running machine



11
12
13
14
15
16
17
# File 'lib/gdsii/byte_order.rb', line 11

def byte_order
  if [0x12345678].pack("L") == "\x12\x34\x56\x78" 
    BigEndian
  else
    LittleEndian
  end
end

.byteorderObject

examines the locale byte order on the running machine



18
19
20
21
22
23
24
# File 'lib/gdsii/byte_order.rb', line 18

def byte_order
  if [0x12345678].pack("L") == "\x12\x34\x56\x78" 
    BigEndian
  else
    LittleEndian
  end
end

.little?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/gdsii/byte_order.rb', line 29

def little_endian?
  byte_order == LittleEndian
end

.little_endian?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/gdsii/byte_order.rb', line 21

def little_endian?
  byte_order == LittleEndian
end

.network?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/gdsii/byte_order.rb', line 31

def big_endian?
  byte_order == BigEndian
end