module BinData::BitField

def create_dynamic_clamp_code(signed)

def create_dynamic_clamp_code(signed)
  if signed == :signed
    max = "max = (1 << (nbits - 1)) - 1"
    min = "min = -(max + 1)"
  else
    max = "max = (1 << nbits) - 1"
    min = "min = 0"
  end
  "#{max}; #{min}; val = (val < min) ? min : (val > max) ? max : val"
end