commit python3-numexpr for openSUSE:Factory
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 - arun@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: faltet@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_2001@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 <gwyn@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
participants (1)
-
root@hilbert.suse.de