Fix overflow in size calculation #32
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When I try to write out a large file in RAT format, I get warnings about overflow and size mismatches. This occurs because the items in the
shape
member have typenumpy.int32
, and multiplyingshape[0] * shape[1]
causes an overflow for images larger than 2 gigapixels. Theprod
function in Numpy promotes to the native integer type, which is usually 64-bits these days. If we wanted to guarantee that behavior we could further specifydtype='int64'
.I'm guessing this issue is specific to numpy versions >= 2.0 when various type promotion rules were changed (NEP 50). I'm using numpy v2.2.4.