diff --git a/tools/oneclick/base/common.py b/tools/oneclick/base/common.py index 658cbb715246b6a4641335f6c0dfb4a386366559..de1a5a092515562d7751a9c371c3bc081d3a927d 100644 --- a/tools/oneclick/base/common.py +++ b/tools/oneclick/base/common.py @@ -275,6 +275,8 @@ def do_until(method, val, op=operator.eq, ms_retry=10, s_timeout=4, **kwargs): if list_ok == 0: time.sleep(ms_retry/1000) if list_ok == 1: + #dur = time.time() - start + #print 'do_until:', dur return flat_data[0] def do_until_lt(method, val, ms_retry=10, s_timeout=4, **kwargs): return do_until(method, val, operator.lt, ms_retry, s_timeout, **kwargs) @@ -809,6 +811,20 @@ def find_all_file_paths(rootDir, fileName): return paths +def reverse_bits(num, nofBits): + """Reverse the order of the number of bits in the number value, e.g. to perform a index bit flip for an FFT""" + result = 0 + for i in range(nofBits): + result = (result << 1) + (num & 1) # flip order of bits + num >>= 1 + return result + + +def invert_msbit(num, nofBits): + """Invert the most significant bit of num, e.g. to perform an index fftshift()""" + return (num & (2**nofBits-1)) ^ (2**(nofBits-1)) # first mask bits of num and then invert MSbit + + ################################################################################ # Classes