def __init__(self, symbolSize, messageBytes, rsExpansionFactor): logging.info('RS EXPANSION FACTOR %s' % rsExpansionFactor) assert rsExpansionFactor > 1 self.width = symbolSize self.messageSymbols = int( math.ceil(float(messageBytes) * 8 / symbolSize)) self.encodedSize = int( math.ceil(float(self.messageSymbols) * rsExpansionFactor)) self.c = IntegerCodec(self.encodedSize, self.messageSymbols, symsize=symbolSize) self.extraSymbols = self.encodedSize - self.messageSymbols self.n = 3 self.messageBytes = int(messageBytes) self.encodedBits = math.ceil( float(self.encodedSize) * self.width * self.n) logging.info('ENCODED BITS %s' % self.encodedBits)