Hello community,

here is the log from the commit of package python3-numexpr for openSUSE:Factory 
checked in at 2015-09-27 08:40:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-numexpr (Old)
 and      /work/SRC/openSUSE:Factory/.python3-numexpr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-numexpr"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-numexpr/python3-numexpr.changes  
2015-05-02 21:43:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-numexpr.new/python3-numexpr.changes     
2015-09-27 08:40:00.000000000 +0200
@@ -1,0 +2,13 @@
+Sun Sep 27 01:01:19 UTC 2015 - a...@gmx.de
+
+- update to version 2.4.4:
+  * Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is
+    not set. Fixes #161. (PR #175, Stefan Erb).
+  * Added support for AppVeyor (PR #178 Andrea Bedini)
+  * Fix to allow numexpr to be imported after eventlet.monkey_patch(),
+    as suggested in #118 (PR #180 Ben Moran).
+  * Fix harmless data race that triggers false positives in
+    ThreadSanitizer. (PR #179, Clement Courbet).
+  * Fixed some string tests on Python 3 (PR #182, Antonio Valentino).
+
+-------------------------------------------------------------------

Old:
----
  numexpr-2.4.3.tar.gz

New:
----
  numexpr-2.4.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-numexpr.spec ++++++
--- /var/tmp/diff_new_pack.MrSWU1/_old  2015-09-27 08:40:01.000000000 +0200
+++ /var/tmp/diff_new_pack.MrSWU1/_new  2015-09-27 08:40:01.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python3-numexpr
-Version:        2.4.3
+Version:        2.4.4
 Release:        0
 Url:            https://github.com/pydata/numexpr
 Summary:        Fast numerical expression evaluator for NumPy

++++++ numexpr-2.4.3.tar.gz -> numexpr-2.4.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/ANNOUNCE.rst 
new/numexpr-2.4.4/ANNOUNCE.rst
--- old/numexpr-2.4.3/ANNOUNCE.rst      2015-04-27 17:45:42.000000000 +0200
+++ new/numexpr-2.4.4/ANNOUNCE.rst      2015-09-14 17:54:37.000000000 +0200
@@ -1,5 +1,5 @@
 =========================
- Announcing Numexpr 2.4.3
+ Announcing Numexpr 2.4.4
 =========================
 
 Numexpr is a fast numerical expression evaluator for NumPy.  With it,
@@ -21,13 +21,15 @@
 What's new
 ==========
 
-This is a maintenance release to cope with an old bug affecting
-comparisons with empty strings.  Fixes #121 and PyTables #184.
+This is a maintenance release which contains several bug fixes, like
+better testing on Python3 platform and some harmless data race.  Among
+the enhancements, AppVeyor support is here and OMP_NUM_THREADS is
+honored as a fallback in case NUMEXPR_NUM_THREADS is not set.
 
 In case you want to know more in detail what has changed in this
 version, see:
 
-https://github.com/pydata/numexpr/wiki/Release-Notes
+https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst
 
 or have a look at RELEASE_NOTES.txt in the tarball.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/AUTHORS.txt 
new/numexpr-2.4.4/AUTHORS.txt
--- old/numexpr-2.4.3/AUTHORS.txt       2013-12-01 00:32:07.000000000 +0100
+++ new/numexpr-2.4.4/AUTHORS.txt       2015-09-14 17:18:15.000000000 +0200
@@ -18,3 +18,5 @@
 enhancements.
 
 Antonio Valentino contributed the port to Python 3.
+
+Google Inc. contributed bug fixes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/PKG-INFO new/numexpr-2.4.4/PKG-INFO
--- old/numexpr-2.4.3/PKG-INFO  2015-04-27 17:47:24.000000000 +0200
+++ new/numexpr-2.4.4/PKG-INFO  2015-09-14 18:06:33.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: numexpr
-Version: 2.4.3
+Version: 2.4.4
 Summary: Fast numerical expression evaluator for NumPy
 Home-page: https://github.com/pydata/numexpr
 Author: David M. Cooke, Francesc Alted and others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/README.rst new/numexpr-2.4.4/README.rst
--- old/numexpr-2.4.3/README.rst        2015-04-14 14:29:26.000000000 +0200
+++ new/numexpr-2.4.4/README.rst        2015-09-14 17:47:39.000000000 +0200
@@ -1,3 +1,24 @@
+=====================================================
+Numexpr: a fast Python evaluator of NumPy expressions
+=====================================================
+
+:Author: Francesc Alted
+:Contact: fal...@gmail.com
+:URL: https://github.com/pydata/numexpr
+:Travis CI: |travis|
+:Appveyor: |appveyor|
+:PyPi: |version| |pypi|
+
+.. |travis| image:: https://travis-ci.org/pydata/numexpr.png?branch=master
+        :target: https://travis-ci.org/pydata/numexpr
+.. |appveyor| image:: 
https://ci.appveyor.com/api/projects/status/github/FrancescAlted/numexpr
+        :target: https://travis-ci.org/pydata/numexpr
+.. |pypi| image:: https://pypip.in/d/numexpr/badge.png
+        :target: https://pypi.python.org/pypi/numexpr
+.. |version| image:: https://pypip.in/v/numexpr/badge.png
+        :target: https://pypi.python.org/pypi/numexpr
+
+
 What it is Numexpr?
 ===================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/RELEASE_NOTES.rst 
new/numexpr-2.4.4/RELEASE_NOTES.rst
--- old/numexpr-2.4.3/RELEASE_NOTES.rst 2015-04-27 17:44:51.000000000 +0200
+++ new/numexpr-2.4.4/RELEASE_NOTES.rst 2015-09-14 17:55:33.000000000 +0200
@@ -2,6 +2,23 @@
  Release notes for Numexpr 2.4 series
 ======================================
 
+Changes from 2.4.3 to 2.4.4
+===========================
+
+* Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is not
+  set. Fixes #161. (PR #175, Stefan Erb).
+
+* Added support for AppVeyor (PR #178 Andrea Bedini)
+
+* Fix to allow numexpr to be imported after eventlet.monkey_patch(),
+  as suggested in #118 (PR #180 Ben Moran).
+
+* Fix harmless data race that triggers false positives in ThreadSanitizer.
+  (PR #179, Clement Courbet).
+
+* Fixed some string tests on Python 3 (PR #182, Antonio Valentino).
+
+
 Changes from 2.4.2 to 2.4.3
 ===========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/__init__.py 
new/numexpr-2.4.4/numexpr/__init__.py
--- old/numexpr-2.4.3/numexpr/__init__.py       2015-04-14 14:28:33.000000000 
+0200
+++ new/numexpr-2.4.4/numexpr/__init__.py       2015-09-14 17:18:15.000000000 
+0200
@@ -42,25 +42,13 @@
 from numexpr.tests import test, print_versions
 from numexpr.utils import (
     get_vml_version, set_vml_accuracy_mode, set_vml_num_threads,
-    set_num_threads, detect_number_of_cores)
+    set_num_threads, detect_number_of_cores, detect_number_of_threads)
 
 # Detect the number of cores
 ncores = detect_number_of_cores()
+nthreads = detect_number_of_threads()
 
 # Initialize the number of threads to be used
-# If this is modified, please update the note in:
-# https://github.com/pydata/numexpr/wiki/Numexpr-Users-Guide
-try:
-    nthreads = int(os.environ['NUMEXPR_NUM_THREADS'])
-except KeyError:
-    nthreads = ncores
-    # Check that we don't activate too many threads at the same time.
-    # 8 seems a sensible value.
-    if nthreads > 8:
-        nthreads = 8
-# Check that we don't surpass the MAX_THREADS in interpreter.cpp
-if nthreads > 4096:
-    nthreads = 4096
 if 'sparc' in platform.machine():
     import warnings
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/expressions.py 
new/numexpr-2.4.4/numexpr/expressions.py
--- old/numexpr-2.4.3/numexpr/expressions.py    2015-04-14 14:28:33.000000000 
+0200
+++ new/numexpr-2.4.4/numexpr/expressions.py    2015-09-14 17:18:15.000000000 
+0200
@@ -60,13 +60,6 @@
 
 
 class Context(threading.local):
-    initialized = False
-
-    def __init__(self, dict_):
-        if self.initialized:
-            raise SystemError('__init__ called too many times')
-        self.initialized = True
-        self.__dict__.update(dict_)
 
     def get(self, value, default):
         return self.__dict__.get(value, default)
@@ -78,7 +71,7 @@
         self.__dict__.update(dict_)
 
 # This will be called each time the local object is used in a separate thread
-_context = Context({})
+_context = Context()
 
 
 def get_optimization():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/module.cpp 
new/numexpr-2.4.4/numexpr/module.cpp
--- old/numexpr-2.4.3/numexpr/module.cpp        2015-04-14 14:28:42.000000000 
+0200
+++ new/numexpr-2.4.4/numexpr/module.cpp        2015-09-14 17:18:15.000000000 
+0200
@@ -48,7 +48,10 @@
 
     while (1) {
 
-        gs.init_sentinels_done = 0;     /* sentinels have to be initialised 
yet */
+        if (tid == 0) {
+            /* sentinels have to be initialised yet */
+            gs.init_sentinels_done = 0;
+        }
 
         /* Meeting point for all threads (wait for initialization) */
         pthread_mutex_lock(&gs.count_threads_mutex);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/str-two-way.hpp 
new/numexpr-2.4.4/numexpr/str-two-way.hpp
--- old/numexpr-2.4.3/numexpr/str-two-way.hpp   2014-03-03 08:38:37.000000000 
+0100
+++ new/numexpr-2.4.4/numexpr/str-two-way.hpp   2015-09-14 17:18:15.000000000 
+0200
@@ -30,7 +30,25 @@
 */
 
 #include <limits.h>
+
+/*
+  Python 2.7 (the only Python 2.x version supported as of now and until 2020)
+  is built on windows with Visual Studio 2008 C compiler. That dictates that
+  the compiler which must be used by authors of third party Python modules.
+  See 
https://mail.python.org/pipermail/distutils-sig/2014-September/024885.html
+
+  Unfortunately this version of Visual Studio doesn't claim to be C99 
compatible
+  and in particular it lacks the stdint.h header. So we have to replace it with
+  a public domain version.
+
+  Visual Studio 2010 and later have stdint.h.
+*/
+
+#ifdef _MSC_VER <= 1500
+#include "win32/stdint.h"
+#else
 #include <stdint.h>
+#endif
 
 /* We use the Two-Way string matching algorithm, which guarantees
    linear complexity with constant space.  Additionally, for long
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/tests/test_numexpr.py 
new/numexpr-2.4.4/numexpr/tests/test_numexpr.py
--- old/numexpr-2.4.3/numexpr/tests/test_numexpr.py     2015-04-27 
17:38:07.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/tests/test_numexpr.py     2015-09-14 
17:18:15.000000000 +0200
@@ -13,6 +13,7 @@
 import sys
 import platform
 import warnings
+from contextlib import contextmanager
 
 import numpy as np
 from numpy import (
@@ -720,19 +721,19 @@
         self.assert_missing_op('add_sss', expr, locals())
 
     def test_empty_string1(self):
-        a = np.array(["", "pepe"])
-        b = np.array(["pepe2", ""])
-        res = evaluate("(a == '') & (b == 'pepe2')")
+        a = np.array([b"", b"pepe"])
+        b = np.array([b"pepe2", b""])
+        res = evaluate("(a == b'') & (b == b'pepe2')")
         assert_array_equal(res, np.array([True, False]))
-        res2 = evaluate("(a == 'pepe') & (b == '')")
+        res2 = evaluate("(a == b'pepe') & (b == b'')")
         assert_array_equal(res2, np.array([False, True]))
 
     def test_empty_string2(self):
-        a = np.array(["p", "pepe"])
-        b = np.array(["pepe2", ""])
-        res = evaluate("(a == '') & (b == 'pepe2')")
+        a = np.array([b"p", b"pepe"])
+        b = np.array([b"pepe2", b""])
+        res = evaluate("(a == b'') & (b == b'pepe2')")
         assert_array_equal(res, np.array([False, False]))
-        res2 = evaluate("(a == 'pepe') & (b == '')")
+        res2 = evaluate("(a == b'pepe') & (b == b'')")
         assert_array_equal(res, np.array([False, False]))
 
     def test_add_numeric_array(self):
@@ -813,6 +814,31 @@
         assert_array_equal(r1, a1)
 
 
+@contextmanager
+def _environment(key, value):
+    old = os.environ.get(key)
+    os.environ[key] = value
+    try:
+        yield
+    finally:
+        if old:
+            os.environ[key] = old
+        else:
+            del os.environ[key]
+
+
+# Test cases for the threading configuration
+class test_threading_config(TestCase):
+    def test_numexpr_num_threads(self):
+        with _environment('OMP_NUM_THREADS', '5'):
+            with _environment('NUMEXPR_NUM_THREADS', '3'):
+                self.assertEquals(3, numexpr.detect_number_of_threads())
+
+    def test_omp_num_threads(self):
+        with _environment('OMP_NUM_THREADS', '5'):
+            self.assertEquals(5, numexpr.detect_number_of_threads())
+
+
 # Case test for threads
 class test_threading(TestCase):
     def test_thread(self):
@@ -924,6 +950,7 @@
         theSuite.addTest(
             unittest.makeSuite(test_irregular_stride))
         theSuite.addTest(unittest.makeSuite(test_zerodim))
+        theSuite.addTest(unittest.makeSuite(test_threading_config))
 
         # multiprocessing module is not supported on Hurd/kFreeBSD
         if (pl.system().lower() not in ('gnu', 'gnu/kfreebsd')):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/utils.py 
new/numexpr-2.4.4/numexpr/utils.py
--- old/numexpr-2.4.3/numexpr/utils.py  2015-04-14 14:28:47.000000000 +0200
+++ new/numexpr-2.4.4/numexpr/utils.py  2015-09-14 17:18:15.000000000 +0200
@@ -115,6 +115,24 @@
     return 1  # Default
 
 
+def detect_number_of_threads():
+    """
+    If this is modified, please update the note in: 
https://github.com/pydata/numexpr/wiki/Numexpr-Users-Guide
+    """
+    try:
+        nthreads = int(os.environ['NUMEXPR_NUM_THREADS'])
+    except KeyError:
+        nthreads = int(os.environ.get('OMP_NUM_THREADS', 
detect_number_of_cores()))
+        # Check that we don't activate too many threads at the same time.
+        # 8 seems a sensible value.
+        if nthreads > 8:
+            nthreads = 8
+    # Check that we don't surpass the MAX_THREADS in interpreter.cpp
+    if nthreads > 4096:
+        nthreads = 4096
+    return nthreads
+
+
 class CacheDict(dict):
     """
     A dictionary that prevents itself from growing too much.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/version.py 
new/numexpr-2.4.4/numexpr/version.py
--- old/numexpr-2.4.3/numexpr/version.py        2015-04-27 17:46:06.000000000 
+0200
+++ new/numexpr-2.4.4/numexpr/version.py        2015-09-14 17:56:55.000000000 
+0200
@@ -8,4 +8,4 @@
 #  rights to use.
 ####################################################################
 
-version = '2.4.3'
+version = '2.4.4'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr/win32/stdint.h 
new/numexpr-2.4.4/numexpr/win32/stdint.h
--- old/numexpr-2.4.3/numexpr/win32/stdint.h    1970-01-01 01:00:00.000000000 
+0100
+++ new/numexpr-2.4.4/numexpr/win32/stdint.h    2015-09-14 17:18:15.000000000 
+0200
@@ -0,0 +1,235 @@
+/* ISO C9x  7.18  Integer types <stdint.h>
+ * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  Contributor: Danny Smith <danny_r_smith_2...@yahoo.co.nz>
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAIMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *  Date: 2000-12-02
+ *
+ * mwb: This was modified in the following ways:
+ *
+ *      - make it compatible with Visual C++ 6 (which uses 
+ *          non-standard keywords and suffixes for 64-bit types)
+ *      - some environments need stddef.h included (for wchar stuff?)
+ *      - handle the fact that Microsoft's limits.h header defines
+ *          SIZE_MAX
+ *      - make corrections for SIZE_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX,
+ *          PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, and SIG_ATOMIC_MAX
+ *          to be 64-bit aware.
+ */
+
+
+#ifndef _STDINT_H
+#define _STDINT_H
+#define __need_wint_t
+#define __need_wchar_t
+#include <wchar.h>
+#include <stddef.h>
+
+#if _MSC_VER && (_MSC_VER < 1300)
+/* using MSVC 6 or earlier - no "long long" type, but might have _int64 type */
+#define __STDINT_LONGLONG           __int64
+#define __STDINT_LONGLONG_SUFFIX    i64
+#else
+#define __STDINT_LONGLONG           long long
+#define __STDINT_LONGLONG_SUFFIX    LL
+#endif
+
+#if !defined( PASTE)
+#define PASTE2( x, y) x##y
+#define PASTE( x, y)  PASTE2( x, y)
+#endif /* PASTE */
+
+
+/* 7.18.1.1  Exact-width integer types */
+typedef signed char int8_t;
+typedef unsigned char   uint8_t;
+typedef short  int16_t;
+typedef unsigned short  uint16_t;
+typedef int  int32_t;
+typedef unsigned   uint32_t;
+typedef __STDINT_LONGLONG  int64_t;
+typedef unsigned __STDINT_LONGLONG   uint64_t;
+
+/* 7.18.1.2  Minimum-width integer types */
+typedef signed char int_least8_t;
+typedef unsigned char   uint_least8_t;
+typedef short  int_least16_t;
+typedef unsigned short  uint_least16_t;
+typedef int  int_least32_t;
+typedef unsigned   uint_least32_t;
+typedef __STDINT_LONGLONG  int_least64_t;
+typedef unsigned __STDINT_LONGLONG   uint_least64_t;
+
+/*  7.18.1.3  Fastest minimum-width integer types 
+ *  Not actually guaranteed to be fastest for all purposes
+ *  Here we use the exact-width types for 8 and 16-bit ints. 
+ */
+typedef char int_fast8_t;
+typedef unsigned char uint_fast8_t;
+typedef short  int_fast16_t;
+typedef unsigned short  uint_fast16_t;
+typedef int  int_fast32_t;
+typedef unsigned  int  uint_fast32_t;
+typedef __STDINT_LONGLONG  int_fast64_t;
+typedef unsigned __STDINT_LONGLONG   uint_fast64_t;
+
+/* 7.18.1.4  Integer types capable of holding object pointers */
+#ifndef _INTPTR_T_DEFINED
+#define _INTPTR_T_DEFINED
+#ifdef _WIN64
+typedef __STDINT_LONGLONG intptr_t
+#else
+typedef int intptr_t;
+#endif /* _WIN64 */
+#endif /* _INTPTR_T_DEFINED */
+
+#ifndef _UINTPTR_T_DEFINED
+#define _UINTPTR_T_DEFINED
+#ifdef _WIN64
+typedef unsigned __STDINT_LONGLONG uintptr_t
+#else
+typedef unsigned int uintptr_t;
+#endif /* _WIN64 */
+#endif /* _UINTPTR_T_DEFINED */
+
+/* 7.18.1.5  Greatest-width integer types */
+typedef __STDINT_LONGLONG  intmax_t;
+typedef unsigned __STDINT_LONGLONG   uintmax_t;
+
+/* 7.18.2  Limits of specified-width integer types */
+#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
+
+/* 7.18.2.1  Limits of exact-width integer types */
+#define INT8_MIN (-128) 
+#define INT16_MIN (-32768)
+#define INT32_MIN (-2147483647 - 1)
+#define INT64_MIN  (PASTE( -9223372036854775807, __STDINT_LONGLONG_SUFFIX) - 1)
+
+#define INT8_MAX 127
+#define INT16_MAX 32767
+#define INT32_MAX 2147483647
+#define INT64_MAX (PASTE( 9223372036854775807, __STDINT_LONGLONG_SUFFIX))
+
+#define UINT8_MAX 0xff /* 255U */
+#define UINT16_MAX 0xffff /* 65535U */
+#define UINT32_MAX 0xffffffff  /* 4294967295U */
+#define UINT64_MAX (PASTE( 0xffffffffffffffffU, __STDINT_LONGLONG_SUFFIX)) /* 
18446744073709551615ULL */
+
+/* 7.18.2.2  Limits of minimum-width integer types */
+#define INT_LEAST8_MIN INT8_MIN
+#define INT_LEAST16_MIN INT16_MIN
+#define INT_LEAST32_MIN INT32_MIN
+#define INT_LEAST64_MIN INT64_MIN
+
+#define INT_LEAST8_MAX INT8_MAX
+#define INT_LEAST16_MAX INT16_MAX
+#define INT_LEAST32_MAX INT32_MAX
+#define INT_LEAST64_MAX INT64_MAX
+
+#define UINT_LEAST8_MAX UINT8_MAX
+#define UINT_LEAST16_MAX UINT16_MAX
+#define UINT_LEAST32_MAX UINT32_MAX
+#define UINT_LEAST64_MAX UINT64_MAX
+
+/* 7.18.2.3  Limits of fastest minimum-width integer types */
+#define INT_FAST8_MIN INT8_MIN
+#define INT_FAST16_MIN INT16_MIN
+#define INT_FAST32_MIN INT32_MIN
+#define INT_FAST64_MIN INT64_MIN
+
+#define INT_FAST8_MAX INT8_MAX
+#define INT_FAST16_MAX INT16_MAX
+#define INT_FAST32_MAX INT32_MAX
+#define INT_FAST64_MAX INT64_MAX
+
+#define UINT_FAST8_MAX UINT8_MAX
+#define UINT_FAST16_MAX UINT16_MAX
+#define UINT_FAST32_MAX UINT32_MAX
+#define UINT_FAST64_MAX UINT64_MAX
+
+/* 7.18.2.4  Limits of integer types capable of holding
+    object pointers */ 
+#ifdef _WIN64
+#define INTPTR_MIN INT64_MIN
+#define INTPTR_MAX INT64_MAX
+#define UINTPTR_MAX UINT64_MAX
+#else
+#define INTPTR_MIN INT32_MIN
+#define INTPTR_MAX INT32_MAX
+#define UINTPTR_MAX UINT32_MAX
+#endif /* _WIN64 */
+
+/* 7.18.2.5  Limits of greatest-width integer types */
+#define INTMAX_MIN INT64_MIN
+#define INTMAX_MAX INT64_MAX
+#define UINTMAX_MAX UINT64_MAX
+
+/* 7.18.3  Limits of other integer types */
+#define PTRDIFF_MIN INTPTR_MIN
+#define PTRDIFF_MAX INTPTR_MAX
+
+#define SIG_ATOMIC_MIN INTPTR_MIN
+#define SIG_ATOMIC_MAX INTPTR_MAX
+
+/* we need to check for SIZE_MAX already defined because MS defines it in 
limits.h */
+#ifndef SIZE_MAX
+#define SIZE_MAX UINTPTR_MAX
+#endif
+
+#ifndef WCHAR_MIN  /* also in wchar.h */ 
+#define WCHAR_MIN 0
+#define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */
+#endif
+
+/*
+ * wint_t is unsigned short for compatibility with MS runtime
+ */
+#define WINT_MIN 0
+#define WINT_MAX ((wint_t)-1) /* UINT16_MAX */
+
+#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
+
+
+/* 7.18.4  Macros for integer constants */
+#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
+
+/* 7.18.4.1  Macros for minimum-width integer constants
+
+    Accoding to Douglas Gwyn <g...@arl.mil>:
+       "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
+       9899:1999 as initially published, the expansion was required
+       to be an integer constant of precisely matching type, which
+       is impossible to accomplish for the shorter types on most
+       platforms, because C99 provides no standard way to designate
+       an integer constant with width less than that of type int.
+       TC1 changed this to require just an integer constant
+       *expression* with *promoted* type."
+*/
+
+#define INT8_C(val) ((int8_t) + (val))
+#define UINT8_C(val) ((uint8_t) + (val##U))
+#define INT16_C(val) ((int16_t) + (val))
+#define UINT16_C(val) ((uint16_t) + (val##U))
+
+#define INT32_C(val) val##L
+#define UINT32_C(val) val##UL
+#define INT64_C(val) (PASTE( val, __STDINT_LONGLONG_SUFFIX))
+#define UINT64_C(val)(PASTE( PASTE( val, U), __STDINT_LONGLONG_SUFFIX))
+
+/* 7.18.4.2  Macros for greatest-width integer constants */
+#define INTMAX_C(val)  INT64_C(val)
+#define UINTMAX_C(val) UINT64_C(val)
+
+#endif  /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr.egg-info/PKG-INFO 
new/numexpr-2.4.4/numexpr.egg-info/PKG-INFO
--- old/numexpr-2.4.3/numexpr.egg-info/PKG-INFO 2015-04-27 17:47:24.000000000 
+0200
+++ new/numexpr-2.4.4/numexpr.egg-info/PKG-INFO 2015-09-14 18:06:33.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: numexpr
-Version: 2.4.3
+Version: 2.4.4
 Summary: Fast numerical expression evaluator for NumPy
 Home-page: https://github.com/pydata/numexpr
 Author: David M. Cooke, Francesc Alted and others
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr.egg-info/SOURCES.txt 
new/numexpr-2.4.4/numexpr.egg-info/SOURCES.txt
--- old/numexpr-2.4.3/numexpr.egg-info/SOURCES.txt      2015-04-27 
17:47:24.000000000 +0200
+++ new/numexpr-2.4.4/numexpr.egg-info/SOURCES.txt      2015-09-14 
18:06:33.000000000 +0200
@@ -45,9 +45,11 @@
 numexpr.egg-info/SOURCES.txt
 numexpr.egg-info/dependency_links.txt
 numexpr.egg-info/not-zip-safe
+numexpr.egg-info/pbr.json
 numexpr.egg-info/requires.txt
 numexpr.egg-info/top_level.txt
 numexpr/tests/__init__.py
 numexpr/tests/test_numexpr.py
 numexpr/win32/pthread.c
-numexpr/win32/pthread.h
\ No newline at end of file
+numexpr/win32/pthread.h
+numexpr/win32/stdint.h
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.4.3/numexpr.egg-info/pbr.json 
new/numexpr-2.4.4/numexpr.egg-info/pbr.json
--- old/numexpr-2.4.3/numexpr.egg-info/pbr.json 1970-01-01 01:00:00.000000000 
+0100
+++ new/numexpr-2.4.4/numexpr.egg-info/pbr.json 2015-09-14 18:06:33.000000000 
+0200
@@ -0,0 +1 @@
+{"is_release": true, "git_version": "a98e149"}
\ No newline at end of file


Reply via email to