Skip to content

Commit 1755311

Browse files
committed
Improve compression of short float arrays
1 parent e044a73 commit 1755311

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/biotite/structure/io/pdbx/compress.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,13 @@ def _compress_data(bcif_data, rtol, atol):
162162
best_encoding, size_compressed = _find_best_integer_compression(
163163
integer_array
164164
)
165-
if size_compressed < _data_size_in_file(bcif.BinaryCIFData(array)):
166-
return bcif.BinaryCIFData(array, [to_integer_encoding] + best_encoding)
165+
compressed_data = bcif.BinaryCIFData(
166+
array, [to_integer_encoding] + best_encoding
167+
)
168+
if _data_size_in_file(compressed_data) < _data_size_in_file(
169+
bcif.BinaryCIFData(array)
170+
):
171+
return compressed_data
167172
else:
168173
# The float array is smaller -> encode it directly as bytes
169174
return bcif.BinaryCIFData(array, [ByteArrayEncoding()])

0 commit comments

Comments
 (0)