module BinData::Int

def create_read_assemble_code(nbits, endian)

def create_read_assemble_code(nbits, endian)
  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] = parts[0].sub(/ << 0\b/, "")  # Remove " << 0" for optimisation
  parts.join(" + ")
end