From 2ecb5ee1def7fec3b00f85c3cfc2c5ea0db5faa8 Mon Sep 17 00:00:00 2001 From: Hans Dembinski Date: Fri, 6 May 2016 21:07:34 -0400 Subject: [PATCH] fixing pysuite test --- build/CMakeLists.txt | 7 ++++--- src/python/histogram.cpp | 4 ++-- test/python_suite_test.py.in | 12 ++++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt index a6ad0b8d..d2cdb585 100644 --- a/build/CMakeLists.txt +++ b/build/CMakeLists.txt @@ -16,7 +16,7 @@ find_package(Boost 1.55 REQUIRED COMPONENTS iostreams serialization unit_test_framework) find_library(Boost_PYTHON_FOUND boost_python) # optional find_package(PythonLibs) # optional -find_package(Numpy 1.9) # optional +find_package(Numpy 11.7) # optional find_package(Sphinx) # optional add_definitions(-DBOOST_TEST_DYN_LINK) # for unit_test_framework @@ -49,8 +49,9 @@ if(Boost_PYTHON_FOUND AND PYTHONLIBS_FOUND AND USE_PYTHON) add_definitions(-DUSE_PYTHON) if(NUMPY_FOUND AND USE_NUMPY) + set(HAVE_NUMPY 1) include_directories(${NUMPY_INCLUDE_DIR}) - add_definitions(-DUSE_NUMPY) + add_definitions(-DHAVE_NUMPY) endif() add_library(pyhistogram MODULE @@ -78,7 +79,7 @@ if(BUILD_CHECKS) target_include_directories(speed_vs_root PUBLIC ${ROOT_INCLUDE_DIR}) target_link_libraries(speed_vs_root boost_histogram ${ROOT_LIBRARIES} ${LIBRARIES}) endif() - if(NUMPY_FOUND AND USE_NUMPY) + if(HAVE_NUMPY) # ugly hack to copy python script into build configure_file(../test/check/speed_vs_numpy.py speed_vs_numpy.py COPY_ONLY) endif() diff --git a/src/python/histogram.cpp b/src/python/histogram.cpp index 912a2612..d6a09ef1 100644 --- a/src/python/histogram.cpp +++ b/src/python/histogram.cpp @@ -5,7 +5,7 @@ #include #include #include -#ifdef USE_NUMPY +#ifdef HAVE_NUMPY # define NO_IMPORT_ARRAY # define PY_ARRAY_UNIQUE_SYMBOL boost_histogram_ARRAY_API # define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION @@ -59,7 +59,7 @@ histogram_fill(python::tuple args, python::dict kwargs) { if (kwargs) ow = kwargs["w"]; -#ifdef USE_NUMPY +#ifdef HAVE_NUMPY if (nargs == 2) { object o = args[1]; if (PySequence_Check(o.ptr())) { diff --git a/test/python_suite_test.py.in b/test/python_suite_test.py.in index 8bc7be21..49b06e82 100755 --- a/test/python_suite_test.py.in +++ b/test/python_suite_test.py.in @@ -7,8 +7,8 @@ import cPickle import StringIO import os -use_numpy = "@USE_NUMPY@" == "ON" -if use_numpy: +have_numpy = "@HAVE_NUMPY@" +if have_numpy: import numpy class test_regular_axis(unittest.TestCase): @@ -526,7 +526,7 @@ class histogram_test(unittest.TestCase): self.assertEqual(a.sum, b.sum) self.assertEqual(a, b) - @unittest.skipUnless(use_numpy, "requires build with numpy-support") + @unittest.skipUnless(have_numpy, "requires build with numpy-support") def test_numpy_conversion_0(self): a = histogram(integer_axis(0, 2, uoflow=False)) for i in xrange(100): @@ -547,7 +547,7 @@ class histogram_test(unittest.TestCase): # view does not follow underlying switch in word size self.assertFalse(numpy.all(v == b)) - @unittest.skipUnless(use_numpy, "requires build with numpy-support") + @unittest.skipUnless(have_numpy, "requires build with numpy-support") def test_numpy_conversion_1(self): a = histogram(integer_axis(0, 2, uoflow=False)) for i in xrange(10): @@ -558,7 +558,7 @@ class histogram_test(unittest.TestCase): self.assertTrue(numpy.all(b == numpy.array(((0, 0), (30, 90), (0, 0))))) self.assertTrue(numpy.all(v == b)) - @unittest.skipUnless(use_numpy, "requires build with numpy-support") + @unittest.skipUnless(have_numpy, "requires build with numpy-support") def test_fill_with_numpy_array_0(self): a = histogram(integer_axis(0, 2, uoflow=False)) a.fill(numpy.array([-1, 0, 1, 2, 1, 4])) @@ -584,7 +584,7 @@ class histogram_test(unittest.TestCase): self.assertEqual(a.value(1), 2) self.assertEqual(a.value(2), 3) - @unittest.skipUnless(use_numpy, "requires build with numpy-support") + @unittest.skipUnless(have_numpy, "requires build with numpy-support") def test_fill_with_numpy_array_1(self): a = histogram(integer_axis(0, 2, uoflow=False)) a.fill(numpy.array([-1, 0, 1, 2, 1, 4]),