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