On Mon, 2024-08-26 at 11:26 -0400, Marten van Kerkwijk wrote:
> I think a NEP is a good idea.  It would also seem to make sense to
> consider how the dtype itself can hold/calculate this type of
> information, since that will be the only way a generic ``info()``
> function can get information for a user-defined dtype.  Indeed,
> taking
> that further, might a method or property on the dtype itself be
> the cleaner interface?  I.e., one would do ``dtype.info().min`` or
> ``dtype.info.min``.
> 

I agree, I think it should be properties/attributes (I don't think it
needs to be a function, it should be cheap?)
Now it might also be that `np.finfo()` could keep working via
`dtype.finfo` or a dunder if we want to hide it.

In general, I would lean towards some form of attributes, even if I am
not sure if they should be `.info`, `.finfo`, or even directly on the
dtype.
(`.info.min` seems tricky, because I am not sure it is clear whether
inf or the minimum finite value is "min".)

A (potentially very short) NEP would probably help to get momentum on
making a decision.  I certainly would like to see this being worked on!

- Sebastian


> -- Marten
> 
> Nathan <nathan.goldb...@gmail.com> writes:
> 
> > That seems reasonable to me on its face. There are some corner
> > cases to work out though.
> > 
> > Swayam is tinkering with a quad precision dtype written using rhe
> > new DType API and just ran into the
> > fact that finfo doesn’t support user dtypes: 
> > 
> > https://github.com/numpy/numpy/issues/27231
> > 
> > IMO any new feature along these lines should have some thought in
> > the design about how to handle
> > user-defined data types.
> > 
> > Another thing to consider is that data types can be non-numeric
> > (things like categories) or number-like
> > but not really just a number like a quantity with a physical unit. 
> > That means you should also think
> > about what to do where fields like min and max don’t make any sense
> > or need to be a generic python
> > object rather than a numeric type.
> > 
> > I think if someone proposed a NEP that fully worked this out it
> > would be welcome. My understanding
> > is that the array API consortium prefers to standardize on APIs
> > that gain tractions in libraries rather
> > than inventing APIs and telling libraries to adopt them, so I think
> > a NEP is the right first step, rather
> > than trying to standardize something in the array API.
> > 
> > On Mon, Aug 26, 2024 at 8:06 AM Lucas Colley <
> > lucas.coll...@gmail.com> wrote:
> > 
> >  Or how about `np.dtype_info(dt)`, which could return an object
> > with attributes like `min` and `max
> >  `. Would that be possible?
> >  _______________________________________________
> >  NumPy-Discussion mailing list -- numpy-discussion@python.org
> >  To unsubscribe send an email to numpy-discussion-le...@python.org
> >  
> > https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> >  Member address: nathan12...@gmail.com
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: sebast...@sipsolutions.net


_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to