def makebytearraydata_w(space, w_source): # String-like argument try: buf = space.buffer_w(w_source, space.BUF_FULL_RO) except OperationError as e: if not e.match(space, space.w_TypeError): raise else: return list(buf.as_str()) # sequence of bytes w_iter = space.iter(w_source) length_hint = space.length_hint(w_source, 0) data = newlist_hint(length_hint) extended = 0 while True: try: w_item = space.next(w_iter) except OperationError as e: if not e.match(space, space.w_StopIteration): raise break value = getbytevalue(space, w_item) data.append(value) extended += 1 if extended < length_hint: resizelist_hint(data, extended) return data
def dummyfn(): lst = [] i = 0 while i < 30: i += 1 resizelist_hint(lst, i) lst.append(i) return glob.seen
def _from_byte_sequence(space, w_source): # Split off in a separate function for the JIT's benefit # and add a jitdriver with the type of w_iter as the green key w_iter = space.iter(w_source) length_hint = space.length_hint(w_source, 0) data = newlist_hint(length_hint) # _from_byte_sequence_loop(space, w_iter, data) # extended = len(data) if extended < length_hint: resizelist_hint(data, extended) return data
def f(i): l = [44] resizelist_hint(l, i) return len(l)
def f(z): x = [] resizelist_hint(x, 39) return len(x)
def _inplace_add(self, other): resizelist_hint(self._data, len(self._data) + len(other)) for i in range(len(other)): self._data.append(other[i])
w_iter = space.iter(w_source) length_hint = space.length_hint(w_source, 0) data = newlist_hint(length_hint) extended = 0 while True: try: w_item = space.next(w_iter) except OperationError, e: if not e.match(space, space.w_StopIteration): raise break value = getbytevalue(space, w_item) data.append(value) extended += 1 if extended < length_hint: resizelist_hint(data, extended) return data W_BytesObject.typedef = TypeDef( "bytes", __new__=interp2app(W_BytesObject.descr_new), __doc__="""bytes(iterable_of_ints) -> bytes bytes(string, encoding[, errors]) -> bytes bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer bytes(int) -> bytes object of size given by the parameter initialized with null bytes bytes() -> empty bytes object Construct an immutable array of bytes from: - an iterable yielding integers in range(256) - a text string encoded using the specified encoding
w_iter = space.iter(w_source) length_hint = space.length_hint(w_source, 0) data = newlist_hint(length_hint) extended = 0 while True: try: w_item = space.next(w_iter) except OperationError, e: if not e.match(space, space.w_StopIteration): raise break value = getbytevalue(space, w_item) data.append(value) extended += 1 if extended < length_hint: resizelist_hint(data, extended) return data def descr_bytearray__reduce__(space, w_self): from pypy.objspace.std.bytearrayobject import W_BytearrayObject assert isinstance(w_self, W_BytearrayObject) w_dict = w_self.getdict(space) if w_dict is None: w_dict = space.w_None return space.newtuple([ space.type(w_self), space.newtuple([ space.wrap(''.join(w_self.data).decode('latin-1')), space.wrap('latin-1')]), w_dict]) def _hex_digit_to_int(d):