[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-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /