[pypy-commit] pypy argsort-segfault: fix malloc, cleanup
mattip
noreply at buildbot.pypy.org
Fri Jun 14 14:58:25 CEST 2013
Author: Matti Picus <matti.picus at gmail.com>
Branch: argsort-segfault
Changeset: r64880:938d68eb8a73
Date: 2013-06-14 15:57 +0300
http://bitbucket.org/pypy/pypy/changeset/938d68eb8a73/
Log: fix malloc, cleanup
diff --git a/pypy/module/micronumpy/arrayimpl/sort.py b/pypy/module/micronumpy/arrayimpl/sort.py
--- a/pypy/module/micronumpy/arrayimpl/sort.py
+++ b/pypy/module/micronumpy/arrayimpl/sort.py
@@ -33,11 +33,8 @@
self.indexes = indexes
def __del__(self):
- print 'Repr.del',self.values
def getitem(self, item):
- #print 'getting',item,'of',self.size,self.values
- #print 'from',item*self.stride_size + self.start,'to',item*(self.stride_size+1) + self.start
if count < 2:
v = raw_storage_getitem(TP, self.values, item * self.stride_size
+ self.start)
@@ -79,7 +76,7 @@
indexes = dtype.itemtype.malloc(size*dtype.get_size())
values = alloc_raw_storage(size * stride_size,
track_allocation=False)
- Repr.__init__(self, index_stride_size, stride_size,
+ Repr.__init__(self, dtype.get_size(), stride_size,
size, values, indexes, start, start)
def __del__(self):
@@ -96,12 +93,10 @@
return lst.size
def arg_getitem_slice(lst, start, stop):
- print 'arg_getitem_slice',lst.values
retval = ArgArrayRepWithStorage(lst.index_stride_size, lst.stride_size,
stop-start)
for i in range(stop-start):
retval.setitem(i, lst.getitem(i+start))
- print 'arg_getitem_slice done',lst
return retval
if count < 2:
@@ -155,16 +150,13 @@
stride_size = arr.strides[axis]
index_stride_size = index_impl.strides[axis]
axis_size = arr.shape[axis]
- print '5'
while not iter.done():
for i in range(axis_size):
raw_storage_setitem(storage, i * index_stride_size +
index_iter.offset, i)
r = Repr(index_stride_size, stride_size, axis_size,
arr.get_storage(), storage, index_iter.offset, iter.offset)
- print '6'
ArgSort(r).sort()
- print '7'
iter.next()
index_iter.next()
return index_arr
More information about the pypy-commit
mailing list