X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/29922fc0d0f64d23d1d64bc35510a824dc9266af..37342632a8bb95fe68ece90d18b8b69263edb83b:/utils/t/bits-testgen.py diff --git a/utils/t/bits-testgen.py b/utils/t/bits-testgen.py index 05e4baf..c43f496 100644 --- a/utils/t/bits-testgen.py +++ b/utils/t/bits-testgen.py @@ -7,6 +7,8 @@ import sys as SYS import random as R +if SYS.version_info >= (3,): xrange = range + NVEC = 64 WD = 64 LIMIT = 1 << WD @@ -23,33 +25,33 @@ if seed is None: SEED = R.randrange(0, 1 << 32) else: SEED = int(seed, 0) R.seed(SEED) -print '### Test vectors for 64-bit arithmetic macros' -print '### [generated; seed = 0x%08x]' % SEED +print('### Test vectors for 64-bit arithmetic macros') +print('### [generated; seed = 0x%08x]' % SEED) def rol(x, n): return ((x << n) | (x >> (WD - n))) & MASK def ror(x, n): return ((x >> n) | (x << (WD - n))) & MASK -def put(x): return '%0*x' % (WD/4, x) +def put(x): return '%0*x' % (WD//4, x) for name, func in [('lsl', lambda x, n: x << n), ('lsr', lambda x, n: x >> n), ('rol', rol), ('ror', ror)]: - print '\n%s64 {' % name + print('\n%s64 {' % name) for i in xrange(NVEC): x = R.randrange(LIMIT) sh = R.randrange(0, 70) & 63 - print ' %s %2d %s;' % (put(x), sh, put(func(x, sh) & MASK)) + print(' %s %2d %s;' % (put(x), sh, put(func(x, sh) & MASK))) for i in xrange(4): x = R.randrange(LIMIT) sh = 32 - print ' %s %2d %s;' % (put(x), sh, put(func(x, sh) & MASK)) - print '}' + print(' %s %2d %s;' % (put(x), sh, put(func(x, sh) & MASK))) + print('}') for name, func in [('add', lambda x, y: x + y), ('sub', lambda x, y: x - y)]: - print '\n%s64 {' % name + print('\n%s64 {' % name) for i in xrange(NVEC): x = R.randrange(LIMIT) y = R.randrange(LIMIT) - print ' %s %s %s;' % (put(x), put(y), put(func(x, y) & MASK)) - print '}' + print(' %s %s %s;' % (put(x), put(y), put(func(x, y) & MASK))) + print('}')