Source

pypy / pypy / objspace / std / smalltupleobject.py

Author Commit Message Labels Comments Date
Alexander Hesse
Moved pypy.tool.pairtype and pypy.tool.sourcetools to rpython. Fixed missing rename in bin/rpython
Branches
split-rpython
Alexander Hesse
Initial package rename: pypy.rpython -> rpython.rtyper pypy.translator -> rpython.translator pypy.rlib -> rpython.rlib pypy.jit -> rpython.jit pypy.objspace.flow -> rpython.flowspace pypy.annotation -> rpython.annotator
Branches
split-rpython
Armin Rigo
- fix space.fixedlist/unpackiterable/listview to handle directly tuples of any kind - fix the test to raise an OperationError, printing nicer tracebacks
Branches
SpecialisedTuples
Armin Rigo
Add the requirement that W_XxxObject classes that are different implementations of the same app-level type should inherit from a common base class more precise than W_Object. This is actually easy, just by adding some empty W_AbstractXxxObject classes here and there. This property allows us to build the _interplevel_classes for-speed-only dictionary in a way that doesn't depend on dictionary order. Previously it would randomly pick a class if there are several ones, which might be (if you're unluckly) not the most commonly used one.
Carl Friedrich Bolz
similarly, no need to call length here
Carl Friedrich Bolz
these loops are unrolled anyway, directly access the correct attribute instead of going through a switch again.
Carl Friedrich Bolz
kill silly XXXs
Lukas Diekmann
Added unwrap method needed for some tests in cpyext
Lukas Diekmann
Fixed cpyext to work with W_SmallTupleObjects
Lukas Diekmann
Forgot to add space to abstract function
Lukas Diekmann
Optimized eq- and hash-method in SmallTupleObject
Lukas Diekmann
Added hash-Method for small tuples
Lukas Diekmann
Implemented equals-Method for SmallTuples
Lukas Diekmann
Added more specialized SmallTupleObjects
Lukas Diekmann
Added small tuple with length 3
Lukas Diekmann
Implemented multiply for small tuples to fix identity error: (1,2,3)*1 is (1,2,3)
Lukas Diekmann
(l.diekmann, cfbolz): Implemented dynamic generation of small tuple classes
Lukas Diekmann
(l.diekmann, cfbolz): use implemented method instead
Lukas Diekmann
(l.diekmann, cfbolz): Added test slicing from small tuple
Lukas Diekmann
(l.diekmann, cfbolz): Implemented getitem and slicing for small tuples
Lukas Diekmann
(l.diekmann, cfbolz): Implemented length and getitem for small tuples
Lukas Diekmann
(l.diekmann, cfbolz): prepared supporting differently sized small tuples
Lukas Diekmann
(l.diekmann, cfbolz): Implemented rudimentary 2-tuple implementation. No operations implemented so far, delegates to normal Tuple.