bitmath icon indicating copy to clipboard operation
bitmath copied to clipboard

Make some kind of `sum` work, it doesn't now

Open tbielawa opened this issue 1 year ago • 0 comments

DESCRIPTION of the request - Make something like sum() but it must actually work for bitmath objects


Passing an array of bitmath objects into the built-in sum() function has unpredictable results.

In [78]: to_count = [Byte(1), MiB(1), GiB(1)]

In [79]: sum(to_count)
Out[79]: 3.0

In [80]: bitmath.best_prefix(sum(to_count))
Out[80]: Byte(3.0)

Which is incorrect:


In [76]: counted
Out[76]: Byte(1074790401.0)

In [77]: counted.best_prefix()
Out[77]: GiB(1.0009765634313226)

What you EXPECTED to happen: Expected sum to let bitmath objects use their built in rich comparison and numeric data model emulation methods.

What ACTUALLY happened: sum() seems to be using the instance.value attribute

VERSION of bitmath effected (git hashes are OK). Did you install from RPM, PyPi, source?

  • all versions from all sources

To Do

Add something to bitmath, like bitmath.sum to emulate the standard library function which is misbehaving.

tbielawa avatar May 25 '23 16:05 tbielawa