cast.py 429 B

123456789101112131415161718192021222324252627
  1. print 'static const ui8 SAFE_LENS[4][15] = {'
  2. def nb(n, b):
  3. if n == 0:
  4. return [0]
  5. digits = []
  6. while n:
  7. digits.append(int(n % b))
  8. n /= b
  9. return digits[::-1]
  10. for p in (1, 2, 4, 8):
  11. def it1():
  12. for base in range(2, 17):
  13. m = 2 ** (8 * p) - 1
  14. yield len(nb(m, base)) - 1
  15. print ' {0, 0, ' + ', '.join(str(x) for x in it1()) + '},'
  16. print '};'