module BinData::Int
def create_read_assemble_code(nbits, endian, signed)
def create_read_assemble_code(nbits, endian, signed) nwords = nbits / bits_per_word(nbits) idx = (0 ... nwords).to_a idx.reverse! if (endian == :big) parts = (0 ... nwords).collect do |i| "(ints.at(#{idx[i]}) << #{bits_per_word(nbits) * i})" end parts[0].sub!(/ << 0\b/, "") # Remove " << 0" for optimisation assemble_str = parts.join(" + ") end