module BinData::Int
def pack_directive(nbits, endian, signed)
def pack_directive(nbits, endian, signed) nwords = nbits / bits_per_word(nbits) directives = { 8 => 'C', 16 => 'S', 32 => 'L', 64 => 'Q' } d = directives[bits_per_word(nbits)] d += ((endian == :big) ? '>' : '<') unless d == 'C' if signed == :signed && directives.key?(nbits) (d * nwords).downcase else d * nwords end end