Hi Robert, On Fri, 30 Dec 2011 20:05:14 +0000, Robert Kern <robert.k...@gmail.com> wrote: > On Fri, Dec 30, 2011 at 18:57, Andreas Kloeckner > <li...@informa.tiker.net> wrote: > > Hi Robert, > > > > On Tue, 27 Dec 2011 10:17:41 +0000, Robert Kern <robert.k...@gmail.com> > > wrote: > >> On Tue, Dec 27, 2011 at 01:22, Andreas Kloeckner > >> <li...@informa.tiker.net> wrote: > >> > Hi all, > >> > > >> > Two questions: > >> > > >> > - Are dtypes supposed to be comparable (i.e. implement '==', '!=')? > >> > >> Yes. > >> > >> > - Are dtypes supposed to be hashable? > >> > >> Yes, with caveats. Strictly speaking, we violate the condition that > >> objects that equal each other should hash equal since we define == to > >> be rather free. Namely, > >> > >> np.dtype(x) == x > >> > >> for all objects x that can be converted to a dtype. > >> > >> np.dtype(float) == np.dtype('float') > >> np.dtype(float) == float > >> np.dtype(float) == 'float' > >> > >> Since hash(float) != hash('float') we cannot implement > >> np.dtype.__hash__() to follow the stricture that objects that compare > >> equal should hash equal. > >> > >> However, if you restrict the domain of objects to just dtypes (i.e. > >> only consider dicts that use only actual dtype objects as keys instead > >> of arbitrary mixtures of objects), then the stricture is obeyed. This > >> is a useful domain that is used internally in numpy. > >> > >> Is this the problem that you found? > > > > Thanks for the reply. > > > > It doesn't seem like this is our issue--instead, we're encountering two > > different dtype objects that claim to be float64, compare as equal, but > > don't hash to the same value. > > > > I've asked the user who encountered the user to investigate, and I'll > > be back with more detail in a bit. > > I think we've run into this before and tried to fix it. Try to find > the version of numpy the user has and a minimal example, if you can.
This is what Thomas found: http://projects.scipy.org/numpy/ticket/2017 Hope this helps, Andreas
pgptsfHBbJ4iz.pgp
Description: PGP signature
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion