Author: Carl Friedrich Bolz <[email protected]>
Branch: space-newtext
Changeset: r88051:3c3faf4c7f55
Date: 2016-11-01 19:13 +0100
http://bitbucket.org/pypy/pypy/changeset/3c3faf4c7f55/
Log: itertools
diff --git a/pypy/module/errno/__init__.py b/pypy/module/errno/__init__.py
--- a/pypy/module/errno/__init__.py
+++ b/pypy/module/errno/__init__.py
@@ -22,5 +22,5 @@
for name in dir(errno):
if name.startswith('__') or name in Module.interpleveldefs:
continue
- Module.interpleveldefs[name] = ("space.wrap(%s)" %
+ Module.interpleveldefs[name] = ("space.newint(%s)" %
(getattr(errno, name), ))
diff --git a/pypy/module/errno/interp_errno.py
b/pypy/module/errno/interp_errno.py
--- a/pypy/module/errno/interp_errno.py
+++ b/pypy/module/errno/interp_errno.py
@@ -1,5 +1,5 @@
import errno
def get_errorcode(space):
- return space.wrap(errno.errorcode)
+ return space.newint(errno.errorcode)
diff --git a/pypy/module/itertools/interp_itertools.py
b/pypy/module/itertools/interp_itertools.py
--- a/pypy/module/itertools/interp_itertools.py
+++ b/pypy/module/itertools/interp_itertools.py
@@ -12,7 +12,7 @@
self.w_step = w_step
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
w_c = self.w_c
@@ -22,7 +22,7 @@
def single_argument(self):
space = self.space
return (space.isinstance_w(self.w_step, space.w_int) and
- space.eq_w(self.w_step, space.wrap(1)))
+ space.eq_w(self.w_step, space.newint(1)))
def repr_w(self):
space = self.space
@@ -32,7 +32,7 @@
else:
step = space.str_w(space.repr(self.w_step))
s = 'count(%s, %s)' % (c, step)
- return self.space.wrap(s)
+ return self.space.newtext(s)
def reduce_w(self):
space = self.space
@@ -54,7 +54,7 @@
check_number(space, w_step)
r = space.allocate_instance(W_Count, w_subtype)
r.__init__(space, w_start, w_step)
- return space.wrap(r)
+ return r
W_Count.typedef = TypeDef(
'itertools.count',
@@ -98,12 +98,12 @@
return self.w_obj
def iter_w(self):
- return self.space.wrap(self)
+ return self
def length_w(self):
if not self.counting:
return self.space.w_NotImplemented
- return self.space.wrap(self.count)
+ return self.space.newint(self.count)
def repr_w(self):
objrepr = self.space.str_w(self.space.repr(self.w_obj))
@@ -111,12 +111,12 @@
s = 'repeat(%s, %d)' % (objrepr, self.count)
else:
s = 'repeat(%s)' % (objrepr,)
- return self.space.wrap(s)
+ return self.space.newtext(s)
def W_Repeat___new__(space, w_subtype, w_object, w_times=None):
r = space.allocate_instance(W_Repeat, w_subtype)
r.__init__(space, w_object, w_times)
- return space.wrap(r)
+ return r
W_Repeat.typedef = TypeDef(
'itertools.repeat',
@@ -151,7 +151,7 @@
self.stopped = False
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
if self.stopped:
@@ -168,7 +168,7 @@
def W_TakeWhile___new__(space, w_subtype, w_predicate, w_iterable):
r = space.allocate_instance(W_TakeWhile, w_subtype)
r.__init__(space, w_predicate, w_iterable)
- return space.wrap(r)
+ return r
W_TakeWhile.typedef = TypeDef(
@@ -198,7 +198,7 @@
self.started = False
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
if self.started:
@@ -216,7 +216,7 @@
def W_DropWhile___new__(space, w_subtype, w_predicate, w_iterable):
r = space.allocate_instance(W_DropWhile, w_subtype)
r.__init__(space, w_predicate, w_iterable)
- return space.wrap(r)
+ return r
W_DropWhile.typedef = TypeDef(
@@ -253,7 +253,7 @@
self.iterable = space.iter(w_iterable)
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
while True:
@@ -273,7 +273,7 @@
def W_IFilter___new__(space, w_subtype, w_predicate, w_iterable):
r = space.allocate_instance(W_IFilter, w_subtype)
r.__init__(space, w_predicate, w_iterable)
- return space.wrap(r)
+ return r
W_IFilter.typedef = TypeDef(
'itertools.ifilter',
@@ -300,7 +300,7 @@
def W_IFilterFalse___new__(space, w_subtype, w_predicate, w_iterable):
r = space.allocate_instance(W_IFilterFalse, w_subtype)
r.__init__(space, w_predicate, w_iterable)
- return space.wrap(r)
+ return r
W_IFilterFalse.typedef = TypeDef(
'itertools.ifilterfalse',
@@ -379,11 +379,11 @@
raise
result = -1
if result < minimum:
- raise OperationError(space.w_ValueError, space.wrap(errormsg))
+ raise OperationError(space.w_ValueError, space.newtext(errormsg))
return result
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
if self.start >= 0: # first call only
@@ -437,7 +437,7 @@
def W_ISlice___new__(space, w_subtype, w_iterable, w_startstop, args_w):
r = space.allocate_instance(W_ISlice, w_subtype)
r.__init__(space, w_iterable, w_startstop, args_w)
- return space.wrap(r)
+ return r
W_ISlice.typedef = TypeDef(
'itertools.islice',
@@ -465,7 +465,7 @@
self.w_it = None
def iter_w(self):
- return self.space.wrap(self)
+ return self
def _advance(self):
self.w_it = self.space.iter(self.space.next(self.w_iterables))
@@ -492,7 +492,7 @@
r = space.allocate_instance(W_Chain, w_subtype)
w_args = space.newtuple(args_w)
r.__init__(space, space.iter(w_args))
- return space.wrap(r)
+ return r
def chain_from_iterable(space, w_cls, w_arg):
"""chain.from_iterable(iterable) --> chain object
@@ -501,7 +501,7 @@
that evaluates lazily."""
r = space.allocate_instance(W_Chain, w_cls)
r.__init__(space, space.iter(w_arg))
- return space.wrap(r)
+ return r
W_Chain.typedef = TypeDef(
'itertools.chain',
@@ -554,7 +554,7 @@
self.iterators_w = iterators_w
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
# common case: 1 or 2 arguments
@@ -584,7 +584,7 @@
"imap() must have at least two arguments")
r = space.allocate_instance(W_IMap, w_subtype)
r.__init__(space, w_fun, args_w)
- return space.wrap(r)
+ return r
W_IMap.typedef = TypeDef(
'itertools.imap',
@@ -628,7 +628,7 @@
def W_IZip___new__(space, w_subtype, args_w):
r = space.allocate_instance(W_IZip, w_subtype)
r.__init__(space, space.w_None, args_w)
- return space.wrap(r)
+ return r
W_IZip.typedef = TypeDef(
'itertools.izip',
@@ -701,7 +701,7 @@
self.w_fillvalue = w_fillvalue
self.active = len(self.iterators_w)
- return space.wrap(self)
+ return self
W_IZipLongest.typedef = TypeDef(
'itertools.izip_longest',
@@ -726,7 +726,7 @@
self.exhausted = False
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
if self.exhausted:
@@ -759,7 +759,7 @@
def W_Cycle___new__(space, w_subtype, w_iterable):
r = space.allocate_instance(W_Cycle, w_subtype)
r.__init__(space, w_iterable)
- return space.wrap(r)
+ return r
W_Cycle.typedef = TypeDef(
'itertools.cycle',
@@ -790,7 +790,7 @@
self.w_iterable = self.space.iter(w_iterable)
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
w_obj = self.space.next(self.w_iterable)
@@ -799,7 +799,7 @@
def W_StarMap___new__(space, w_subtype, w_fun, w_iterable):
r = space.allocate_instance(W_StarMap, w_subtype)
r.__init__(space, w_fun, w_iterable)
- return space.wrap(r)
+ return r
W_StarMap.typedef = TypeDef(
'itertools.starmap',
@@ -855,7 +855,7 @@
if n < 0:
raise oefmt(space.w_ValueError, "n must be >= 0")
- if space.findattr(w_iterable, space.wrap("__copy__")) is not None:
+ if space.findattr(w_iterable, space.newtext("__copy__")) is not None:
# In this case, we don't instantiate any W_TeeIterable.
# We just rely on doing repeated __copy__(). This case
# includes the situation where w_iterable is already
@@ -867,8 +867,7 @@
else:
w_iterator = space.iter(w_iterable)
chained_list = TeeChainedListNode()
- iterators_w = [space.wrap(
- W_TeeIterable(space, w_iterator, chained_list))
+ iterators_w = [W_TeeIterable(space, w_iterator, chained_list)
for x in range(n)]
return space.newtuple(iterators_w)
@@ -884,7 +883,7 @@
self.chained_list = chained_list
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
chained_list = self.chained_list
@@ -899,7 +898,7 @@
def copy_w(self):
space = self.space
tee_iter = W_TeeIterable(space, self.w_iterator, self.chained_list)
- return space.wrap(tee_iter)
+ return tee_iter
def W_TeeIterable___new__(space, w_subtype, w_iterable):
# Obscure and undocumented function. PyPy only supports w_iterable
@@ -908,8 +907,7 @@
# semantics are then slightly different; see the XXX in lib-python's
# test_itertools).
myiter = space.interp_w(W_TeeIterable, w_iterable)
- return space.wrap(W_TeeIterable(space, myiter.w_iterator,
- myiter.chained_list))
+ return W_TeeIterable(space, myiter.w_iterator, myiter.chained_list)
W_TeeIterable.typedef = TypeDef(
'itertools._tee',
@@ -940,7 +938,7 @@
self.w_key = self.space.w_None
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
if self.exhausted:
@@ -966,7 +964,7 @@
self.lookahead = True
self.new_group = False
- w_iterator = self.space.wrap(W_GroupByIterator(self.space, self.index,
self))
+ w_iterator = W_GroupByIterator(self.space, self.index, self)
return self.space.newtuple([self.w_key, w_iterator])
def _consume_unwanted_input(self):
@@ -1013,7 +1011,7 @@
def W_GroupBy___new__(space, w_subtype, w_iterable, w_key=None):
r = space.allocate_instance(W_GroupBy, w_subtype)
r.__init__(space, w_iterable, w_key)
- return space.wrap(r)
+ return r
W_GroupBy.typedef = TypeDef(
'itertools.groupby',
@@ -1048,7 +1046,7 @@
self.exhausted = False
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
if self.exhausted:
@@ -1076,7 +1074,7 @@
self.w_selectors = space.iter(w_selectors)
def iter_w(self):
- return self.space.wrap(self)
+ return self
def next_w(self):
# No need to check for StopIteration since either w_data
@@ -1091,7 +1089,7 @@
def W_Compress__new__(space, w_subtype, w_data, w_selectors):
r = space.allocate_instance(W_Compress, w_subtype)
r.__init__(space, w_data, w_selectors)
- return space.wrap(r)
+ return r
W_Compress.typedef = TypeDef(
'itertools.compress',
@@ -1163,7 +1161,7 @@
self.lst = None
def iter_w(self, space):
- return space.wrap(self)
+ return self
def next_w(self, space):
if self.lst is None:
@@ -1175,7 +1173,7 @@
def W_Product__new__(space, w_subtype, __args__):
arguments_w, kwds_w = __args__.unpack()
- w_repeat = space.wrap(1)
+ w_repeat = space.newint(1)
if kwds_w:
if 'repeat' in kwds_w:
w_repeat = kwds_w['repeat']
@@ -1186,7 +1184,7 @@
r = space.allocate_instance(W_Product, w_subtype)
r.__init__(space, arguments_w, w_repeat)
- return space.wrap(r)
+ return r
W_Product.typedef = TypeDef(
'itertools.product',
@@ -1288,7 +1286,7 @@
indices = range(len(pool_w))
res = space.allocate_instance(W_Combinations, w_subtype)
res.__init__(space, pool_w, indices, r)
- return space.wrap(res)
+ return res
W_Combinations.typedef = TypeDef("itertools.combinations",
__new__ = interp2app(W_Combinations__new__),
@@ -1321,7 +1319,7 @@
indices = [0] * r
res = space.allocate_instance(W_CombinationsWithReplacement, w_subtype)
res.__init__(space, pool_w, indices, r)
- return space.wrap(res)
+ return res
W_CombinationsWithReplacement.typedef = TypeDef(
"itertools.combinations_with_replacement",
@@ -1387,7 +1385,7 @@
r = space.gateway_nonnegint_w(w_r)
res = space.allocate_instance(W_Permutations, w_subtype)
res.__init__(space, pool_w, r)
- return space.wrap(res)
+ return res
W_Permutations.typedef = TypeDef("itertools.permutations",
__new__ = interp2app(W_Permutations__new__),
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit