[Python-Dev] [Python-checkins] cpython (3.3): Issue #15814: Use hash function that is compatible with the equality
Nick Coghlan
ncoghlan at gmail.com
Sat Nov 3 10:38:55 CET 2012
On Sat, Nov 3, 2012 at 3:07 AM, stefan.krah <python-checkins at python.org> wrote:
> + # equality-hash invariant
> + x = ndarray(list(range(12)), shape=[12], format='B')
> + a = memoryview(nd)
> +
> + y = ndarray(list(range(12)), shape=[12], format='b')
> + b = memoryview(nd)
> +
> + z = ndarray(list(bytes(chr(x), 'latin-1') for x in range(12)),
> + shape=[12], format='c')
> + c = memoryview(nd)
> +
> + if (a == b):
> + self.assertEqual(hash(a), hash(b))
> +
> + if (a == c):
> + self.assertEqual(hash(a), hash(c))
> +
> + if (b == c):
> + self.assertEqual(hash(b), hash(c))
These checks could do with a comment explaining why the if statements
are needed (I'm assuming something to do with memory order).
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list