99# http://arrayfire.com/licenses/BSD-3-Clause
1010########################################################
1111
12+
1213def reverse_char (b ):
1314 b = (b & 0xF0 ) >> 4 | (b & 0x0F ) << 4
1415 b = (b & 0xCC ) >> 2 | (b & 0x33 ) << 2
@@ -18,23 +19,23 @@ def reverse_char(b):
1819
1920# http://stackoverflow.com/a/9144870/2192361
2021def reverse (x ):
21- x = ((x >> 1 ) & 0x55555555 ) | ((x & 0x55555555 ) << 1 )
22- x = ((x >> 2 ) & 0x33333333 ) | ((x & 0x33333333 ) << 2 )
23- x = ((x >> 4 ) & 0x0f0f0f0f ) | ((x & 0x0f0f0f0f ) << 4 )
24- x = ((x >> 8 ) & 0x00ff00ff ) | ((x & 0x00ff00ff ) << 8 )
25- x = ((x >> 16 ) & 0xffff ) | ((x & 0xffff ) << 16 );
22+ x = ((x >> 1 ) & 0x55555555 ) | ((x & 0x55555555 ) << 1 )
23+ x = ((x >> 2 ) & 0x33333333 ) | ((x & 0x33333333 ) << 2 )
24+ x = ((x >> 4 ) & 0x0F0F0F0F ) | ((x & 0x0F0F0F0F ) << 4 )
25+ x = ((x >> 8 ) & 0x00FF00FF ) | ((x & 0x00FF00FF ) << 8 )
26+ x = ((x >> 16 ) & 0xFFFF ) | ((x & 0xFFFF ) << 16 )
2627 return x
2728
2829
2930def read_idx (name ):
30- with open (name , 'rb' ) as f :
31+ with open (name , "rb" ) as f :
3132 # In the C++ version, bytes the size of 4 chars are being read
3233 # May not work properly in machines where a char is not 1 byte
3334 bytes_read = f .read (4 )
3435 bytes_read = bytearray (bytes_read )
3536
3637 if bytes_read [2 ] != 8 :
37- raise RuntimeError (' Unsupported data type' )
38+ raise RuntimeError (" Unsupported data type" )
3839
3940 numdims = bytes_read [3 ]
4041 elemsize = 1
@@ -48,11 +49,11 @@ def read_idx(name):
4849 # Big endian to little endian
4950 for j in range (4 ):
5051 bytes_read [j ] = reverse_char (bytes_read [j ])
51- bytes_read_int = int .from_bytes (bytes_read , ' little' )
52+ bytes_read_int = int .from_bytes (bytes_read , " little" )
5253 dim = reverse (bytes_read_int )
5354
54- elem = elem * dim ;
55- dims [i ] = dim ;
55+ elem = elem * dim
56+ dims [i ] = dim
5657
5758 # Read the data
5859 cdata = f .read (elem * elemsize )
@@ -61,13 +62,14 @@ def read_idx(name):
6162
6263 return (dims , data )
6364
64- if __name__ == '__main__' :
65+
66+ if __name__ == "__main__" :
6567 # Example usage of reverse_char
66- byte_value = 0b10101010
68+ byte_value = 0b10101010
6769 reversed_byte = reverse_char (byte_value )
6870 print (f"Original byte: { byte_value :08b} , Reversed byte: { reversed_byte :08b} " )
6971
7072 # Example usage of reverse
71- int_value = 0x12345678
73+ int_value = 0x12345678
7274 reversed_int = reverse (int_value )
73- print (f"Original int: { int_value :032b} , Reversed int: { reversed_int :032b} " )
75+ print (f"Original int: { int_value :032b} , Reversed int: { reversed_int :032b} " )
0 commit comments