[Numpy-discussion] Rounding to next lowest float

Colin J. Williams cjwilliams43@gmail....
Tue Oct 11 14:20:24 CDT 2011


If you are using integers, why not use Python's Long?

Colin W.

On 11/10/2011 2:00 PM, Matthew Brett wrote:
> Hi,
>
> Can anyone think of a clever way to round an integer to the next
> lowest integer represented in a particular floating point format?
>
> For example:
>
> In [247]: a = 2**25+3
>
> This is out of range of the continuous integers representable by float32, hence:
>
> In [248]: print a, int(np.float32(a))
> 33554435 33554436
>
> But I want to round down (floor) the integer in float32.  That is, in
> this case I want:
>
>>>> floor_exact(a, np.float32)
> 33554432
>
> I can break the float into its parts to do it:
>
> https://github.com/matthew-brett/nibabel/blob/f687bfc88d1676a09fc76c968a346bc81e4d0d04/nibabel/floating.py
>
> but that's obviously rather ugly...  Is there a simpler way?  I'm sure
> there is and I haven't thought of it...
>
> Best,
>
> Matthew
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20111011/ca4926e9/attachment-0001.html 


More information about the NumPy-Discussion mailing list