[pypy-commit] pypy default: improvements to bytearray

fijal noreply at buildbot.pypy.org
Wed Nov 11 11:34:57 EST 2015


Author: fijal
Branch: 
Changeset: r80637:0ab30523c9ce
Date: 2015-11-11 17:35 +0100
http://bitbucket.org/pypy/pypy/changeset/0ab30523c9ce/

Log:	improvements to bytearray

diff --git a/pypy/objspace/std/bytearrayobject.py b/pypy/objspace/std/bytearrayobject.py
--- a/pypy/objspace/std/bytearrayobject.py
+++ b/pypy/objspace/std/bytearrayobject.py
@@ -1231,6 +1231,21 @@
     def setitem(self, index, char):
         self.data[index] = char
 
+    def getslice(self, start, stop, step, size):
+        if size == 0:
+            return ""
+        if step == 1:
+            assert 0 <= start <= stop
+            if start == 0 and stop == len(self.data):
+                return "".join(self.data)
+            return "".join(self.data[start:stop])
+        return Buffer.getslice(self, start, stop, step, size)
+
+    def setslice(self, start, string):
+        # No bounds checks.
+        for i in range(len(string)):
+            self.data[start + i] = string[i]
+
 
 @specialize.argtype(1)
 def _memcmp(selfvalue, buffer, length):


More information about the pypy-commit mailing list