On Tue, Dec 10, 2024 at 02:59:12PM -0500, Nicolas Pitre wrote:
> This will fail on a 32-bit system where sizeof(long) == 32 and 
> ULONG_MAX == 4294967295. (meaning the result would be 65535).

Thank you for taking the time to review my patch and for pointing out the issue 
with the ULONG_MAX test case. I failed to think about how a 32-bit system would 
treat ULONG_MAX == 4294967295.

To address this, I was thinking of updating the test case to use a large enough 
value that remains within the bounds of unsigned long for both 32-bit and 
64-bit architectures instead. Specifically, 2147483648 (2^31), which has an 
integer square root of 46340. I believe this would ensure the test remains 
valid and portable across all supported architectures.

The updated test case would be as follows:
{ 2147483648, 46340, "large input"}

I'd appreciate any feedback on this proposed change and thanks again for your 
time Nicolas.

- Felipe

Reply via email to