@@ -80,12 +80,12 @@ def UnpackFloats(
80
80
indexPos : int = bitPos // 8
81
81
bitPos %= 8
82
82
83
- scale : float = 1.0 / self .m_Range
83
+ scale : float = ( 1.0 / self .m_Range ) if self . m_Range else float ( 'inf' )
84
84
if numChunks == - 1 :
85
85
numChunks = self .m_NumItems // itemCountInChunk
86
- end = chunkStride * numChunks / 4
86
+ end = int ( chunkStride * numChunks / 4 )
87
87
data = []
88
- for index in (0 , end , chunkStride // 4 ):
88
+ for index in range (0 , end , chunkStride // 4 ):
89
89
for i in range (itemCountInChunk ):
90
90
x = 0 # uint
91
91
bits = 0
@@ -101,7 +101,8 @@ def UnpackFloats(
101
101
bitPos = 0
102
102
103
103
x &= uint ((1 << self .m_BitSize ) - 1 ) # (uint)(1 << m_BitSize) - 1u
104
- data .append (x / (scale * ((1 << self .m_BitSize ) - 1 )) + self .m_Start )
104
+ denomi = scale * ((1 << self .m_BitSize ) - 1 )
105
+ data .append ( (x / denomi if denomi else float ('inf' )) + self .m_Start )
105
106
106
107
return data
107
108
@@ -136,7 +137,7 @@ def UnpackInts(self):
136
137
for i in range (self .m_NumItems ):
137
138
bits = 0
138
139
entry = 0
139
- while bits << m_BitSize :
140
+ while bits < m_BitSize :
140
141
entry |= (self .m_Data [indexPos ] >> bitPos ) << bits
141
142
num = min (m_BitSize - bits , 8 - bitPos )
142
143
bitPos += num
0 commit comments