[yt-svn] commit/yt: 3 new changesets

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Tue Mar 25 11:26:43 PDT 2014


3 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/3c5d8751fe67/
Changeset:   3c5d8751fe67
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-03-25 17:56:36
Summary:     Make it possible to pass an always_descend parameter to octree saving.
Affected #:  2 files

diff -r bc7abe74aa1e1bc01d6cbf0697733fd70ffe9cdd -r 3c5d8751fe67bb9ecb2bcb11f898100702c3f9b4 yt/geometry/oct_container.pyx
--- a/yt/geometry/oct_container.pyx
+++ b/yt/geometry/oct_container.pyx
@@ -492,7 +492,7 @@
             coords[:,i] += self.DLE[i]
         return coords
 
-    def save_octree(self):
+    def save_octree(self, always_descend = False):
         # Get the header
         header = dict(dims = (self.nn[0], self.nn[1], self.nn[2]),
                       left_edge = (self.DLE[0], self.DLE[1], self.DLE[2]),
@@ -507,10 +507,14 @@
         data.nz = 8
         cdef np.ndarray[np.uint8_t, ndim=1] ref_mask
         ref_mask = np.zeros(self.nocts * 8, dtype="uint8") - 1
-        data.array = <void *> ref_mask.data
+        cdef void *p[2]
+        cdef np.uint8_t ad = int(always_descend)
+        p[0] = <void *> &ad
+        p[1] = ref_mask.data
+        data.array = p
         # Enforce partial_coverage here
         self.visit_all_octs(selector, oct_visitors.store_octree, &data, 1)
-        header['octree'] = ref_mask
+        header['octree'] = ref_mask[:data.index-1]
         return header
 
     def selector_fill(self, SelectorObject selector,

diff -r bc7abe74aa1e1bc01d6cbf0697733fd70ffe9cdd -r 3c5d8751fe67bb9ecb2bcb11f898100702c3f9b4 yt/geometry/oct_visitors.pyx
--- a/yt/geometry/oct_visitors.pyx
+++ b/yt/geometry/oct_visitors.pyx
@@ -176,9 +176,14 @@
     arr[o.domain - 1] += 1
 
 cdef void store_octree(Oct *o, OctVisitorData *data, np.uint8_t selected):
-    cdef np.uint8_t *arr, res, ii
+    cdef np.uint8_t *arr, res, ii, *always_descend
     ii = cind(data.ind[0], data.ind[1], data.ind[2])
-    arr = <np.uint8_t *> data.array
+    cdef void **p = <void **> data.array
+    always_descend = <np.uint8_t *> p[0]
+    arr = <np.uint8_t *> p[1]
+    if always_descend[0] == 1 and data.last == o.domain_ind:
+        return
+    data.last = o.domain_ind
     if o.children == NULL or o.children[ii] == NULL:
         res = 0
     else:


https://bitbucket.org/yt_analysis/yt/commits/1f612e67b936/
Changeset:   1f612e67b936
Branch:      yt-3.0
User:        MatthewTurk
Date:        2014-03-25 18:14:06
Summary:     Fixing a test failure.
Affected #:  1 file

diff -r 3c5d8751fe67bb9ecb2bcb11f898100702c3f9b4 -r 1f612e67b936b6f4fa1bdeb4204a28db2514d4f5 yt/geometry/oct_container.pyx
--- a/yt/geometry/oct_container.pyx
+++ b/yt/geometry/oct_container.pyx
@@ -514,7 +514,9 @@
         data.array = p
         # Enforce partial_coverage here
         self.visit_all_octs(selector, oct_visitors.store_octree, &data, 1)
-        header['octree'] = ref_mask[:data.index-1]
+        if always_descend:
+            ref_mask = ref_mask[:data.index-1]
+        header['octree'] = ref_mask
         return header
 
     def selector_fill(self, SelectorObject selector,


https://bitbucket.org/yt_analysis/yt/commits/9594ac19008f/
Changeset:   9594ac19008f
Branch:      yt-3.0
User:        ngoldbaum
Date:        2014-03-25 19:26:34
Summary:     Merged in MatthewTurk/yt/yt-3.0 (pull request #759)

Make it possible to pass an always_descend parameter to octree saving.
Affected #:  2 files

diff -r dd346818141e863da09333691c2ba0bff9b52b85 -r 9594ac19008f7f6b936538bea4f109926a073e74 yt/geometry/oct_container.pyx
--- a/yt/geometry/oct_container.pyx
+++ b/yt/geometry/oct_container.pyx
@@ -492,7 +492,7 @@
             coords[:,i] += self.DLE[i]
         return coords
 
-    def save_octree(self):
+    def save_octree(self, always_descend = False):
         # Get the header
         header = dict(dims = (self.nn[0], self.nn[1], self.nn[2]),
                       left_edge = (self.DLE[0], self.DLE[1], self.DLE[2]),
@@ -507,9 +507,15 @@
         data.nz = 8
         cdef np.ndarray[np.uint8_t, ndim=1] ref_mask
         ref_mask = np.zeros(self.nocts * 8, dtype="uint8") - 1
-        data.array = <void *> ref_mask.data
+        cdef void *p[2]
+        cdef np.uint8_t ad = int(always_descend)
+        p[0] = <void *> &ad
+        p[1] = ref_mask.data
+        data.array = p
         # Enforce partial_coverage here
         self.visit_all_octs(selector, oct_visitors.store_octree, &data, 1)
+        if always_descend:
+            ref_mask = ref_mask[:data.index-1]
         header['octree'] = ref_mask
         return header
 

diff -r dd346818141e863da09333691c2ba0bff9b52b85 -r 9594ac19008f7f6b936538bea4f109926a073e74 yt/geometry/oct_visitors.pyx
--- a/yt/geometry/oct_visitors.pyx
+++ b/yt/geometry/oct_visitors.pyx
@@ -176,9 +176,14 @@
     arr[o.domain - 1] += 1
 
 cdef void store_octree(Oct *o, OctVisitorData *data, np.uint8_t selected):
-    cdef np.uint8_t *arr, res, ii
+    cdef np.uint8_t *arr, res, ii, *always_descend
     ii = cind(data.ind[0], data.ind[1], data.ind[2])
-    arr = <np.uint8_t *> data.array
+    cdef void **p = <void **> data.array
+    always_descend = <np.uint8_t *> p[0]
+    arr = <np.uint8_t *> p[1]
+    if always_descend[0] == 1 and data.last == o.domain_ind:
+        return
+    data.last = o.domain_ind
     if o.children == NULL or o.children[ii] == NULL:
         res = 0
     else:

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.



More information about the yt-svn mailing list