On Wed, Feb 26, 2020 at 5:30 PM Ilhan Polat <ilhanpo...@gmail.com> wrote:
> Does this mean that np.round(np.float32(5)) return a 64 bit upcasted int? > > That would be really awkward for many reasons pandas frame size being > bloated just by rounding for an example. Or numpy array size growing for no > apparent reason > > I am not really sure if I understand why LSP should hold in this case to > be honest. Rounding is an operation specific for the number instance and > not for the generic class. > > > > > On Wed, Feb 26, 2020, 21:38 Robert Kern <robert.k...@gmail.com> wrote: > >> On Wed, Feb 26, 2020 at 3:19 PM Hameer Abbasi <einstein.edi...@gmail.com> >> wrote: >> >>> >>> There still remains the question, do we return Python ints or np.int64s? >>> >>> - Python ints have the advantage of not overflowing. >>> - If we decide to add __round__ to arrays in the future, Python ints >>> may become inconsistent with our design, as such a method will return an >>> int64 array. >>> >>> >>> >>> This was issue was discussed in the weekly triage meeting today, and the >>> following plan of action was proposed: >>> >>> - change scalar floats to return integers for __round__ (which >>> integer type was not discussed, I propose np.int64) >>> - not change anything else: not 0d arrays and not other numpy >>> functionality >>> >>> I think making numerical behavior different between arrays and numpy scalars with the same dtype, will create many happy debugging hours. (although I don't remember having been careful about the distinction between python scalars and numpy scalars in some time. I had some fun with integers in the scipy.stats discrete distributions, until they became floats) Josef > The only reason that float.__round__() was allowed to change to returning >> ints was because ints became unbounded. If we also change to returning an >> integer type, it should be a Python int. >> >> -- >> Robert Kern >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@python.org >> https://mail.python.org/mailman/listinfo/numpy-discussion >> > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion