[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