diff --git a/numpy/core/arrayprint.py b/numpy/core/arrayprint.py index 282fbd1cfb7f..ba5fb607ce7b 100644 --- a/numpy/core/arrayprint.py +++ b/numpy/core/arrayprint.py @@ -23,6 +23,7 @@ datetime_data) from .fromnumeric import ravel from .numeric import asarray +import operator if sys.version_info[0] >= 3: _MAXINT = sys.maxsize @@ -155,19 +156,19 @@ def set_printoptions(precision=None, threshold=None, edgeitems=None, global _formatter if linewidth is not None: - _line_width = linewidth + _line_width = operator.index(linewidth) if threshold is not None: - _summaryThreshold = threshold + _summaryThreshold = operator.index(threshold) if edgeitems is not None: - _summaryEdgeItems = edgeitems + _summaryEdgeItems = operator.index(edgeitems) if precision is not None: - _float_output_precision = precision + _float_output_precision = operator.index(precision) if suppress is not None: _float_output_suppress_small = not not suppress if nanstr is not None: - _nan_str = nanstr + _nan_str = str(nanstr) if infstr is not None: - _inf_str = infstr + _inf_str = str(infstr) _formatter = formatter def get_printoptions(): diff --git a/numpy/core/tests/test_arrayprint.py b/numpy/core/tests/test_arrayprint.py index 5759a098496c..754cceb3e8ff 100644 --- a/numpy/core/tests/test_arrayprint.py +++ b/numpy/core/tests/test_arrayprint.py @@ -7,7 +7,7 @@ import numpy as np from numpy.compat import sixu from numpy.testing import ( - TestCase, run_module_suite, assert_, assert_equal + TestCase, run_module_suite, assert_, assert_equal, assert_raises ) class TestArrayRepr(object): @@ -157,6 +157,10 @@ def test_formatter_reset(self): np.set_printoptions(formatter={'float_kind':None}) assert_equal(repr(x), "array([ 0., 1., 2.])") + def test_type_check(self): + d = {} + assert_raises(TypeError, np.set_printoptions, d) + def test_unicode_object_array(): import sys if sys.version_info[0] >= 3: