[yt-svn] commit/yt: 3 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed May 18 11:20:41 PDT 2016
3 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/aeabb6b91093/
Changeset: aeabb6b91093
Branch: yt
User: MatthewTurk
Date: 2016-05-05 22:09:54+00:00
Summary: Switch out to a stateful index handler
Affected #: 1 file
diff -r 2f2c9e84c335e5d4be9c4eac86b1f67aed7e752f -r aeabb6b91093da1aef6e893ece39a4a49514b844 yt/data_objects/octree_subset.py
--- a/yt/data_objects/octree_subset.py
+++ b/yt/data_objects/octree_subset.py
@@ -433,57 +433,62 @@
self.base_region = base_region
self.base_selector = base_region.selector
+class OctreeSubsetBlockSlicePosition(object):
+ def __init__(self, ind, block_slice):
+ self.ind = ind
+ self.block_slice = block_slice
+ nz = self.block_slice.octree_subset.nz
+ self.ActiveDimensions = np.array([nz,nz,nz], dtype="int64")
+
+ def __getitem__(self, key):
+ bs = self.block_slice
+ rv = bs.octree_subset[key][:,:,:,self.ind]
+ if bs.octree_subset._block_reorder:
+ rv = rv.copy(order=bs.octree_subset._block_reorder)
+ return rv
+
+ @property
+ def id(self):
+ return self.ind
+
+ @property
+ def Level(self):
+ return self.block_slice._ires[0,0,0,self.ind]
+
+ @property
+ def LeftEdge(self):
+ LE = (self.block_slice._fcoords[0,0,0,self.ind,:]
+ - self.block_slice._fwidth[0,0,0,self.ind,:]*0.5)
+ return LE
+
+ @property
+ def RightEdge(self):
+ RE = (self.block_slice._fcoords[-1,-1,-1,self.ind,:]
+ + self.block_slice._fwidth[-1,-1,-1,self.ind,:]*0.5)
+ return RE
+
+ @property
+ def dds(self):
+ return self.block_slice._fwidth[0,0,0,self.ind,:]
+
+ def clear_data(self):
+ pass
+
+ def get_vertex_centered_data(self, *args, **kwargs):
+ raise NotImplementedError
+
+
class OctreeSubsetBlockSlice(object):
def __init__(self, octree_subset):
- self.ind = None
self.octree_subset = octree_subset
# Cache some attributes
- nz = octree_subset.nz
- self.ActiveDimensions = np.array([nz,nz,nz], dtype="int64")
for attr in ["ires", "icoords", "fcoords", "fwidth"]:
v = getattr(octree_subset, attr)
setattr(self, "_%s" % attr, octree_subset._reshape_vals(v))
def __iter__(self):
for i in range(self._ires.shape[-1]):
- self.ind = i
- yield i, self
-
- def clear_data(self):
- pass
-
- def __getitem__(self, key):
- rv = self.octree_subset[key][:,:,:,self.ind]
- if self.octree_subset._block_reorder:
- rv = rv.copy(order=self.octree_subset._block_reorder)
- return rv
-
- def get_vertex_centered_data(self, *args, **kwargs):
- raise NotImplementedError
-
- @property
- def id(self):
- return np.random.randint(1)
-
- @property
- def Level(self):
- return self._ires[0,0,0,self.ind]
-
- @property
- def LeftEdge(self):
- LE = (self._fcoords[0,0,0,self.ind,:]
- - self._fwidth[0,0,0,self.ind,:]*0.5)
- return LE
-
- @property
- def RightEdge(self):
- RE = (self._fcoords[-1,-1,-1,self.ind,:]
- + self._fwidth[-1,-1,-1,self.ind,:]*0.5)
- return RE
-
- @property
- def dds(self):
- return self._fwidth[0,0,0,self.ind,:]
+ yield i, OctreeSubsetBlockSlicePosition(i, self)
class YTPositionArray(YTArray):
@property
https://bitbucket.org/yt_analysis/yt/commits/709f120991e6/
Changeset: 709f120991e6
Branch: yt
User: ngoldbaum
Date: 2016-05-16 17:56:35+00:00
Summary: Fix remaining segfaults for octree construction
Affected #: 1 file
diff -r aeabb6b91093da1aef6e893ece39a4a49514b844 -r 709f120991e600640eb4b7e676d1d8dd0eac016e yt/utilities/lib/amr_kdtools.pyx
--- a/yt/utilities/lib/amr_kdtools.pyx
+++ b/yt/utilities/lib/amr_kdtools.pyx
@@ -438,7 +438,6 @@
# If best_dim is -1, then we have found a place where there are no choices.
# Exit out and set the node to None.
if best_dim == -1:
- print 'Failed to split grid.'
return -1
@@ -509,6 +508,11 @@
best_dim = dim
my_max = n_unique
my_split = (n_unique-1)/2
+ if best_dim == -1:
+ for i in range(3):
+ free(uniquedims[i])
+ free(uniquedims)
+ return -1, 0, 0, 0
# I recognize how lame this is.
cdef np.ndarray[np.float64_t, ndim=1] tarr = np.empty(my_max, dtype='float64')
for i in range(my_max):
https://bitbucket.org/yt_analysis/yt/commits/ff0ec06d8bd6/
Changeset: ff0ec06d8bd6
Branch: yt
User: bwkeller
Date: 2016-05-18 18:20:23+00:00
Summary: Merged in ngoldbaum/yt (pull request #2177)
Eliminate segfaults in KDTree construction
Affected #: 2 files
diff -r cfc61bdb1b70f6ae65acd4bad85e0aee069bbd62 -r ff0ec06d8bd66146811459f03f99c6cf7b7b0883 yt/data_objects/octree_subset.py
--- a/yt/data_objects/octree_subset.py
+++ b/yt/data_objects/octree_subset.py
@@ -433,57 +433,62 @@
self.base_region = base_region
self.base_selector = base_region.selector
+class OctreeSubsetBlockSlicePosition(object):
+ def __init__(self, ind, block_slice):
+ self.ind = ind
+ self.block_slice = block_slice
+ nz = self.block_slice.octree_subset.nz
+ self.ActiveDimensions = np.array([nz,nz,nz], dtype="int64")
+
+ def __getitem__(self, key):
+ bs = self.block_slice
+ rv = bs.octree_subset[key][:,:,:,self.ind]
+ if bs.octree_subset._block_reorder:
+ rv = rv.copy(order=bs.octree_subset._block_reorder)
+ return rv
+
+ @property
+ def id(self):
+ return self.ind
+
+ @property
+ def Level(self):
+ return self.block_slice._ires[0,0,0,self.ind]
+
+ @property
+ def LeftEdge(self):
+ LE = (self.block_slice._fcoords[0,0,0,self.ind,:]
+ - self.block_slice._fwidth[0,0,0,self.ind,:]*0.5)
+ return LE
+
+ @property
+ def RightEdge(self):
+ RE = (self.block_slice._fcoords[-1,-1,-1,self.ind,:]
+ + self.block_slice._fwidth[-1,-1,-1,self.ind,:]*0.5)
+ return RE
+
+ @property
+ def dds(self):
+ return self.block_slice._fwidth[0,0,0,self.ind,:]
+
+ def clear_data(self):
+ pass
+
+ def get_vertex_centered_data(self, *args, **kwargs):
+ raise NotImplementedError
+
+
class OctreeSubsetBlockSlice(object):
def __init__(self, octree_subset):
- self.ind = None
self.octree_subset = octree_subset
# Cache some attributes
- nz = octree_subset.nz
- self.ActiveDimensions = np.array([nz,nz,nz], dtype="int64")
for attr in ["ires", "icoords", "fcoords", "fwidth"]:
v = getattr(octree_subset, attr)
setattr(self, "_%s" % attr, octree_subset._reshape_vals(v))
def __iter__(self):
for i in range(self._ires.shape[-1]):
- self.ind = i
- yield i, self
-
- def clear_data(self):
- pass
-
- def __getitem__(self, key):
- rv = self.octree_subset[key][:,:,:,self.ind]
- if self.octree_subset._block_reorder:
- rv = rv.copy(order=self.octree_subset._block_reorder)
- return rv
-
- def get_vertex_centered_data(self, *args, **kwargs):
- raise NotImplementedError
-
- @property
- def id(self):
- return np.random.randint(1)
-
- @property
- def Level(self):
- return self._ires[0,0,0,self.ind]
-
- @property
- def LeftEdge(self):
- LE = (self._fcoords[0,0,0,self.ind,:]
- - self._fwidth[0,0,0,self.ind,:]*0.5)
- return LE
-
- @property
- def RightEdge(self):
- RE = (self._fcoords[-1,-1,-1,self.ind,:]
- + self._fwidth[-1,-1,-1,self.ind,:]*0.5)
- return RE
-
- @property
- def dds(self):
- return self._fwidth[0,0,0,self.ind,:]
+ yield i, OctreeSubsetBlockSlicePosition(i, self)
class YTPositionArray(YTArray):
@property
diff -r cfc61bdb1b70f6ae65acd4bad85e0aee069bbd62 -r ff0ec06d8bd66146811459f03f99c6cf7b7b0883 yt/utilities/lib/amr_kdtools.pyx
--- a/yt/utilities/lib/amr_kdtools.pyx
+++ b/yt/utilities/lib/amr_kdtools.pyx
@@ -438,7 +438,6 @@
# If best_dim is -1, then we have found a place where there are no choices.
# Exit out and set the node to None.
if best_dim == -1:
- print 'Failed to split grid.'
return -1
@@ -509,6 +508,11 @@
best_dim = dim
my_max = n_unique
my_split = (n_unique-1)/2
+ if best_dim == -1:
+ for i in range(3):
+ free(uniquedims[i])
+ free(uniquedims)
+ return -1, 0, 0, 0
# I recognize how lame this is.
cdef np.ndarray[np.float64_t, ndim=1] tarr = np.empty(my_max, dtype='float64')
for i in range(my_max):
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-svn-spacepope.org/attachments/20160518/ab80859f/attachment-0002.htm>
More information about the yt-svn
mailing list