summaryrefslogtreecommitdiff
path: root/numpy/core
diff options
context:
space:
mode:
authorMatthew Brett <matthew.brett@gmail.com>2015-09-21 10:22:25 -0700
committerMatthew Brett <matthew.brett@gmail.com>2015-09-21 10:22:25 -0700
commitedb902cdc6573553afcf11047ecdfb447e444322 (patch)
tree652aa01ac7a621b2b95f3307aefca6890ca62fb7 /numpy/core
parent3a2f05582ecd87d8aa599e435330f459e6a4d3ea (diff)
parent7f96e9d7ab678b636761313e22d03e73bb929520 (diff)
downloadnumpy-1.9.3.tar.gz
Merge pull request #6332 from matthew-brett/prepare-1.9.3v1.9.3
MRG: preparations for 1.9.3 release Backport of 7d6aa8c - gzip fix for Python 3.5 Backport of b08f369 - numpy.distutils patch to help homebrew Backport of various fixes for Windows builds on modern MSVC.
Diffstat (limited to 'numpy/core')
-rw-r--r--numpy/core/include/numpy/npy_math.h4
-rw-r--r--numpy/core/setup_common.py9
-rw-r--r--numpy/core/src/private/npy_config.h26
3 files changed, 36 insertions, 3 deletions
diff --git a/numpy/core/include/numpy/npy_math.h b/numpy/core/include/numpy/npy_math.h
index b7920460d..461651b08 100644
--- a/numpy/core/include/numpy/npy_math.h
+++ b/numpy/core/include/numpy/npy_math.h
@@ -164,7 +164,7 @@ double npy_spacing(double x);
#ifndef NPY_HAVE_DECL_ISNAN
#define npy_isnan(x) ((x) != (x))
#else
- #ifdef _MSC_VER
+ #if defined(_MSC_VER) && (_MSC_VER < 1900)
#define npy_isnan(x) _isnan((x))
#else
#define npy_isnan(x) isnan(x)
@@ -195,7 +195,7 @@ double npy_spacing(double x);
#ifndef NPY_HAVE_DECL_ISINF
#define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x))
#else
- #ifdef _MSC_VER
+ #if defined(_MSC_VER) && (_MSC_VER < 1900)
#define npy_isinf(x) (!_finite((x)) && !_isnan((x)))
#else
#define npy_isinf(x) isinf((x))
diff --git a/numpy/core/setup_common.py b/numpy/core/setup_common.py
index be5673a47..81eec041b 100644
--- a/numpy/core/setup_common.py
+++ b/numpy/core/setup_common.py
@@ -171,6 +171,15 @@ def check_long_double_representation(cmd):
cmd._check_compiler()
body = LONG_DOUBLE_REPRESENTATION_SRC % {'type': 'long double'}
+ # Disable whole program optimization (the default on vs2015, with python 3.5+)
+ # which generates intermediary object files and prevents checking the
+ # float representation.
+ if sys.platform == "win32":
+ try:
+ cmd.compiler.compile_options.remove("/GL")
+ except ValueError:
+ pass
+
# We need to use _compile because we need the object filename
src, object = cmd._compile(body, None, None, 'c')
try:
diff --git a/numpy/core/src/private/npy_config.h b/numpy/core/src/private/npy_config.h
index f768c9097..70a4c0c1f 100644
--- a/numpy/core/src/private/npy_config.h
+++ b/numpy/core/src/private/npy_config.h
@@ -6,9 +6,33 @@
#include "numpy/npy_cpu.h"
/* Disable broken MS math functions */
-#if defined(_MSC_VER) || defined(__MINGW32_VERSION)
+#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || defined(__MINGW32_VERSION)
+
#undef HAVE_ATAN2
+#undef HAVE_ATAN2F
+#undef HAVE_ATAN2L
+
#undef HAVE_HYPOT
+#undef HAVE_HYPOTF
+#undef HAVE_HYPOTL
+
+#endif
+
+#if defined(_MSC_VER) && (_MSC_VER == 1900)
+
+#undef HAVE_CASIN
+#undef HAVE_CASINF
+#undef HAVE_CASINL
+#undef HAVE_CASINH
+#undef HAVE_CASINHF
+#undef HAVE_CASINHL
+#undef HAVE_CATAN
+#undef HAVE_CATANF
+#undef HAVE_CATANL
+#undef HAVE_CATANH
+#undef HAVE_CATANHF
+#undef HAVE_CATANHL
+
#endif
/*