Hello community,

here is the log from the commit of package python3-numexpr for openSUSE:Factory 
checked in at 2016-04-03 23:07:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  
2016-02-17 12:23:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-numexpr.new/python3-numexpr.changes     
2016-04-03 23:07:30.000000000 +0200
@@ -1,0 +2,12 @@
+Sat Apr  2 03:39:15 UTC 2016 - a...@gmx.de
+
+- update to version 2.5.1:
+  * Fix for log10() and conj() functions. These produced wrong results
+    when numexpr was compiled with Intel's MKL (which is a popular
+    build since Anaconda ships it by default) and non-contiguous data
+    (issue #210). Thanks to Arne de Laat and Tom Kooij for reporting
+    and providing a nice test unit.
+  * Fix that allows numexpr-powered apps to be profiled with
+    pympler. Thanks to @nbecker.
+
+-------------------------------------------------------------------

Old:
----
  numexpr-2.5.tar.gz

New:
----
  numexpr-2.5.1.tar.gz

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

Other differences:
------------------
++++++ python3-numexpr.spec ++++++
--- /var/tmp/diff_new_pack.j5jy68/_old  2016-04-03 23:07:30.000000000 +0200
+++ /var/tmp/diff_new_pack.j5jy68/_new  2016-04-03 23:07:30.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python3-numexpr
-Version:        2.5
+Version:        2.5.1
 Release:        0
 Url:            https://github.com/pydata/numexpr
 Summary:        Fast numerical expression evaluator for NumPy

++++++ numexpr-2.5.tar.gz -> numexpr-2.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/ANNOUNCE.rst 
new/numexpr-2.5.1/ANNOUNCE.rst
--- old/numexpr-2.5/ANNOUNCE.rst        2016-02-06 11:44:03.000000000 +0100
+++ new/numexpr-2.5.1/ANNOUNCE.rst      2016-03-31 09:22:51.000000000 +0200
@@ -1,5 +1,5 @@
 =========================
- Announcing Numexpr 2.5
+ Announcing Numexpr 2.5.1
 =========================
 
 Numexpr is a fast numerical expression evaluator for NumPy.  With it,
@@ -8,7 +8,7 @@
 
 It wears multi-threaded capabilities, as well as support for Intel's
 MKL (Math Kernel Library), which allows an extremely fast evaluation
-of transcendental functions (sin, cos, tan, exp, log...)  while
+of transcendental functions (sin, cos, tan, exp, log...) while
 squeezing the last drop of performance out of your multi-core
 processors.  Look here for a some benchmarks of numexpr using MKL:
 
@@ -21,10 +21,12 @@
 What's new
 ==========
 
-In this version, a lock has been added so that numexpr can be called
-not from multithreaded apps.  Mind that this does not prevent numexpr
-to use multiple cores internally.  Also, a new min() and max()
-functions have been added.  Thanks to contributors!
+Fixed a critical bug that caused wrong evaluations of log10() and
+conj().  These produced wrong results when numexpr was compiled with
+Intel's MKL (which is a popular build since Anaconda ships it by
+default) and non-contiguous data.  This is considered a *critical* bug
+and upgrading is highly recommended. Thanks to Tom Kooij and Arne de
+Laat for reporting and providing a test unit.
 
 In case you want to know more in detail what has changed in this
 version, see:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/PKG-INFO new/numexpr-2.5.1/PKG-INFO
--- old/numexpr-2.5/PKG-INFO    2016-02-06 11:48:22.000000000 +0100
+++ new/numexpr-2.5.1/PKG-INFO  2016-03-31 09:37:44.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: numexpr
-Version: 2.5
+Version: 2.5.1
 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.5/RELEASE_NOTES.rst 
new/numexpr-2.5.1/RELEASE_NOTES.rst
--- old/numexpr-2.5/RELEASE_NOTES.rst   2016-02-06 11:34:30.000000000 +0100
+++ new/numexpr-2.5.1/RELEASE_NOTES.rst 2016-03-31 09:34:43.000000000 +0200
@@ -2,6 +2,20 @@
  Release notes for Numexpr 2.5 series
 ======================================
 
