# File lib/rqrcode/qrcode/qr_util.rb, line 135
    def QRUtil.get_length_in_bits(mode, version)
      if !QRMODE.value?(mode)
          raise QRCodeRunTimeError, "Unknown mode: #{mode}"
      end

      if version > 40
        raise QRCodeRunTimeError, "Unknown version: #{version}"
      end

      if version.between?(1, 9)
        # 1 - 9
        macro_version = 0
      elsif version <= 26
        # 10 - 26
        macro_version = 1
      elsif version <= 40
        # 27 - 40
        macro_version = 2
      end

      return BITS_FOR_MODE[mode][macro_version]
    end