Skip to content

Commit

Permalink
DEP: Deprecate the old_defines.h header and the macros therein.
Browse files Browse the repository at this point in the history
The old_defines.h file is no longer included in ndarrayobject.h, but
instead in the npy_deprecated_api.h file. It is no longer part of the numpy
build and its deprecation is noted in the release notes.
  • Loading branch information
charris committed Feb 4, 2012
1 parent 8a0e7cd commit 8886322
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 7 deletions.
21 changes: 16 additions & 5 deletions doc/release/2.0.0-notes.rst
Expand Up @@ -161,15 +161,26 @@ The following macros now require trailing semicolons::
Deprecations
============

General
-------

Specifying a custom string formatter with a `_format` array attribute is
deprecated. The new `formatter` keyword in ``numpy.set_printoptions`` or
``numpy.array2string`` can be used instead.

In the C API, direct access to the fields of PyArrayObject* has been
deprecated. Direct access has been recommended against for many releases, but
now you can test your code against the deprecated C API by #defining
The deprecated imports in the polynomial package have been removed.

C-API
-----

Direct access to the fields of PyArrayObject* has been
deprecated. Direct access has been recommended against for many releases.

The macros in old_defines.h are deprecated and will be removed in the next
major release. The sed script tools/replace_old_macros.sed can be used to
replace these macros with the newer versions.

You can test your code against the deprecated C API by #defining
NPY_NO_DEPRECATED_API before including any NumPy headers. Expect
something similar for PyArray_Descr* and other core objects in the
future as preparation for NumPy 2.0.

The deprecated imports in the polynomial package have been removed.
1 change: 0 additions & 1 deletion numpy/core/include/numpy/ndarrayobject.h
Expand Up @@ -214,7 +214,6 @@ PyArray_XDECREF_ERR(PyArrayObject *arr)
PyArray_FromDimsAndDataAndDescr(nd, d, PyArray_DescrFromType(type), \
data)

#include "old_defines.h"

/*
Check to see if this key in the dictionary is the "title"
Expand Down
7 changes: 7 additions & 0 deletions numpy/core/include/numpy/npy_deprecated_api.h
Expand Up @@ -95,4 +95,11 @@
*/
#define FORTRAN_IF PyArray_FORTRAN_IF

/*
* The macros in old_defines.h are Deprecated as of NumPy 1.7 and will be
* removed in the next major release.
*/
#include "old_defines.h"


#endif
5 changes: 5 additions & 0 deletions numpy/core/include/numpy/old_defines.h
@@ -1,3 +1,8 @@
/* This header is deprecated as of NumPy 1.7 */
#ifdef NPY_NO_DEPRECATED_API
#error The header "old_defines.h" is deprecated as of NumPy 1.7.
#endif

#define NDARRAY_VERSION NPY_VERSION

#define PyArray_MIN_BUFSIZE NPY_MIN_BUFSIZE
Expand Down
1 change: 0 additions & 1 deletion numpy/core/setup.py
Expand Up @@ -733,7 +733,6 @@ def generate_multiarray_templated_sources(ext, build_dir):
join('include', 'numpy', 'arrayobject.h'),
join('include', 'numpy', '_neighborhood_iterator_imp.h'),
join('include', 'numpy', 'npy_endian.h'),
join('include', 'numpy', 'old_defines.h'),
join('include', 'numpy', 'arrayscalars.h'),
join('include', 'numpy', 'noprefix.h'),
join('include', 'numpy', 'npy_interrupt.h'),
Expand Down

0 comments on commit 8886322

Please sign in to comment.