Skip to content

Commit

Permalink
Port Github wiki to Sphinx autodocs
Browse files Browse the repository at this point in the history
  • Loading branch information
robbmcleod committed Sep 12, 2017
1 parent a2d3efe commit 6052dac
Show file tree
Hide file tree
Showing 9 changed files with 780 additions and 72 deletions.
17 changes: 10 additions & 7 deletions ANNOUNCE.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
=========================
Announcing Numexpr 2.6.2
Announcing Numexpr 2.6.3
=========================

What's new
==========

This is a maintenance release that fixes several issues, with special
emphasis in keeping compatibility with newer NumPy versions. Also,
initial support for POWER processors is here. Thanks to Oleksandr
Pavlyk, Alexander Shadchin, Breno Leitao, Fernando Seiti Furusato and
Antonio Valentino.
This is primarily a maintenance release that fixes a number of newly discovered
bugs. The NumPy requirement has increased from 1.6 to 1.7 due to changes with
`numpy.nditer` flags. Thanks to Caleb P. Burns `ceil` and `floor` functions are
now supported.

Project documentation is now available at:

http://numexpr.readthedocs.io/

In case you want to know more in detail what has changed in this
version, see:
Expand All @@ -24,7 +27,7 @@ Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3*a+4*b") are accelerated
and use less memory than doing the same calculation in Python.

It wears multi-threaded capabilities, as well as support for Intel's
It has 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
squeezing the last drop of performance out of your multi-core
Expand Down
84 changes: 43 additions & 41 deletions RELEASE_NOTES.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
======================================
=====================================
Release notes for Numexpr 2.6 series
======================================
=====================================

Changes from 2.6.2 to 2.6.3
===========================
---------------------------

#XXX version-specific blurb XXX#
- Documentation now available at readthedocs.io_.

- Support for floor() and ceil() functions added by Caleb P. Burns.

