]> granicus.if.org Git - python/commitdiff
merge 3.3
authorBenjamin Peterson <benjamin@python.org>
Fri, 1 Jan 2016 17:55:47 +0000 (11:55 -0600)
committerBenjamin Peterson <benjamin@python.org>
Fri, 1 Jan 2016 17:55:47 +0000 (11:55 -0600)
1  2 
Doc/README.txt
Modules/_collectionsmodule.c
Modules/itertoolsmodule.c
Objects/setobject.c
README

diff --cc Doc/README.txt
Simple merge
Simple merge
Simple merge
index 304519c5d472af70209542e47fb11490da545fe0,fc17fa560ed52ac18a4f33d4430f90e859624829..61f1d94e46bea9ef8c620646796465a4eab0d312
@@@ -1,30 -1,7 +1,27 @@@
  
  /* set object implementation
 +
     Written and maintained by Raymond D. Hettinger <python@rcn.com>
     Derived from Lib/sets.py and Objects/dictobject.c.
-    Copyright (c) 2003-2013 Python Software Foundation.
-    All rights reserved.
 +
 +   The basic lookup function used by all operations.
 +   This is based on Algorithm D from Knuth Vol. 3, Sec. 6.4.
 +
 +   The initial probe index is computed as hash mod the table size.
 +   Subsequent probe indices are computed as explained in Objects/dictobject.c.
 +
 +   To improve cache locality, each probe inspects a series of consecutive
 +   nearby entries before moving on to probes elsewhere in memory.  This leaves
 +   us with a hybrid of linear probing and open addressing.  The linear probing
 +   reduces the cost of hash collisions because consecutive memory accesses
 +   tend to be much cheaper than scattered probes.  After LINEAR_PROBES steps,
 +   we then use open addressing with the upper bits from the hash value.  This
 +   helps break-up long chains of collisions.
 +
 +   All arithmetic on hash should ignore overflow.
 +
 +   Unlike the dictionary implementation, the lookkey functions can return
 +   NULL if the rich comparison returns an error.
  */
  
  #include "Python.h"
diff --cc README
Simple merge