Skip to content

Commit

Permalink
DEP: drop support for msvc<=1900 and Interix (#22139)
Browse files Browse the repository at this point in the history
[ci skip]

Co-authored-by: h-vetinari <h.vetinari@gmx.com>
  • Loading branch information
mattip and h-vetinari committed Aug 19, 2022
1 parent 555c07f commit 17d730a
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 25 deletions.
4 changes: 4 additions & 0 deletions doc/release/upcoming_changes/22139.expired.rst
@@ -0,0 +1,4 @@
* Support for Visual Studio 2015 and earlier has been removed.

* Support for the Windows Interix POSIX interop layer has been removed.

12 changes: 2 additions & 10 deletions numpy/core/include/numpy/npy_math.h
Expand Up @@ -219,11 +219,7 @@ double npy_spacing(double x);
#ifndef NPY_HAVE_DECL_ISNAN
#define npy_isnan(x) ((x) != (x))
#else
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#define npy_isnan(x) _isnan((x))
#else
#define npy_isnan(x) isnan(x)
#endif
#define npy_isnan(x) isnan(x)
#endif
#endif

Expand All @@ -250,11 +246,7 @@ double npy_spacing(double x);
#ifndef NPY_HAVE_DECL_ISINF
#define npy_isinf(x) (!npy_isfinite(x) && !npy_isnan(x))
#else
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#define npy_isinf(x) (!_finite((x)) && !_isnan((x)))
#else
#define npy_isinf(x) isinf((x))
#endif
#define npy_isinf(x) isinf((x))
#endif
#endif

Expand Down
8 changes: 0 additions & 8 deletions numpy/core/setup.py
Expand Up @@ -257,14 +257,6 @@ def check_complex(config, mathlibs):
priv = []
pub = []

try:
if os.uname()[0] == "Interix":
warnings.warn("Disabling broken complex support. See #1365", stacklevel=2)
return priv, pub
except Exception:
# os.uname not available on all platforms. blanket except ugly but safe
pass

# Check for complex support
st = config.check_header('complex.h')
if st:
Expand Down
6 changes: 3 additions & 3 deletions numpy/core/src/common/npy_config.h
Expand Up @@ -29,7 +29,7 @@
#endif

/* Disable broken MS math functions */
#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || defined(__MINGW32_VERSION)
#if defined(__MINGW32_VERSION)

#undef HAVE_ATAN2
#undef HAVE_ATAN2F
Expand All @@ -41,7 +41,7 @@

#endif

#if defined(_MSC_VER) && (_MSC_VER >= 1900)
#if defined(_MSC_VER)

#undef HAVE_CASIN
#undef HAVE_CASINF
Expand Down Expand Up @@ -71,7 +71,7 @@
#endif

/* MSVC _hypot messes with fp precision mode on 32-bit, see gh-9567 */
#if defined(_MSC_VER) && (_MSC_VER >= 1900) && !defined(_WIN64)
#if defined(_MSC_VER) && !defined(_WIN64)

#undef HAVE_CABS
#undef HAVE_CABSF
Expand Down
8 changes: 4 additions & 4 deletions numpy/random/src/pcg64/pcg64.h
Expand Up @@ -128,7 +128,7 @@ static inline pcg128_t pcg128_add(pcg128_t a, pcg128_t b) {
static inline void _pcg_mult64(uint64_t x, uint64_t y, uint64_t *z1,
uint64_t *z0) {

#if defined _WIN32 && _MSC_VER >= 1900 && _M_AMD64
#if defined _WIN32 && _M_AMD64
z0[0] = _umul128(x, y, z1);
#else
uint64_t x0, x1, y0, y1;
Expand Down Expand Up @@ -182,7 +182,7 @@ static inline void pcg_setseq_128_srandom_r(pcg_state_setseq_128 *rng,

static inline uint64_t
pcg_setseq_128_xsl_rr_64_random_r(pcg_state_setseq_128 *rng) {
#if defined _WIN32 && _MSC_VER >= 1900 && _M_AMD64
#if defined _WIN32 && _M_AMD64
uint64_t h1;
pcg128_t product;

Expand Down Expand Up @@ -212,7 +212,7 @@ static inline pcg128_t pcg128_mult_64(pcg128_t a, uint64_t b) {
}

static inline void pcg_cm_step_r(pcg_state_setseq_128 *rng) {
#if defined _WIN32 && _MSC_VER >= 1900 && _M_AMD64
#if defined _WIN32 && _M_AMD64
uint64_t h1;
pcg128_t product;

Expand Down Expand Up @@ -255,7 +255,7 @@ static inline uint64_t pcg_cm_random_r(pcg_state_setseq_128* rng)
hi *= lo;

/* Run the CM step. */
#if defined _WIN32 && _MSC_VER >= 1900 && _M_AMD64
#if defined _WIN32 && _M_AMD64
uint64_t h1;
pcg128_t product;

Expand Down

0 comments on commit 17d730a

Please sign in to comment.