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

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Mon Aug 7 08:11:25 PDT 2017


3 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/1c7225c463b2/
Changeset:   1c7225c463b2
User:        ngoldbaum
Date:        2017-08-02 19:27:46+00:00
Summary:     Avoid integer overflow issues in RegionSelector. Fixes #1432
Affected #:  2 files

diff -r b8aedc8ed7a1da10290ac924dcf219eb854d0a52 -r 1c7225c463b290209a900b76d6fdce8dd2bbd695 yt/geometry/selection_routines.pyx
--- a/yt/geometry/selection_routines.pyx
+++ b/yt/geometry/selection_routines.pyx
@@ -920,15 +920,12 @@
             return 0
         if level == self.max_level:
             this_level = 1
-        cdef int si[3]
-        cdef int ei[3]
-        #print self.left_edge[0], self.left_edge[1], self.left_edge[2],
-        #print self.right_edge[0], self.right_edge[1], self.right_edge[2],
-        #print self.right_edge_shift[0], self.right_edge_shift[1], self.right_edge_shift[2]
+        cdef np.int64_t si[3]
+        cdef np.int64_t ei[3]
         if not self.check_period:
             for i in range(3):
-                si[i] = <int> ((self.left_edge[i] - left_edge[i])/dds[i])
-                ei[i] = <int> ((self.right_edge[i] - left_edge[i])/dds[i])
+                si[i] = <np.int64_t> ((self.left_edge[i] - left_edge[i])/dds[i])
+                ei[i] = <np.int64_t> ((self.right_edge[i] - left_edge[i])/dds[i])
                 si[i] = iclip(si[i] - 1, 0, dim[i])
                 ei[i] = iclip(ei[i] + 1, 0, dim[i])
         else:

diff -r b8aedc8ed7a1da10290ac924dcf219eb854d0a52 -r 1c7225c463b290209a900b76d6fdce8dd2bbd695 yt/utilities/lib/fp_utils.pxd
--- a/yt/utilities/lib/fp_utils.pxd
+++ b/yt/utilities/lib/fp_utils.pxd
@@ -16,7 +16,7 @@
 cimport numpy as np
 cimport cython
 
-cdef inline int imax(int i0, int i1) nogil:
+cdef inline np.int64_t imax(np.int64_t i0, np.int64_t i1) nogil:
     if i0 > i1: return i0
     return i1
 
@@ -24,7 +24,7 @@
     if f0 > f1: return f0
     return f1
 
-cdef inline int imin(int i0, int i1) nogil:
+cdef inline np.int64_t imin(np.int64_t i0, np.int64_t i1) nogil:
     if i0 < i1: return i0
     return i1
 
@@ -36,12 +36,12 @@
     if f0 < 0.0: return -f0
     return f0
 
-cdef inline int iclip(int i, int a, int b) nogil:
+cdef inline np.int64_t iclip(np.int64_t i, np.int64_t a, np.int64_t b) nogil:
     if i < a: return a
     if i > b: return b
     return i
 
-cdef inline int i64clip(np.int64_t i, np.int64_t a, np.int64_t b) nogil:
+cdef inline np.int64_t i64clip(np.int64_t i, np.int64_t a, np.int64_t b) nogil:
     if i < a: return a
     if i > b: return b
     return i


https://bitbucket.org/yt_analysis/yt/commits/978467e7917a/
Changeset:   978467e7917a
User:        ngoldbaum
Date:        2017-08-03 15:44:07+00:00
Summary:     add test that verifies child masks are correct for deeply nested AMR data
Affected #:  1 file

diff -r 1c7225c463b290209a900b76d6fdce8dd2bbd695 -r 978467e7917ab95bd26101e971ab3e5df026dc34 yt/frontends/enzo/tests/test_outputs.py
--- a/yt/frontends/enzo/tests/test_outputs.py
+++ b/yt/frontends/enzo/tests/test_outputs.py
@@ -20,7 +20,8 @@
     assert_equal, \
     requires_file, \
     units_override_check, \
-    assert_array_equal
+    assert_array_equal, \
+    assert_allclose_units
 from yt.utilities.answer_testing.framework import \
     requires_ds, \
     small_patch_amr, \
@@ -208,3 +209,13 @@
     image = plot.frb['density']
 
     assert (image > 0).all()
+
+    v, c = ds.find_max('density')
+
+    assert_allclose_units(v, ds.quan(0.005879315652144976, 'g/cm**3'))
+
+    c_actual = [0.49150732540021, 0.505260532936791, 0.49058055816398]
+    c_actual = ds.arr(c_actual, 'code_length')
+    assert_allclose_units(c, c_actual)
+
+    assert_equal(max([g['density'].max() for g in ds.index.grids]), v)