Expand All @@ -23,8 +23,10 @@ Changes from 2.6.2 to 2.6.3
- String literals are automatically encoded into 'ascii' bytes for
convience (see #281).

.. _readthedocs.io: http://numexpr.readthedocs.io

Changes from 2.6.1 to 2.6.2
===========================
---------------------------

- Updates to keep with API changes in newer NumPy versions (#228).
Thanks to Oleksandr Pavlyk.
Expand All @@ -45,7 +47,7 @@ Changes from 2.6.1 to 2.6.2


Changes from 2.6.0 to 2.6.1
===========================
---------------------------

- Fixed a performance regression in some situations as consequence of
increasing too much the BLOCK_SIZE1 constant. After more careful
Expand All @@ -58,7 +60,7 @@ Changes from 2.6.0 to 2.6.1


Changes from 2.5.2 to 2.6.0
===========================
---------------------------

- Introduced a new re_evaluate() function for re-evaluating the
previous executed array expression without any check. This is meant
Expand All @@ -77,15 +79,15 @@ Changes from 2.5.2 to 2.6.0


Changes from 2.5.1 to 2.5.2
===========================
---------------------------

- conj() and abs() actually added as VML-powered functions, preventing
the same problems than log10() before (PR #212). Thanks to Tom Kooij
for the fix!


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
Expand All @@ -98,7 +100,7 @@ Changes from 2.5 to 2.5.1


Changes from 2.4.6 to 2.5
=========================
-------------------------

- Added locking for allowing the use of numexpr in multi-threaded
callers (this does not prevent numexpr to use multiple cores
Expand All @@ -108,15 +110,15 @@ Changes from 2.4.6 to 2.5


Changes from 2.4.5 to 2.4.6
===========================
---------------------------

- Fixed some UserWarnings in Solaris (PR #189, Graham Jones).

- Better handling of MSVC defines. (#168, Francesc Alted).


Changes from 2.4.4 to 2.4.5
===========================
---------------------------

- Undone a 'fix' for a harmless data race. (#185 Benedikt Reinartz,
Francesc Alted).
Expand All @@ -128,13 +130,13 @@ Changes from 2.4.4 to 2.4.5


Changes from 2.4.3 to 2.4.4
===========================
---------------------------

- Fix bad #ifdef for including stdint on Windows (PR #186, Mike Sarahan).


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).
Expand All @@ -151,19 +153,19 @@ Changes from 2.4.3 to 2.4.4


Changes from 2.4.2 to 2.4.3
===========================
---------------------------

* Comparisons with empty strings work correctly now. Fixes #121 and
PyTables #184.

Changes from 2.4.1 to 2.4.2
===========================
---------------------------

* Improved setup.py so that pip can query the name and version without
actually doing the installation. Thanks to Joris Borgdorff.

Changes from 2.4 to 2.4.1
=========================
-------------------------

* Added more configuration examples for compiling with MKL/VML
support. Thanks to Davide Del Vento.
Expand All @@ -181,7 +183,7 @@ Changes from 2.4 to 2.4.1
Plesivčak.

Changes from 2.3.1 to 2.4
=========================
-------------------------

* A new `contains()` function has been added for detecting substrings
in strings. Only plain strings (bytes) are supported for now. See
Expand All @@ -191,7 +193,7 @@ Changes from 2.3.1 to 2.4
dependency. See PR #133. Thanks to Aleks Bunin.

Changes from 2.3 to 2.3.1
=========================
-------------------------

* Added support for shift-left (<<) and shift-right (>>) binary operators.
See PR #131. Thanks to fish2000!
Expand All @@ -200,50 +202,50 @@ Changes from 2.3 to 2.3.1
not necessary and it chokes to clang.

Changes from 2.2.2 to 2.3
=========================
-------------------------

* Site has been migrated to https://github.com/pydata/numexpr. All
new tickets and PR should be directed there.

* [ENH] A `conj()` function for computing the conjugate of complex
arrays has been added. Thanks to David Menéndez. See PR #125.

* [FIX] Fixed a DeprecationWarning derived of using oa_ndim == 0 and
op_axes == NULL when using NpyIter_AdvancedNew() and NumPy 1.8.
* [FIX] Fixed a DeprecationWarning derived of using oa_ndim -- 0 and
op_axes -- NULL when using NpyIter_AdvancedNew() and NumPy 1.8.
Thanks to Mark Wiebe for advise on how to fix this properly.

Changes from 2.2.1 to 2.2.2
===========================
---------------------------

* The `copy_args` argument of `NumExpr` function has been brought
lack. This has been mainly necessary for compatibility with
`PyTables < 3.0`, which I decided to continue to support. Fixed
#115.

* The `__nonzero__` method in `ExpressionNode` class has been
commented out. This is also for compatibility with `PyTables <
3.0`. See #24 for details.
commented out. This is also for compatibility with `PyTables < 3.0`.
See #24 for details.

* Fixed the type of some parameters in the C extension so that s390
architecture compiles. Fixes #116. Thank to Antonio Valentino for
reporting and the patch.

Changes from 2.2 to 2.2.1
=========================
-------------------------

* Fixes a secondary effect of "from numpy.testing import `*`", where
division is imported now too, so only then necessary functions from
there are imported now. Thanks to Christoph Gohlke for the patch.

Changes from 2.1 to 2.2
=======================
-----------------------

* [LICENSE] Fixed a problem with the license of the
numexpr/win32/pthread.{c,h} files emulating pthreads on Windows
platforms. After persmission from the original authors is granted,
these files adopt the MIT license and can be redistributed without
problems. See issue #109 for details
(https://code.google.com/p/numexpr/issues/detail?id=110).
(https://code.google.com/p/numexpr/issues/detail?id-110).

* [ENH] Improved the algorithm to decide the initial number of threads
to be used. This was necessary because by default, numexpr was
Expand Down Expand Up @@ -271,13 +273,13 @@ Changes from 2.1 to 2.2
(https://code.google.com/p/numexpr/wiki/UsersGuide).

Changes from 2.0.1 to 2.1
===========================
---------------------------

* Dropped compatibility with Python < 2.6.

* Improve compatibiity with Python 3:

- switch from PyString to PyBytes API (requires Python >= 2.6).
- switch from PyString to PyBytes API (requires Python >- 2.6).
- fixed incompatibilities regarding the int/long API
- use the Py_TYPE macro
- use the PyVarObject_HEAD_INIT macro instead of PyObject_HEAD_INIT
Expand All @@ -290,7 +292,7 @@ Changes from 2.0.1 to 2.1
'~' should be used instead (fixes #24).
Changes from 2.0 to 2.0.1
=========================
-------------------------

* Added compatibility with Python 2.5 (2.4 is definitely not supported
anymore).
Expand All @@ -305,7 +307,7 @@ Changes from 2.0 to 2.0.1


Changes from 1.x series to 2.0
==============================
------------------------------

- Added support for the new iterator object in NumPy 1.6 and later.

Expand All @@ -331,7 +333,7 @@ Changes from 1.x series to 2.0


Changes from 1.4.1 to 1.4.2
===========================
---------------------------

- Multithreaded operation is disabled for small arrays (< 32 KB).
This allows to remove the overhead of multithreading for such a
Expand Down Expand Up @@ -360,7 +362,7 @@ Changes from 1.4.1 to 1.4.2


Changes from 1.4 to 1.4.1
=========================
-------------------------

- Mingw32 can also work with pthreads compatibility code for win32.
Fixes #31.
Expand All @@ -375,7 +377,7 @@ Changes from 1.4 to 1.4.1


Changes from 1.3.1 to 1.4
=========================
-------------------------

- Added support for multi-threading in pure C. This is to avoid the
GIL and allows to squeeze the best performance in both multi-core
Expand All @@ -385,7 +387,7 @@ Changes from 1.3.1 to 1.4
machinery for the virtual machine. With this, it is really easy to
add more opcodes. See:

http://code.google.com/p/numexpr/issues/detail?id=28
http://code.google.com/p/numexpr/issues/detail?id-28

as an example.

Expand All @@ -401,7 +403,7 @@ Changes from 1.3.1 to 1.4


Changes from 1.3 to 1.3.1
=========================
-------------------------

- Due to an oversight, ``uint32`` types were not properly supported.
That has been solved. Fixes #19.
Expand All @@ -413,7 +415,7 @@ Changes from 1.3 to 1.3.1


Changes from 1.2 to 1.3
=======================
-----------------------

- A new type called internally `float` has been implemented so as to
be able to work natively with single-precision floating points.
Expand All @@ -437,7 +439,7 @@ Changes from 1.2 to 1.3


Changes from 1.1.1 to 1.2
=========================
-------------------------

- Support for Intel's VML (Vector Math Library) added, normally
included in Intel's MKL (Math Kernel Library). In addition, when
Expand Down Expand Up @@ -476,7 +478,7 @@ Changes from 1.1.1 to 1.2


Changes from 1.1 to 1.1.1
=========================
-------------------------

- The case for multidimensional array operands is properly accelerated
now. Added a new benchmark (based on a script provided by Andrew
Expand All @@ -492,7 +494,7 @@ Changes from 1.1 to 1.1.1


Changes from 1.0 to 1.1
=======================
-----------------------

- Numexpr can work now in threaded environments. Fixes #2.

Expand Down
24 changes: 24 additions & 0 deletions doc/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
NumExpr API
===========

.. automodule:: numexpr
:members: evaluate, re_evaluate, disassemble, NumExpr, get_vml_version, set_vml_accuracy_mode, set_vml_num_threads, set_num_threads, detect_number_of_cores, detect_number_of_threads

.. py:attribute:: ncores
The number of (virtual) cores detected.

.. py:attribute:: nthreads
The number of available threads detected.

.. py:attribute:: version
The version of NumExpr.


Tests submodule
---------------

.. automodule:: numexpr.tests
:members: test, print_versions

0 comments on commit 6052dac

Please sign in to comment.