module BinData::Int
def create_read_assemble_code(nbits, endian, signed)
def create_read_assemble_code(nbits, endian, signed) bits_per_word = bytes_per_word(nbits) * 8 nwords = nbits / bits_per_word idx = (0 ... nwords).to_a idx.reverse! if (endian == :big) parts = (0 ... nwords).collect do |i| if i.zero? "ints.at(#{idx[i]})" else "(ints.at(#{idx[i]}) << #{bits_per_word * i})" end end assemble_str = parts.join(" + ") end