https://bitbucket.org/yt_analysis/yt/commits/bfd5887812b4/
Changeset:   bfd5887812b4
User:        ngoldbaum
Date:        2017-08-07 15:10:56+00:00
Summary:     Merge pull request #1521 from ngoldbaum/int-overflow

Avoid integer overflow issues in RegionSelector. Fixes #1432
Affected #:  3 files

diff -r 90ac8cf152c12131bdc709653db7e433c5ddd4d3 -r bfd5887812b4b0a8ec76b548e2f4021ba0b3c0eb yt/frontends/enzo/tests/test_outputs.py
--- a/yt/frontends/enzo/tests/test_outputs.py
+++ b/yt/frontends/enzo/tests/test_outputs.py
@@ -20,7 +20,8 @@
     assert_equal, \
     requires_file, \
     units_override_check, \
-    assert_array_equal
+    assert_array_equal, \
+    assert_allclose_units
 from yt.utilities.answer_testing.framework import \
     requires_ds, \
     small_patch_amr, \
@@ -208,3 +209,13 @@
     image = plot.frb['density']
 
     assert (image > 0).all()
+
+    v, c = ds.find_max('density')
+
+    assert_allclose_units(v, ds.quan(0.005879315652144976, 'g/cm**3'))
+
+    c_actual = [0.49150732540021, 0.505260532936791, 0.49058055816398]
+    c_actual = ds.arr(c_actual, 'code_length')
+    assert_allclose_units(c, c_actual)
+
+    assert_equal(max([g['density'].max() for g in ds.index.grids]), v)

diff -r 90ac8cf152c12131bdc709653db7e433c5ddd4d3 -r bfd5887812b4b0a8ec76b548e2f4021ba0b3c0eb yt/geometry/selection_routines.pyx
--- a/yt/geometry/selection_routines.pyx
+++ b/yt/geometry/selection_routines.pyx
@@ -920,15 +920,12 @@
             return 0
         if level == self.max_level:
             this_level = 1
-        cdef int si[3]
-        cdef int ei[3]
-        #print self.left_edge[0], self.left_edge[1], self.left_edge[2],
-        #print self.right_edge[0], self.right_edge[1], self.right_edge[2],
-        #print self.right_edge_shift[0], self.right_edge_shift[1], self.right_edge_shift[2]
+        cdef np.int64_t si[3]
+        cdef np.int64_t ei[3]
         if not self.check_period:
             for i in range(3):
-                si[i] = <int> ((self.left_edge[i] - left_edge[i])/dds[i])
-                ei[i] = <int> ((self.right_edge[i] - left_edge[i])/dds[i])
+                si[i] = <np.int64_t> ((self.left_edge[i] - left_edge[i])/dds[i])
+                ei[i] = <np.int64_t> ((self.right_edge[i] - left_edge[i])/dds[i])
                 si[i] = iclip(si[i] - 1, 0, dim[i])
                 ei[i] = iclip(ei[i] + 1, 0, dim[i])
         else:

diff -r 90ac8cf152c12131bdc709653db7e433c5ddd4d3 -r bfd5887812b4b0a8ec76b548e2f4021ba0b3c0eb yt/utilities/lib/fp_utils.pxd
--- a/yt/utilities/lib/fp_utils.pxd
+++ b/yt/utilities/lib/fp_utils.pxd
@@ -16,7 +16,7 @@
 cimport numpy as np
 cimport cython
 
-cdef inline int imax(int i0, int i1) nogil:
+cdef inline np.int64_t imax(np.int64_t i0, np.int64_t i1) nogil:
     if i0 > i1: return i0
     return i1
 
@@ -24,7 +24,7 @@
     if f0 > f1: return f0
     return f1
 
-cdef inline int imin(int i0, int i1) nogil:
+cdef inline np.int64_t imin(np.int64_t i0, np.int64_t i1) nogil:
     if i0 < i1: return i0
     return i1
 
@@ -36,12 +36,12 @@
     if f0 < 0.0: return -f0
     return f0
 
-cdef inline int iclip(int i, int a, int b) nogil:
+cdef inline np.int64_t iclip(np.int64_t i, np.int64_t a, np.int64_t b) nogil:
     if i < a: return a
     if i > b: return b
     return i
 
-cdef inline int i64clip(np.int64_t i, np.int64_t a, np.int64_t b) nogil:
+cdef inline np.int64_t i64clip(np.int64_t i, np.int64_t a, np.int64_t b) nogil:
     if i < a: return a
     if i > b: return b
     return i

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