[Numpy-discussion] Round away from zero (towards +/- infinity)

T J tjhnson at gmail.com
Wed Sep 24 13:23:46 EDT 2014


Is there a ufunc for rounding away from zero? Or do I need to do

    x2 = sign(x) * ceil(abs(x))

whenever I want to round away from zero? Maybe the following is better?

    x_ceil = ceil(x)
    x_floor = floor(x)
    x2 = where(x >= 0, x_ceil, x_floor)

Python's round function goes away from zero, so I am looking for the NumPy
equivalent (and using vectorize() seems undesirable). In this sense, it
seems that having a ufunc for this type of rounding could be helpful.

Aside: Is there interest in a more general around() that allows users to
specify alternative tie-breaking rules, with the default staying 'round
half to nearest even'? [1]

Also, what is the difference between NumPy's fix() and trunc() functions?
It seems like they achieve the same goal. trunc() was added in 1.3.0. So is
fix() just legacy?

---
[1]
http://stackoverflow.com/questions/16000574/tie-breaking-of-round-with-numpy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140924/a28347d0/attachment.html>


More information about the NumPy-Discussion mailing list