+
+Changes from 2.5 to 2.5.1
+=========================
+
+- Fix for log10() and conj() functions.  These produced wrong results
+  when numexpr was compiled with Intel's MKL (which is a popular build
+  since Anaconda ships it by default) and non-contiguous data (issue
+  #210).  Thanks to Arne de Laat and Tom Kooij for reporting and
+  providing a nice test unit.
+
+- Fix that allows numexpr-powered apps to be profiled with pympler.
+  Thanks to @nbecker.
+
+
 Changes from 2.4.6 to 2.5
 =========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/numexpr/expressions.py 
new/numexpr-2.5.1/numexpr/expressions.py
--- old/numexpr-2.5/numexpr/expressions.py      2016-01-26 14:46:28.000000000 
+0100
+++ new/numexpr-2.5.1/numexpr/expressions.py    2016-03-22 22:17:01.000000000 
+0100
@@ -51,7 +51,10 @@
 
     def __getattr__(self, name):
         if name.startswith('_'):
-            return self.__dict__[name]
+            try:
+                return self.__dict__[name]
+            except KeyError:
+                raise AttributeError
         else:
             return VariableNode(name, default_kind)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/numexpr/necompiler.py 
new/numexpr-2.5.1/numexpr/necompiler.py
--- old/numexpr-2.5/numexpr/necompiler.py       2016-01-26 14:46:28.000000000 
+0100
+++ new/numexpr-2.5.1/numexpr/necompiler.py     2016-03-30 23:01:40.000000000 
+0200
@@ -35,6 +35,36 @@
 kind_to_type = expressions.kind_to_type
 default_type = kind_to_type[expressions.default_kind]
 
+# VML functions that are implemented in numexpr
+vml_functions = [
+    "div",  # interp_body.cpp
+    "inv",  # interp_body.cpp
+    "pow",  # interp_body.cpp
+    # Keep the rest of this list in sync with the ones listed in functions.hpp
+    "sqrt",
+    "sin",
+    "cos",
+    "tan",
+    "arcsin",
+    "arccos",
+    "arctan",
+    "sinh",
+    "cosh",
+    "tanh",
+    "arcsinh",
+    "arccosh",
+    "arctanh",
+    "log",
+    "log1p",
+    "log10",
+    "exp",
+    "expm1",
+    "abs",
+    "conj",
+    "arctan2",
+    "fmod",
+    ]
+
 # Final addtions for Python 3 (mainly for PyTables needs)
 if sys.version_info[0] > 2:
     typecode_to_kind['s'] = 'str'
@@ -665,15 +695,7 @@
         ex_uses_vml = False
     else:
         for node in ast.postorderWalk():
-            if node.astType == 'op' \
-                    and node.value in ['sin', 'cos', 'exp', 'log',
-                                       'expm1', 'log1p',
-                                       'pow', 'div',
-                                       'sqrt', 'inv',
-                                       'sinh', 'cosh', 'tanh',
-                                       'arcsin', 'arccos', 'arctan',
-                                       'arccosh', 'arcsinh', 'arctanh',
-                                       'arctan2', 'abs']:
+            if node.astType == 'op' and node.value in vml_functions:
                 ex_uses_vml = True
                 break
         else:
@@ -747,7 +769,7 @@
             local_dict = call_frame.f_locals
         if global_dict is None:
             global_dict = call_frame.f_globals
-    
+
         arguments = []
         for name in names:
             try:
@@ -755,10 +777,10 @@
             except KeyError:
                 a = global_dict[name]
             arguments.append(numpy.asarray(a))
-    
+
         # Create a signature
         signature = [(name, getType(arg)) for (name, arg) in zip(names, 
arguments)]
-    
+
         # Look up numexpr if possible.
         numexpr_key = expr_key + (tuple(signature),)
         try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/numexpr/tests/test_numexpr.py 
new/numexpr-2.5.1/numexpr/tests/test_numexpr.py
--- old/numexpr-2.5/numexpr/tests/test_numexpr.py       2016-01-26 
17:16:40.000000000 +0100
+++ new/numexpr-2.5.1/numexpr/tests/test_numexpr.py     2016-03-30 
22:20:08.000000000 +0200
@@ -380,6 +380,16 @@
         assert_array_equal(evaluate("c1"), c1)
         assert_array_equal(evaluate("a0+c1"), a0 + c1)
 
+    def test_recarray_strides(self):
+        a = arange(100)
+        b = arange(100,200)
+        recarr = np.rec.array(None, formats='f4,f4', shape=(100,))
+        recarr['f0'] = a
+        recarr['f1'] = b
+        c = recarr['f1']
+        assert_array_almost_equal(evaluate("sqrt(c) > 1."), sqrt(c) > 1.)
+        assert_array_almost_equal(evaluate("log10(c)"), log10(c))
+
     def test_broadcasting(self):
         a = arange(100).reshape(10, 10)[::2]
         c = arange(10)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/numexpr/version.py 
new/numexpr-2.5.1/numexpr/version.py
--- old/numexpr-2.5/numexpr/version.py  2016-02-06 11:44:30.000000000 +0100
+++ new/numexpr-2.5.1/numexpr/version.py        2016-03-31 09:32:18.000000000 
+0200
@@ -8,4 +8,4 @@
 #  rights to use.
 ####################################################################
 
-version = '2.5'
+version = '2.5.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/numexpr-2.5/numexpr.egg-info/PKG-INFO 
new/numexpr-2.5.1/numexpr.egg-info/PKG-INFO
--- old/numexpr-2.5/numexpr.egg-info/PKG-INFO   2016-02-06 11:48:22.000000000 
+0100
+++ new/numexpr-2.5.1/numexpr.egg-info/PKG-INFO 2016-03-31 09:37:44.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: numexpr
-Version: 2.5
+Version: 2.5.1
 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.5/numexpr.egg-info/pbr.json 
new/numexpr-2.5.1/numexpr.egg-info/pbr.json
--- old/numexpr-2.5/numexpr.egg-info/pbr.json   2016-02-06 11:48:22.000000000 
+0100
+++ new/numexpr-2.5.1/numexpr.egg-info/pbr.json 2016-03-31 09:37:44.000000000 
+0200
@@ -1 +1 @@
-{"is_release": true, "git_version": "f067f36"}
\ No newline at end of file
+{"is_release": true, "git_version": "b4eaeea"}
\ No newline at end of file


Reply via email to