head 1.19; access; symbols pkgsrc-2026Q2:1.18.0.42 pkgsrc-2026Q2-base:1.18 pkgsrc-2026Q1:1.18.0.40 pkgsrc-2026Q1-base:1.18 pkgsrc-2025Q4:1.18.0.38 pkgsrc-2025Q4-base:1.18 pkgsrc-2025Q3:1.18.0.36 pkgsrc-2025Q3-base:1.18 pkgsrc-2025Q2:1.18.0.34 pkgsrc-2025Q2-base:1.18 pkgsrc-2025Q1:1.18.0.32 pkgsrc-2025Q1-base:1.18 pkgsrc-2024Q4:1.18.0.30 pkgsrc-2024Q4-base:1.18 pkgsrc-2024Q3:1.18.0.28 pkgsrc-2024Q3-base:1.18 pkgsrc-2024Q2:1.18.0.26 pkgsrc-2024Q2-base:1.18 pkgsrc-2024Q1:1.18.0.24 pkgsrc-2024Q1-base:1.18 pkgsrc-2023Q4:1.18.0.22 pkgsrc-2023Q4-base:1.18 pkgsrc-2023Q3:1.18.0.20 pkgsrc-2023Q3-base:1.18 pkgsrc-2023Q2:1.18.0.18 pkgsrc-2023Q2-base:1.18 pkgsrc-2023Q1:1.18.0.16 pkgsrc-2023Q1-base:1.18 pkgsrc-2022Q4:1.18.0.14 pkgsrc-2022Q4-base:1.18 pkgsrc-2022Q3:1.18.0.12 pkgsrc-2022Q3-base:1.18 pkgsrc-2022Q2:1.18.0.10 pkgsrc-2022Q2-base:1.18 pkgsrc-2022Q1:1.18.0.8 pkgsrc-2022Q1-base:1.18 pkgsrc-2021Q4:1.18.0.6 pkgsrc-2021Q4-base:1.18 pkgsrc-2021Q3:1.18.0.4 pkgsrc-2021Q3-base:1.18 pkgsrc-2021Q2:1.18.0.2 pkgsrc-2021Q2-base:1.18 pkgsrc-2021Q1:1.17.0.6 pkgsrc-2021Q1-base:1.17 pkgsrc-2020Q4:1.17.0.4 pkgsrc-2020Q4-base:1.17 pkgsrc-2020Q3:1.17.0.2 pkgsrc-2020Q3-base:1.17 pkgsrc-2020Q2:1.16.0.2 pkgsrc-2020Q2-base:1.16 pkgsrc-2020Q1:1.15.0.2 pkgsrc-2020Q1-base:1.15 pkgsrc-2019Q4:1.14.0.16 pkgsrc-2019Q4-base:1.14 pkgsrc-2019Q3:1.14.0.12 pkgsrc-2019Q3-base:1.14 pkgsrc-2019Q2:1.14.0.10 pkgsrc-2019Q2-base:1.14 pkgsrc-2019Q1:1.14.0.8 pkgsrc-2019Q1-base:1.14 pkgsrc-2018Q4:1.14.0.6 pkgsrc-2018Q4-base:1.14 pkgsrc-2018Q3:1.14.0.4 pkgsrc-2018Q3-base:1.14 pkgsrc-2018Q2:1.14.0.2 pkgsrc-2018Q2-base:1.14 pkgsrc-2018Q1:1.13.0.4 pkgsrc-2018Q1-base:1.13 pkgsrc-2017Q4:1.13.0.2 pkgsrc-2017Q4-base:1.13 pkgsrc-2017Q3:1.12.0.6 pkgsrc-2017Q3-base:1.12 pkgsrc-2017Q2:1.12.0.2 pkgsrc-2017Q2-base:1.12 pkgsrc-2017Q1:1.11.0.2 pkgsrc-2017Q1-base:1.11 pkgsrc-2016Q4:1.8.0.4 pkgsrc-2016Q4-base:1.8 pkgsrc-2016Q3:1.8.0.2 pkgsrc-2016Q3-base:1.8 pkgsrc-2016Q2:1.7.0.10 pkgsrc-2016Q2-base:1.7 pkgsrc-2016Q1:1.7.0.8 pkgsrc-2016Q1-base:1.7 pkgsrc-2015Q4:1.7.0.6 pkgsrc-2015Q4-base:1.7 pkgsrc-2015Q3:1.7.0.4 pkgsrc-2015Q3-base:1.7 pkgsrc-2015Q2:1.7.0.2 pkgsrc-2015Q2-base:1.7 pkgsrc-2015Q1:1.6.0.2 pkgsrc-2015Q1-base:1.6 pkgsrc-2014Q4:1.5.0.8 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.6 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.4 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.2 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.4.0.8 pkgsrc-2013Q4-base:1.4 pkgsrc-2013Q3:1.4.0.6 pkgsrc-2013Q3-base:1.4 pkgsrc-2013Q2:1.4.0.4 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.2 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.3.0.4 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.2 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.2.0.2 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.1.0.4 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.2 pkgsrc-2011Q4-base:1.1; locks; strict; comment @# @; 1.19 date 2026.06.28.15.40.18; author wiz; state dead; branches; next 1.18; commitid Smom2RBzpbB21ALG; 1.18 date 2021.05.03.17.15.22; author adam; state Exp; branches; next 1.17; commitid Wr8elrEVkkbv1JRC; 1.17 date 2020.08.05.14.05.46; author adam; state Exp; branches; next 1.16; commitid bPU5UUaYIMjpGSiC; 1.16 date 2020.04.27.19.38.23; author adam; state Exp; branches; next 1.15; commitid u5BKF7iB34oKK36C; 1.15 date 2020.03.26.08.33.36; author jperkin; state Exp; branches; next 1.14; commitid FD76yQAvmgcC5T1C; 1.14 date 2018.05.14.06.36.17; author adam; state Exp; branches; next 1.13; commitid hZBdKEJOcqXmneCA; 1.13 date 2017.10.05.08.21.27; author adam; state Exp; branches; next 1.12; commitid WF0eWlC0ZUML3Q9A; 1.12 date 2017.06.15.07.02.53; author adam; state Exp; branches 1.12.6.1; next 1.11; commitid znxebgt5vuERdrVz; 1.11 date 2017.03.24.19.22.28; author joerg; state Exp; branches; next 1.10; commitid Ou9GoQMbDG76ZPKz; 1.10 date 2017.03.24.15.12.30; author joerg; state Exp; branches; next 1.9; commitid kLXHu4NLvdDsBOKz; 1.9 date 2017.01.22.14.43.25; author wiz; state Exp; branches; next 1.8; commitid FRyGO6xT6Wo3pYCz; 1.8 date 2016.07.24.15.25.22; author kamil; state Exp; branches; next 1.7; commitid 8sqMclf1QAF7sAfz; 1.7 date 2015.04.17.00.41.38; author wen; state Exp; branches; next 1.6; commitid gQIAsNZOP64puShy; 1.6 date 2015.02.17.14.23.51; author jperkin; state Exp; branches; next 1.5; commitid 4rBhXDKUTaveXmay; 1.5 date 2014.02.28.09.43.11; author adam; state Exp; branches; next 1.4; commitid h1G7PkvcwiwlMQqx; 1.4 date 2013.02.21.10.59.39; author jperkin; state Exp; branches; next 1.3; 1.3 date 2012.08.14.20.19.21; author fhajny; state Exp; branches; next 1.2; 1.2 date 2012.04.17.17.24.41; author drochner; state Exp; branches; next 1.1; 1.1 date 2011.11.22.20.56.13; author minskim; state Exp; branches; next ; 1.12.6.1 date 2017.10.09.12.23.07; author spz; state Exp; branches; next ; commitid MjQKvQLHiZNOgnaA; desc @@ 1.19 log @py-numpy: update to 2.5.0. Numpy 2.5.0 is a transitional release. It drops support for Python 3.11, marking the end of distutils, and expires a large number of deprecations made in the 2.0.x release. It also improves free threading and brings sorting into compliance with the array-api standard with the addition of descending sorts. There is also a fair amount of preparation for Python 3.15, which will be supported starting with the first rc. Highlights Distutils has been removed. Many expired deprecations. Many new deprecations. Many static typing improvements. Improved support for free threading. Support for descending sorts. @ text @$NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.18 2021/05/03 17:15:22 adam Exp $ Linker needs -shared explictly (at least with GCC 4.7 on SunOS), plus any ABI flags as appropriate. Do not generate debug symbols (remove '-g'). On Darwin, do not use '-bundle' (to avoid Python.framework). Do not use -funroll-loops compiler flag. Do not run a shell command when it is "None". --- numpy/distutils/fcompiler/gnu.py.orig 2021-01-25 07:23:44.000000000 +0000 +++ numpy/distutils/fcompiler/gnu.py @@@@ -53,8 +53,10 @@@@ class GnuFCompiler(FCompiler): return ('gfortran', m.group(1)) else: # Output probably from --version, try harder: - m = re.search(r'GNU Fortran\s+95.*?([0-9-.]+)', version_string) + m = re.search(r'95.*?([0-9-.]+)', version_string) if m: + if m.group(1).split(".") < ["4", "2"]: + self.g2c = "f95" return ('gfortran', m.group(1)) m = re.search( r'GNU Fortran.*?\-?([0-9-.]+\.[0-9-.]+)', version_string) @@@@ -81,13 +83,13 @@@@ class GnuFCompiler(FCompiler): possible_executables = ['g77', 'f77'] executables = { 'version_cmd' : [None, "-dumpversion"], - 'compiler_f77' : [None, "-g", "-Wall", "-fno-second-underscore"], + 'compiler_f77' : [None, "-Wall", "-fno-second-underscore"], 'compiler_f90' : None, # Use --fcompiler=gnu95 for f90 codes 'compiler_fix' : None, - 'linker_so' : [None, "-g", "-Wall"], + 'linker_so' : [None, "-Wall", "-shared"], 'archiver' : ["ar", "-cr"], 'ranlib' : ["ranlib"], - 'linker_exe' : [None, "-g", "-Wall"] + 'linker_exe' : [None, "-Wall"] } module_dir_switch = None module_include_switch = None @@@@ -127,7 +129,7 @@@@ class GnuFCompiler(FCompiler): s = f'Env. variable MACOSX_DEPLOYMENT_TARGET set to {target}' warnings.warn(s, stacklevel=2) os.environ['MACOSX_DEPLOYMENT_TARGET'] = str(target) - opt.extend(['-undefined', 'dynamic_lookup', '-bundle']) + opt.extend(['-undefined', 'dynamic_lookup']) else: opt.append("-shared") if sys.platform.startswith('sunos'): @@@@ -226,7 +228,6 @@@@ class GnuFCompiler(FCompiler): opt = ['-O2'] else: opt = ['-O3'] - opt.append('-funroll-loops') return opt def _c_arch_flags(self): @@@@ -289,13 +290,13 @@@@ class Gnu95FCompiler(GnuFCompiler): possible_executables = ['gfortran', 'f95'] executables = { 'version_cmd' : ["", "-dumpversion"], - 'compiler_f77' : [None, "-Wall", "-g", "-ffixed-form", + 'compiler_f77' : [None, "-Wall", "-ffixed-form", "-fno-second-underscore"], - 'compiler_f90' : [None, "-Wall", "-g", + 'compiler_f90' : [None, "-Wall", "-fno-second-underscore"], - 'compiler_fix' : [None, "-Wall", "-g","-ffixed-form", + 'compiler_fix' : [None, "-Wall", "-ffixed-form", "-fno-second-underscore"], - 'linker_so' : ["", "-Wall", "-g"], + 'linker_so' : ["", "-Wall", "-shared"], 'archiver' : ["ar", "-cr"], 'ranlib' : ["ranlib"], 'linker_exe' : [None, "-Wall"] @@@@ -314,7 +315,7 @@@@ class Gnu95FCompiler(GnuFCompiler): def _universal_flags(self, cmd): """Return a list of -arch flags for every supported architecture.""" - if not sys.platform == 'darwin': + if not sys.platform == 'darwin' or cmd is None: return [] arch_flags = [] # get arches the C compiler gets. @ 1.18 log @py-numpy: updated to 1.20.2 1.20.2: * Update f2py from master. * ``diagflat`` could overflow on windows or 32-bit platforms * Fix refcount leak in f2py ``complex_double_from_pyobj``. * Fix tiny memory leaks when ``like=`` overrides are used * Remove temporary change of descr/flags in VOID functions * Segfault in nditer buffer dealloc for Object arrays * Remove suspicious type casting * remove nonsensical comparison of pointer < 0 * verify pointer against NULL before using it * check if PyArray_malloc succeeded * incorrect error fallthrough in nditer * Backport CI fixes from main. * Add annotations for ``dtype.__getitem__``, ``__mul__`` and... * NameError in numpy.distutils.fcompiler.compaq * Fixed ``where`` keyword for ``np.mean`` & ``np.var`` methods * Update apt package list before Python install * Ensure that re-exported sub-modules are properly annotated * Fix ma coercion list-of-ma-arrays if they do not cast to... * Fix small valgrind-found issues * Fix small issues found with pytest-leaks 1.20.1: * Add missing placeholder annotations * Fix typo in ``numpy.__init__.py`` * don't mutate list of fake libraries while iterating over... * gracefully shuffle memoryviews * Use C linkage for random distributions * fix when GitHub Actions builds trigger, and allow ci skips * Allow unmodified use of isclose, allclose, etc. with timedelta * Allow pickling all relevant DType types/classes * Fix missing signed_char dependency. * Change license date 2020 -> 2021 * CircleCI seems to occasionally time out, increase the limit * Fix f2py bugs when wrapping F90 subroutines. * crackfortran regex simplify * threads.h existence test requires GLIBC > 2.12. * Prepare for the NumPy 1.20.1 release. 1.20.0: * enable multi-platform SIMD compiler optimizations * NEP 36 (fair play) * Deprecate aliases of builtin types in python 3.7+ * `np.resize` negative shape and subclasses edge case fixes * Add the method `permuted` to Generator. * Fix issues with non-reduce broadcasting axes * Ensure PyArray_FromScalar always returns the requested dtype * Technical decisions for new DTypes * Create Preliminary DTypeMeta class and np.dtype subclasses * Avoid exception in NpzFile destructor if constructor raises... * Improved `__str__` for polynomials * Remove Accelerate support * [DOC] Added tutorial about the numpy.ma module. * Add where argument to np.mean * Deprecate passing shape=None to mean shape=() * Ensure indexing errors will be raised even on empty results * improve printing of arrays with multi-line reprs * Correct documentation of ``__array__`` when used as output... * Implement concatenate dtype and casting keyword arguments * Deprecate `numpy.dual`. * Potential fix for divmod(1.0, 0.0) to raise divbyzero and... * Increase guidance and detail of np.polynomial docstring * Add transition note to all lib/poly functions * Rewrite of array-coercion to support new dtypes * Add ``full_output`` argument to ``f2py.compile``. * Deprecate ufunc.outer with matrix inputs * Unify cached (C-level static) imports * Allow attach docs twice but error if wrong * Fix default fallback in genfromtxt * ENH:Umath Replace raw SIMD of unary float point(32-64) with NPYV... * added edge keyword argument to digitize * Update the f2py section of the "Using Python as Glue" page. * Improve `rec.array` function documentation * include dt64/td64 isinstance checks in ``__init__.pxd`` * Clarifications for np.std * Order percentile monotonically * cleanups to quantile * Update master after 1.19.x branch. * Ensure out argument is returned by identity for 0d arrays * Clarifications for ``np.var``. * Add a note about performance of isclose compared to math.isclose * Clean up the implementation of quantile * Bump hypothesis from 5.12.0 to 5.14.0 * Improve "tobytes" docstring. * Fix tools/download-wheels.py. * Require Python >= 3.6 in setup.py * Fix malformed docstrings in ma. * Optimize Cpu feature detect in X86, fix for GCC on macOS * np.info does not show keyword-only arguments * Fix bad reference in ``numpy.ma`` * Fix detecting and testing armhf features * Fix packbits documentation rendering, * Fix troubleshooting code snippet when env vars are empty * relpath fails for different drives on windows * Fix ``np.ma.core.doc_note`` * Bump numpydoc version * Stop Using PyEval_Call* and simplify some uses * Improve the ARM cpu feature detection by parsing /proc/cpuinfo * Reconstruct Testing Guideline. * Cleanup 'tools/download-wheels.py' * link np.interp to SciPy's interpolation functions (closes... * Fix spelling typo - homogenous to homogeneous. * Use AVX-512 for np.isnan, np.infinite, np.isinf and np.signbit * Fix refcounting in add_newdoc * Create a link for the circleCI artifact * Fix dtype leak in `PyArray_FromAny` error path * Indentation for docstrings * Fix small leaks in error path and ``empty_like`` with shape * Streamline download-wheels. * Fix an obvious mistake in a message printed in doc/Makefile. * Bump cython from 0.29.17 to 0.29.19 * Bump hypothesis from 5.14.0 to 5.15.1 * Bump pytest-cov from 2.8.1 to 2.9.0 * Use AVX-512 for np.frexp and np.ldexp * add index for user docs. * ARM Neon implementation with intrinsic for np.argmax. * Tighten howto-docs guide * Make ctypes optional on Windows * Hardcode buffer handling for simple scalars * Stop uploading wheels to Rackspace. * Use a raw string for the fromstring docstring. * Validate and disable CPU features in runtime * Implement the NumPy C SIMD vectorization interface * Update make dist html target. * Update sphinx conf to use xelatex. * turn on codecov patch diffs * endpoints of array returned by geomspace() should match... * support python 3.10 * Chain some exceptions. * Improve intersect1d docstring * Update assert_warns parameter list * Simplify assert_warns in test_io.py * make NEP 18 status Final * Add style guide to howto_document * NEP for C style guide * Fix description of dtype default in linspace * Add extern to PyArrayDTypeMeta_Type declaration * Add a reference into NEP 29, * Catch remaining cases of Py_SIZE and Py_TYPE as lvalues * Fix deprecated warn for Intel/Apple/Clang Compiler * make clearer that sinc is normalized by a factor pi * update roadmap * fixes einsum output order with optimization * add a "make show" command to doc/Makefile * Add a NEP link to all neps. * extend error message when Accelerate is detected * Improve assert_warns docstring with example * Bump hypothesis from 5.15.1 to 5.16.0 * Fix development_workflow links * fix GCC 10 major version comparison * install mingw32 v7.3.0 for win32 * Fixes for 18 broken links * use zip instead of range in piecewise * add `norm=forward,backward` to numpy.fft functions * Optimize the performace of np.packbits in ARM-based machine. * Fix result when a gufunc output broadcasts the inputs. * Point Contributing page to new NEP 45 * make Py_SET_SIZE and Py_SET_TYPE macros a bit safer * Error when ``size`` is smaller than broadcast input... * Correct MV Normal sig * raise IEEE exception on AIX * only single-polynomial fitting in np.polynomial.Polynomial.fit() * Minor rounding correction in Generator.binomial * trivial doc style fix in NEP 45. * add type stubs from numpy-stubs * make callbacks threadsafe * replace \t by whitespace for readability * MAINT:ARMHF Fix detecting feature groups NEON_HALF and NEON_VFPV4 * Improve buffer speed * move thread-local declaration definition to common... * Fix cython warning in random/_common.pyx. * Bump pytest from 5.4.2 to 5.4.3 * Remove non-threadsafe sigint handling from fft calculation * SSE2 intrinsic implementation for float64 input of np.enisum * Ensure SeedSequence 0-padding does not collide with spawn... * Remove deprecated numeric types and deprecate remaining * drop win32 3.7, 3.6 builds * simplifying annotations for np.core.from_numeric * make typing module available at runtime * Throw TypeError on operator concat on Numpy Arrays * Add new tests for array coercion * fix sin/cos bug when input is strided array * fix name of first parameter to dtype constructor in type... * Added an example for np.transpose(4d_array) * changed np.generic arguments to positional-only * Clarify dtype default for logspace and geomspace * Disallow complex args in arange * Raise TypeError for float->timedelta promotion * Add ``__f2py_numpy_version__`` attribute to Fortran modules. * Fix reference count leak in mapping.c * Move and improve ``test_ignore_nan_ulperror``. * make addition of types a "new feature" in release notes * Avx512 intrinsics implementation for float64 input np.log * Bump pytest-cov from 2.9.0 to 2.10.0 * Bump hypothesis from 5.16.0 to 5.16.1 * bump mypy version to 0.780 * Openblas 0.3.10 * add annotation for abs * check if std=c99 is really required * disable Shippable cache * Expand array-creation benchmarks * Implemented two dtype-related TODO's * Initialize stop-reading in array_from_text * Updated documentation for numpy.squeeze * add tool to find functions missing types * ENH,BUG:distutils Remove the origins from the implied features * Some code clean up in loadtxt * remove obsolete goal_time param * Fix uint->timedelta promotion to raise TypeError * Replace `PyUString_GET_SIZE` with `PyUnicode_GetLength`. * Fix outdated docs link * add a static typing test for memoryviews as ArrayLikes * Added annotations to 8 functions from np.core.fromnumeric * Update master after 1.19.0 release. * Allow genfromtxt to unpack structured arrays * Prefer generator expressions over list comprehensions... * cross-reference numpy.dot and numpy.linalg.multi_dot * Bump hypothesis from 5.16.1 to 5.16.3 * Bump mypy from 0.780 to 0.781 * Add lib.format.open_memmap to autosummary. * Fix bug in AVX complex absolute while processing array of... * remove blacklist/whitelist terms * Add extra debugging information to CPU features detection * Add support for file like objects to np.core.records.fromfile * updated gcc minimum recommend version to build from source * Allow `None` to be passed to certain `generic` subclasses * fixed docstring for descr_to_dtype * Remove "matrix" from `triu` docstring. * add py.typed sentinel to package manifest * Fixup quantile tests to not use `np.float` * Add CPU entry for Emscripten / WebAssembly * Disable Python 3.9-dev testing. * Add instruction about stable symlink * Disable use_hugepages in case of ValueError * Add dep directive to alen docstring. * Add RPATH support for AIX * fix typo * Fix PyArray_SearchSorted signature. * Add annotations to the last 8 functions in numpy.core.fromnumeric * Use f90 compiler specified in f2py command line args for... * reword random c-api introduction, cython is documented in... * Tweak a sentence about broadcasting. * Prepend `ma.` to references in ``numpy.ma`` * Remove redundant word * add unique() to See Also of repeat() * add example to unique() and make connection to repeat() * Chaining exceptions in numpy/core/_internal.py * add manylinux1 OpenBlAS 0.3.10 hashes and test for them * Add Matti Picus to steering council page * make dtype generic over scalar type * Added a section in the 'Iterating over arrays' doc page... * Tidy exception chaining in _datasource.py * Fixes for deprecated functions in scalartypes.c.src * Bump mypy from 0.781 to 0.782 * Bump hypothesis from 5.16.3 to 5.19.0 * Update NumPy logos * Remove unneeded call to PyUnicode_READY * Fix deprecated functions in scalarapi.c * switch to logo with text * Bring the NumPy C SIMD vectorization interface "NPYV"... * Add basic benchmarks for scalar indexing and assignment * fix decode error when building and get rid of warn * Minor RST formatting. * update cython to 0.29.21 * Upgrade to Python 3.8 for DEBUG testing. * Fix RST/numpydoc standard. * Move typing tests * Explicitly disallow object user dtypes * add example to corrcoef function * adding docs on passing dimensions as tuple to ndindex * Remove overzealous automatic RST link * Add explanation of 'K' and 'A' layout options to 'asarray*'... * Add a reST label to /user/building.rst * fix mgrid output for lower precision float inputs * temporarily disable OpenBLAS hash checks * Do not inherit flags from the structured part of a union... * replace dec.slow with pytest.mark.slow * Make void scalar to array creation copy when dtype is... * fix inconsistent parameter name in np.ndindex docstring * setuptools 49.2.0 emits a warning, avoid it * add examples to random number generator pages * describe ufunc copy behavior when input and output overlap * Fix ``runtest.py`` warning. * Add pandas to doc_requirements.txt * fix sphinx deprecation * Avoid using uninitialized bytes in getlimits.py. * Explaining why datetime64 doesn't work for allclose + isclose * improve SIMD features tables * update openblas hashes, re-enable check * Remove code that will never run * Bump hypothesis from 5.19.0 to 5.19.1 * linspace should round towards -infinity * Disable shippable until we can fix it. * Remove Duplicated Code (function extract rmap) * Remove Duplicated Code * Change for loop (range -> for each) * Deprecate NumPy object scalars * clarify whats required for new features * fix new compiler warnings on clang * fix the search dir of dispatch-able sources * Remove deprecated python function 'file()' * Validate output size in bin- and multinomial * Pin setuptools * Update compiler check for AVX-512F * fix the test for ``np.ones`` * edit to the documentation of lib/polynomial.py/polyfit * Configure hypothesis in ``np.test()`` for determinism,... * Remove unused pip install * Fix bad MPL kwarg in docs * Fix types including curly braces * Remove the links for ``True`` and ``False`` * Integrate the new CPU dispatcher with umath generator * Fix wrong markups in `arrays.dtypes` * Remove links for C codes * Fix the declarations of C fuctions * also use Py_SET_REFCNT instead of Py_REFCNT * Chaining exceptions in numpy/__init__.py * update val to be scalar or array like optional * Bump hypothesis from 5.19.1 to 5.20.2 * Speed up trim_zeros * Fix string/bytes to complex assignment * Add correctness vs strictness consideration for np.dtype * Add ufunc docstring to generated docs. * Update master after 1.19.1 release. * Revert "Merge pull request 16248 from alexrockhill/edge" * Fix memory leak of buffer-info cache due to relaxed strides * Store exported buffer info on the array * update OpenBLAS build * Allow array-like types to be coerced as object array elements * Deprecate size-one ragged array coercion * Change the name of the folder "icons" to "logo". * enable colors for `runtests.py --ipython` * Clarify input to irfft/irfft2/irfftn * Bump hypothesis from 5.20.2 to 5.23.2 * update numpy/lib/arraypad.py with appropriate chain exception * Use arm64 instead of aarch64 on travisCI. * Chain exception in ``distutils/fcompiler/environment.py``. * Added the `order` parameter to `np.array()` * Add Neon SIMD implementations for add, sub, mul, and div * Fixed typo in lib/recfunctions.py * Add pypy win32 CI testing. * Increase the use of `Literal` types * Add NumPy declarations to be used by Cython 3.0+ * Add the new NumPy logo to Sphinx pages * Bump hypothesis from 5.23.2 to 5.23.9 * Bump pytest from 5.4.3 to 6.0.1 * pin setuptools < 49.2.0 * Revise glossary page * clip() allows arguments. * Updated NEP-35 with keyword-only instruction * Simplify scalar power * Improve error handling in umathmodule setup * Disclaimer for FFT library * Add error return to all casting functionality and NpyIter * fix a compile and a test warning * Clarify that `np.char` comparison functions always return... * Use a less ambiguous example for array_split * Bump hypothesis from 5.23.9 to 5.23.12 * core._internal style fixups * Remove _EXTRAFLAGS variable * fix typo in polydiv that prevented promotion to poly1d * Revert boolean casting back to elementwise comparisons... * Raise error on complex input to i0 * Remove obsolete conversion to set * Remove the deprecated financial functions. * Remove uses of PyString_FromString. * use the pydata_sphinx_theme * Fixes duplication of toctree content * Bump pytest-cov from 2.10.0 to 2.10.1 * Bump hypothesis from 5.23.12 to 5.26.0 * Adjust NEP-35 to make it more user-accessible * Add placeholder stubs for all sub-modules * Split einsum into multiple files * Handle errors from the PyCapsule API * Fix spacing in vectorize doc * Remove `np.ctypeslib.ctypes_load_library` * make spacing consistent in NEP 41 bullet points * fix ilp64 blas dot/vdot/... for strides > int32 max * allow running mypy through runtests.py * Remove duplicated symbols from link step * Check for reduce intrinsics and AVX512BW mask operations * Chain some exceptions in arraysetops. * Chain ValueError in ma.timer_comparison * Rewrite promotion using common DType and common instance * Make arrayprint str and repr the ndarray defaults. * Fix a few typos. * Change handling of the expired financial functions. * Add annotations to 3 functions in `np.core.function_base` * Replace uses of PyString_AsString. * ``Replace PyUString_*`` by ``PyUnicode_*`` equivalents. * Replace PyInt macros with their PyLong replacement * Add support for the abstract scalars to cython code * Fix incorrect cython definition of npy_cfloat * Clean up some Npy_ vs Py_ macro usage * Remove references to PyCObject * Update numpy4matlab * Clean up some more bytes vs unicode handling * Remove Void special case for "safe casting" * Remove redundant headers * Remove NPY_COPY_PYOBJECT_PTR * Merge the npysort library into multiarray * Add tests mapping out the rules for metadata in promotion * revert trim_zeros changes from gh-16911 * Make `np.complexfloating` generic w.r.t. `np.floating` * remove calls to PyUnicode_AsASCIIString,... * Added missing methods to `np.flatiter` * Correct error in description of ndarray.base * Document `dtype.metadata` * Use utf8 strings in more of datetime * Add placeholder stubs for `ndarray` and `generic` * Bump hypothesis from 5.26.0 to 5.30.0 * Remove some callers of functions in numpy.compat * Make the window functions exactly symmetric * Improve error handling in npy_cpu_init * Fix the documented signatures of four `ufunc` methods * Make the `NPY_CPU_DISPATCH_CALL` macros expressions not... * Fixed headings for tutorials so they appear at new theme... * Canonical_urls * Fix various issues with the `np.generic` annotations * enabled negation of library choices in NPY_*_ORDER * comment out metadata added via javascript * move informational files from numpy.doc.*.py to their... * use sysconfig not distutils.sysconfig where possible * Fix dimension discovery of within array ragged cases * Added templates for different types of issues. * Deprecated ndindex.ndincr * Remove old PY_VERSION_HEX and sys.version_info code * Avoid using ``np.random`` in typing tests. * Fix link quick-start in old random API functions * ``__array_interface__`` data address cannot be bytes * Run slow CI jobs earlier so builds finishes sooner * Add tool to help speed up Travis CI * Fix docstring cross-referencing * Added a PR "Reviewer guidelines" document. * work around a bug in the new theme * add fused multiply subtract/add intrinics for all supported... * Bump hypothesis from 5.30.0 to 5.33.0 * Bump pydata-sphinx-theme from 0.3.2 to 0.4.0 * add new glossary terms * remove some glosssary terms * Fix the path to `mypy.ini` in `runtests.py` * sysconfig attributes/distutils issue * Annotate the arithmetic operations of `ndarray` and `generic` * Merge together index page content into a single file * Fix a typo in shape_base. * Pass optimizations arguments to asv build * Change the financial name access warning to DeprecationWarning * Update master after 1.19.2 release. * Simplify ufunc pickling * Cleanup some pystring macros * Replace remaining PyString macros. * Replace PyUString_Check by PyUnicode_Check. * fix pickling user-scalars by allowing non-format buffer... * Replace some ``pyint_*`` macros defined in ``npy_3kcompat``. * set upper versions for build dependencies * (dtype-transfer) make copyswapn and legacy cast wrapper... * Replace PyBaseString_Check by PyUnicode_Check * Replace a couple of missed npy_3kcompat macros * pin pygments to 2.6.1, 2.7.0 breaks custom NumPyC lexer * Bump hypothesis from 5.33.0 to 5.35.1 * Bump pytest from 6.0.1 to 6.0.2 * Move the `fromnumeric` annotations to their own stub file * Syntax-highlight .src files on github * Mark vendored/generated files in .gitattributes * Cleanup f2py/cfuncs.py * Set deprecated fields to null in PyArray_InitArrFuncs * allow registration of hard-coded structured dtypes * Add annotations for five array construction functions * Fix incorrect `.. deprecated::` syntax that led to this... * improve `issubdtype` and scalar type docs * Remove the tables of scalar types, and use `..autoclass`... * update lexer highlighting and make numpydocs a regular... * Chaining exceptions in npyio.py * Regenerate table in NEP 29 (add numpy 1.18 and 1.19 to list) * Fix syntax errors in docstrings for versionchanged, versionadded * Add partial/non-contig load and store intrinsics for 32/64-bit * Support for the NVIDIA HPC SDK nvfortran compiler * Fix a macOS build failure when `NPY_BLAS_ORDER=""` * Add PR prefix labeler and numpy prefix mapping * Guide to writing how-tos * How-to guide for I/O * clarify residuals return param * Add Npy__PyLong_AsInt function. * Bump hypothesis from 5.35.1 to 5.35.3 * Finish replacing PyInt_Check * Remove an obsolete paragraph. * Edit nep-0042 for more clarity * Add annotations for remaining `ndarray` / `generic` non-magic... * Fixes module data docstrings. * Fix default_rng docstring * ensure _UFuncNoLoopError can be pickled * Minor grammatical correction in quickstart doc. * NumPy restyling for pydata theme * Fix docstring for np.matmul * Bump hypothesis from 5.35.3 to 5.36.1 * Remove old debug print statement. * Replace "About NumPy" with "Document conventions" * Update info on doc style rules * Fix default void, datetime, and timedelta in array coercion * Replace append_metastr_to_string function. * Fixed ARGOUTVIEWM memory deallocation. * rm incorrect alias from recarray user article. * Rewrite can-cast logic in terms of NEP 42 * Add arraysetops to an autosummary * Replace PyUString_ConcatAndDel in nditer_constr.c. * Replace PyUString_ConcatAndDel in mapping.c. * Replace the module-level `__getattr__` with explicit type... * in PR template, set expectations for PR review timeline * Cleanup remaining PyUString_ConcatAndDel use. * Special case how numpy scalars are coerced to signed integer * Mark the typing tests as slow * Fix a parameter type in the `putmask` docs * adding operational form documentation for array ops * Deprecate coercion to subarray dtypes * Fix memory leak in array-coercion error paths * chains nested try-except in numpy/ma/core.py * Remove bogus reference to _a_ * Fix formatting issues in description of .c.src files * nep-0029 typo correction * Move aliases for common scalar unions to `numpy.typing` * Fix memoryleaks related to NEP 37 function overrides * Fix the links for ``Ellipsis`` * add references to einops and opt_einsum * Disable 32 bit PyPy CI testing on Windows. * Security warning for issues template * Fix "Feature request" spelling in issue templates * Chaining exception in numpy\numpy\ma\mrecords.py * Cleaner template for PRs * fix exception chaining in format.py * Warn on unsupported Python 3.10+ * Typed` to the PyPi classifier * Fix the references for macros * update NEP 42 with discussion of type hinting applications * Remove CoC pages from Sphinx * Chain exceptions in "_polybase.py" * Bump hypothesis from 5.36.1 to 5.37.0 * add dtype option to numpy.lib.function_base.cov and corrcoef * Fixes incorrect error message in numpy.ediff1d * update code of conduct URL * Add some entries for C types and macros * Add annotations for bitwise operations * add some missing scalar aliases * Fix doctest for full_like * remove os.fspath and os.PathLike backports * Move the `np.core.numeric` annotations to their own stub... * type np.unicode_ as np.str_ * Fix the entries for members of structures * Fix the references for `random.*` * circleCI- merge before build, add -n to sphinx * Remove duplicate placeholder annotations * Use consistent lowercase on docs landing page * fix incompatible type comparison in numpy.lib.utils.info * Fix failures in master related to userdtype registeration * remove `sys` from the type stubs * Fix empty 'C style guide' page * Rename 'Quickstart tutorial' * Added the Final feature for all constants * Fewer blank lines in PR template * Display real license on license page * Add docstrings for some scalar types * Update top links in landing page * Make merge ref grabbing conditional on the PR being active * Fix Bool types in C functions * Fix some links and typos * Cleanup compatibility code for pathlib * Fix a typo * add function to get broadcast shape from a given set of... * Fixed crash on self-referential dtypes * Bump hypothesis from 5.37.0 to 5.37.1 * Bump pydata-sphinx-theme from 0.4.0 to 0.4.1 * Bump mypy from 0.782 to 0.790 * Make `np.number` generic with respect to its precision * fix conditional for PR merge command * explicit disabling `CCompilerOpt` in F2PY * Cygwin Workaround for 14787 on affected platforms * Fix the entries of C functions * Fix wrong blockquotes * Add NEP 43 links to NEP 42 * Remove directives for some constants * Update the annotations in `np.core.numeric` * Add the entry for ``NPY_FEATURE_VERSION`` * Fix typos * Add annotations for three new constants * Fix Boolean array indexing typo * Respect dtype of all-zero argument to poly1d * include additional feedback * Cleanup swig for Python 3. * Move the `np.core.numerictypes` annotations to their own... * Bump hypothesis from 5.37.1 to 5.37.3 * Add annotations for `np.core._type_aliases` * Typo in lexsort docstring * Coercion/cast of array to a subarray dtype will be fixed * Clean up the errors of the typing tests * Fixed file handle leak in array_tofile. * Fix a broken `np.core.numeric` test * Mark dead code as intentional for clang. * removed old references to submodule licenses * Fix typos (general documentation) * Fully qualify license trove classifier * mac dylib treated as part of extra objects by f2py * Add annotations for 9 `ndarray`/`generic` magic methods * Fix the document for arrays interface * Conversion of some strings to f-strings * Fix some references * Valid docstring for config_py function show() * Conversion of some strings to fstrings, part II * Conversion of some strings to fstrings, part III * Tidy up references to str_ / bytes_ * Conversion of some strings to fstrings, part iv * Fix the references for ``__array_*__`` * Add entries for macros * Add ``identity_value`` to ``PyUFuncObject`` * Replace ``PyCObject`` with ``PyCapsule`` * Don't use Python highlighting for non-python code * Fix some references * Bump hypothesis from 5.37.3 to 5.38.0 * update to OpenBLAS v0.3.12 * Fix reference to atleast_1d * Add annotations for `np.core._ufunc_config` * Add annotations for `np.core.shape_base` * fix np.timedelta64('nat').__format__ throwing an exception * f2py incorrectly translates dimension declarations. * Fix installing Numpy on z/OS * Ensure inner loop signature is complete everywhere * simplify source path names in compilation test * Add a doctest for ``getlincoef`` * Update master after 1.19.3 release. * Make test suite work in FIPS (140-2) Mode * Add a docstring for getarrlen * Update README badge for travis-ci.com * Refine a number of ``np.generic`` annotations * Update release documentation and software * Add sum intrinsics for float/double. * (nditer_impl.h) Use ``intp`` instead of ``char *`` for offset... * Fix small bug in ``make_lite.py``. * Modify Templates * Bump hypothesis from 5.38.0 to 5.41.0 * Bump pytz from 2020.1 to 2020.4 * use a more standard workflow for PyPy * Update master after 1.19.4 release. * Rename ``DtypeLike`` to ``DTypeLike`` * Fix small typos. * Fixed an issue where ``.pyi`` files were ignored by numpy... * Fix Doc Typos & Added Example * Improve the einsum bench by adding new bench cases and variable... * Revert gh-17654 - f2py incorrectly translates dimension... * Add more files to ``.gitgnore`` * Do not import sliding_window_view to main namespace * Do not override ``sliding_window_view`` module to ``numpy`` * Add NEP-35 instructions on reading like= downstream * Use importlib to find numpy root directory in distutils * Remove unused ``**options`` from MaskedArray ``__new__``... * Remove Python 3.6 CI testing. * move linux jobs to github actions * Bump hypothesis from 5.41.0 to 5.41.2 * Fix cblas detection on windows * add pypy3.7 * compare platform.architecture() correctly * Add "performance" category to the release notes * Fix segfault due to out of bound pointer in floatstatus... * Fix buffer export dtype references * Fix memory leaks found using valgrind * Lazy load f2py test utilities * use BUFFERSIZE=20 in OpenBLAS * fix reuses the previous values during the fallback... * update link to website in FUNDING.yml * Add BLD and STY to labeler prefixes. * Simplify Hypothesis configuration * Make like= argument added in NEP-35 strict * Fix up links, code blocks of release note fragments * Minor touchups in npyio * Update mailmap. * Set the ufunc and ndarray ops return type to ``Any`` * Update linalg.py * Fix empty_like docstring * Add missing release fragments to ``upcoming_changes``. * Fix incorrectly passed size in masked processing * Bump hypothesis from 5.41.2 to 5.41.3 * Add back durations flag for DEBUG builds. * Fix subarray dtype used with too large count in fromfile * Fix pickling of scalars with NPY_LISTPICKLE * Update the `numpy.typing` documentation * Fixing boilerplate code example * Add ``__all__`` to `numpy.typing` * Add release note for gh-16161. * Fix incorrect C function prototypes/declarations. * Prepare for the NumPy 1.20.x branch. * use python-version not PYTHON_VERSION * Fix buffer readflag errors and small leaks * Prepare for 1.20.0 release * Remove remaining uses of Python 3.6. * use latest pypy37 not pypy36 * clean up a spurious warning in numpy/typing/setup.py * Speed up default ``where`` in the reduce-like method * remove stray '+' from f-string upgrade * add support for fujitsu compiler to numpy. * 'bool' object has no attribute 'ndim' * Update release notes to mention ``type(dtype) is not np.dtype`` * Replace f-string in setup.py * Ignore fewer errors during array-coercion * Fix a MacOS build failure * Fix crosstalk issues with polynomial str tests. * Ensure tests are not sensitive to execution order * update to OpenBLAS 0.3.13 * Futurewarn on requiring __len__ on array-likes * make a variable volatile to work around clang compiler bug * add back sdist test run * Fix concatenation when the output is "S" or "U" * Fix detecting aarch64 on macOS * Prepare for 1.20.0rc2 release. * Generate the main dispatcher config header into the... * Fix _simd module build for 64bit ARM/NEON clang * Update 1.20.x after 1.19.5 release. * Fix promotion of half and string * improve avx512 mask logical operations * Promotion between strings and objects was assymetric * Use explicit reexports for numpy.typing objects * Keep ignoring most errors during array-protocol lookup * warn on unrecognized objects, fix empty... * update OpenBLAS to af2b0d02 * Clarify the type alias deprecation message * Ensure too many advanced indices raises an exception * add an 'apt update' * Prepare for the NumPy 1.20.0 release. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.17 2020/08/05 14:05:46 adam Exp $ @ 1.17 log @py-numpy: updated to 1.19.1 1.19.1 * MAINT, CI: disable Shippable cache * MAINT: Replace `PyUString_GET_SIZE` with `PyUnicode_GetLength`. * REL: Fix outdated docs link * BUG: raise IEEE exception on AIX * BUG: Fix bug in AVX complex absolute while processing array of... * TST: Add extra debugging information to CPU features detection * BLD: Add CPU entry for Emscripten / WebAssembly * TST: Disable Python 3.9-dev testing. * MAINT: Disable use_hugepages in case of ValueError * BUG: Fix PyArray_SearchSorted signature. * MAINT: Fixes for deprecated functions in scalartypes.c.src * MAINT: Remove unneeded call to PyUnicode_READY * MAINT: Fix deprecated functions in scalarapi.c * BLD, ENH: Add RPATH support for AIX * BUG: Fix default fallback in genfromtxt * BUG: Added missing return after raising error in methods.c * BLD: update cython to 0.29.21 * MAINT: setuptools 49.2.0 emits a warning, avoid it * BUG: Validate output size in bin- and multinomial * BLD, MAINT: Pin setuptools * DOC: Reconstruct Testing Guideline. * TST, BUG: Re-raise MemoryError exception in test_large_zip's... * BUG,DOC: Fix bad MPL kwarg. * BUG: Fix string/bytes to complex assignment * REL: Prepare for NumPy 1.19.1 release 1.19.0 * ENH: add identity kwarg to frompyfunc * TST: check exception details in refguide_check.py * ENH: improve runtime detection of CPU features * TST: Add assert_array_equal test for big integer arrays. * MAINT: Remove unnecessary 'from __future__ import ...' statements * MAINT: Fix typos and copy edit NEP-0030. * DOC: NumPy for absolute beginners tutorial * NEP: Proposal for array creation dispatching with `__array_function__` * ENH: Use AVX-512F for np.maximum and np.minimum * BUG: Fix numpy.random.dirichlet returns NaN for small 'alpha'... * API: Use `ResultType` in `PyArray_ConvertToCommonType` * MAINT,API: ignore and NULL fasttake/fastputmask ArrFuncs slots * BUG: Make ``ediff1d`` kwarg casting consistent * DOC: linalg: Include information about scipy.linalg. * BUG: Use ``__array__`` during dimension discovery * MAINT: cleanup compat.py3k.py * ENH: f2py: improve error messages * [DOC] LaTeX: fix preamble (closes 15026) * BUG: add endfunction, endsubroutine to valid fortran end words * TST: Add test for object method (and general unary) loops * REL: Update master after 1.18.x branch. * DOC: Update HOWTO_RELEASE.rst.txt * API, DOC: change names to multivariate_hypergeometric, improve... * DOC: Fix statement about norms * MAINT: follow-up cleanup for blas64 PR * DOC: add docstrings to refguide-check * Revert "DEP: issue deprecation warning when creating ragged array... * ENH: add support for ILP64 OpenBLAS (without symbol suffix) * DOC: correct version for NaT sort * TST: Check requires_memory immediately before the test * MAINT: core: Fix a very long line in the ufunc docstrings. * BUG: test, fix flexible dtype conversion on class with __array__ * TST: add value to pytest.ini for pytest6 compatibility * MAINT: Ragged cleanup * DOC: bring the out parameter docstring into line with ufuncs * ENH: f2py: add --f2cmap option for specifying the name of .f2py_f2cmap * TST: add BLAS ILP64 run in Travis & Azure * MAINT: Fix expm1 instability for small complex numbers. * MAINT: random: Remove a few unused imports from test files. * MAINT: Bump pytest from 5.3.1 to 5.3.2 * API: remove undocumented use of __array__(dtype, context) * MAINT,CI: fix signed-unsigned comparison warning * DOC: Update documentation of np.clip * DOC: Remove reference to basic RNG * MAINT: Fix randint 0d limits and other 0d cleanups * DOC: Fix typos, via a Levenshtein-style corrector * MAINT: CI: Clean up .travis.yml * DOC: Correct choice signature * DOC: Correct documentation in choice * TST: shippable build efficiency * BUG: ensure reduction output matches input along non-reduction... * REL: Update master after NumPy 1.18.0 release. * MAINT: Update pavement.py for towncrier. * DOC: update cholesky docstring regarding input checking * DOC: update documentation on how to build NumPy * DOC: add moved modules to 1.18 release note * MAINT: Update required cython version to 0.29.14. * BUG: searchsorted: passing the keys as a keyword argument * BUG: use tmp dir and check version for cython test * TST: improve assert message of assert_array_max_ulp * MAINT: unskip test on win32 * ENH: Add property-based tests using Hypothesis * BUG: test, fix for c++ compilation * DOC: Adding instructions for building documentation to developer... * DOC: NEP 37: A dispatch protocol for NumPy-like modules * MAINT: Do not use private Python function in testing * DOC: Improvements to Quickstart Tutorial. * BUG: distutils: fix msvc+gfortran openblas handling corner case * BUG: lib: Fix handling of integer arrays by gradient. * MAINT: lib: A little bit of clean up for the new year. * REL: Update master after NumPy 1.16.6 and 1.17.5 releases. * DEP: records: Deprecate treating shape=0 as shape=None * ENH: build fallback lapack_lite with 64-bit integers on 64-bit... * MAINT: linalg: use symbol suffix in fallback lapack_lite * DOC: typo in release.rst * NEP: universal SIMD NEP 38 * MAINT: Remove unused int_asbuffer * MAINT: Cleaning up PY_MAJOR_VERSION/PY_VERSION_HEX * MAINT: Clean up more PY_VERSION_HEX * MAINT: Remove implicit inheritance from object class * MAINT: only add --std=c99 where needed * MAINT: Remove Python2 newbuffer getbuffer * MAINT: Py3K array_as_buffer and gentype_as_buffer * MAINT: Remove references to non-existent sys.exc_clear() * DOC: Update HOWTO_RELEASE.rst * MAINT: cleanup use of sys.exc_info * MAINT: Eliminate some calls to `eval` * MAINT: Improve const-correctness of shapes and strides * DOC: clarify the effect of None parameters passed to ndarray.view * MAINT: Improve const-correctness of string arguments * MAINT: Delete numpy.distutils.compat * MAINT: Implement keyword-only arguments as syntax * MAINT: Remove FIXME comments introduced in the previous commit * MAINT: Work with unicode strings in `dtype('i8,i8')` * BUG: Use PyDict_GetItemWithError() instead of PyDict_GetItem() * MAINT: Remove python2 array_{get,set}slice * DOC: Add some missing functions in the list of available ufuncs. * MAINT: Tidy PyArray_DescrConverter * MAINT: remove duplicated if statements between DescrConverters * BUG: Fix PyArray_DescrAlignConverter2 on tuples * MAINT: Remove Python2 ndarray.__unicode__ * MAINT: Remove Python 2 divide * MAINT: minor formatting fixups for NEP-37 * MAINT: Post NumPy 1.18.1 update. * MAINT: travis-ci: Update CI scripts. * BENCH: Add benchmark for small array coercions * BUILD: use standard build of OpenBLAS for aarch64, ppc64le, s390x * BENCH: Add basic benchmarks for take and putmask * MAINT: Cleanup most PY3K #ifdef guards * DOC: BLD: add empty release notes for 1.19.0 to fix doc build... * MAINT: Use a simpler return convention for internal functions * MAINT: Simplify np.int_ inheritance * DOC" Update np.full docstring. * MAINT: Express PyArray_DescrAlignConverter in terms of _convert_from_any * MAINT: Push down declarations in _convert_from_* * MAINT: C code simplifications * BUG: Add missing error handling to _convert_from_list * DOC: Added tutorial about linear algebra on multidimensional... * MAINT: Refactor dtype conversion functions to be more similar * DOC: Updating f2py docs to python 3 and fixing some typos * MAINT: Remove NPY_PY3K constant * MAINT: Remove sys.version checks in tests * MAINT: cleanup sys.version dependant code * MAINT: Ensure `_convert_from_*` functions set errors * MAINT: Avoid escaping unicode in error messages * MAINT: Change file extension of ma README to rst. * BUG: fix NameError in clip nan propagation tests * NEP: document reimplementation of NEP 34 * MAINT: fix typos * TST: move pypy CI to ubuntu 18.04 * TST: move _no_tracing to testing._private, remove testing.support * BUG: Add some missing C error handling * MAINT: Remove sys.version checks * DEP: Deprecate `->f->fastclip` at registration time * DOC: document site.cfg.example * MAINT: Fix mistype in histogramdd docstring * DOC, BLD: reword release note, upgrade sphinx version * MAINT: Remove unnecessary calls to PyArray_DATA from binomial... * MAINT: Bump pytest from 5.3.2 to 5.3.3 * MAINT: Remove six * MAINT: Revise imports from collections.abc module * MAINT: remove internal functions required to handle Python2/3... * MAINT: Remove other uses of six module * MAINT: resolve pyflake F403 'from module import *' used * MAINT: Update tox for supported Python versions * MAINT: simd: Avoid signed comparison warning * DOC: Updating Chararry Buffer datatypes * TST: Simplify unicode test * MAINT: Use `with open` when possible * MAINT: Cleanup python2 references * MAINT: Python2 Cleanups * DEP: add PendingDeprecation to matlib.py funky namespace * BUG, MAINT: Stop using the error-prone deprecated Py_UNICODE... * MAINT: clean up some macros in scalarapi.c * MAINT/BUG: Fixups to scalar base classes * BUG: np.load does not handle empty array with an empty descr * MAINT: Revise imports from urllib modules * MAINT: Remove Python3 DeprecationWarning from pytest.ini * MAINT: cleanup _pytesttester.py * BUG: Flags should not contain spaces * MAINT: Clean up, mostly unused imports. * BUG/TEST: core: Fix an undefined name in a test. * MAINT: Replace basestring with str. * ENH: Use AVX-512F for complex number arithmetic, absolute, square... * MAINT: Remove Python2 workarounds * MAINT: Cleanup references to python2 * MAINT, DOC: Remove use of old Python __builtin__, now known as... * ENH: Make use of ExitStack in npyio.py * MAINT: Inline gentype_getreadbuf * MAINT: Use f-strings for clarity. * DEP: Schedule unused C-API functions for removal/disabling * DOC: Improve ndarray.ctypes example * DOC: distutils: Add a docstring to show_config(). * MAINT: Use contextmanager in _run_doctests * MAINT: Updated polynomial to use fstrings * DOC: Fix Incorrect document in Beginner Docs * MAINT: Update core.py with fstrings (issue 15420) * DOC: fix docstrings so `python tools/refguide-check --rst ... * MAINT: Tidy macros in scalar_new * MAINT: use 'yield from ' for simple cases * MAINT: Bump pytest from 5.3.3 to 5.3.4 * BUG: Reject nonsense arguments to scalar constructors * DOC: Update refguide_check note on how to skip code * MAINT: Simplify `np.object_.__new__` * STY,MAINT: avoid 'multiple imports on one line' * MAINT: Cleanup duplicate line in refguide_check * MAINT: cleanup unused imports; avoid redefinition of imports * BUG: Fix for SVD not always sorted with hermitian=True * MAINT: Simplify scalar __new__ some more * MAINT: Eliminate messy _WORK macro * update result of rng.random(3) to current rng output * DOC: Correct get_state doc * MAINT: Use `.identifier = val` to fill type structs * [DOC] Mention behaviour of np.squeeze with one element * ENH: fixing generic error messages to be more specific in multiarray/descriptor.c * BUG: Fixing result of np quantile edge case * TST: mark the top 3 slowest tests to save ~10 seconds * MAINT: Bump pytest from 5.3.4 to 5.3.5 * MAINT: Use True/False instead of 1/0 in np.dtype.__reduce__ * MAINT: Do not allow `copyswap` and friends to fail silently * DOC: Remove duplicated code in true_divide docstring * NEP 40: Informational NEP about current DTypes * DOC: Update unique docstring example * MAINT: Large overhead in some random functions * TST: Fix missing output in refguide-check * MAINT: Simplify arraydescr_richcompare * MAINT: Fix internal misuses of `NPY_TITLE_KEY` * DOC: Update instructions for building/archiving docs. * BUG: Fix inline assembly that detects cpu features on x86(32bit) * update doctests, small bugs and changes of repr * DEP: Do not allow "abstract" dtype conversion/creation * DOC: Minor copyediting on NEP 37. * MAINT: Extract repeated code to a helper function * NEP: edit and move NEP 38 to accepted status * MAINT: Refresh Doxyfile and modernize numpyfilter.py * TST: Accuracy test float32 sin/cos/exp/log for AVX platforms * DOC: Improve the `numpy.linalg.eig` docstring. * NEP 44 - Restructuring the NumPy Documentation * TST: (Travis CI) Use full python3-dbg path for virtual env creation * BUG, DOC: restore missing import * DOC: Removing bad practices from quick start + some PEP8 * TST: Do not create symbolic link named gfortran. * DOC: Document caveat in random.uniform * DOC: numpy.clip is equivalent to minimum(..., maximum(...)) * MAINT: Bump cython from 0.29.14 to 0.29.15 * MAINT: Bump hypothesis from 5.3.0 to 5.5.4 * BLD: manylinux2010 docker reports machine=i686 * BUG: Ignore differences in NAN for computing ULP differences * TST: use manylinux2010 docker instead of ubuntu * TST: mask DeprecationWarning in xfailed test * BUG: Fix bug in AVX-512F np.maximum and np.minimum * BUG: Remove check requiring natural alignment of float/double... * DOC: Add missing imports, definitions and dummy file * DOC: Fix documentation for apply_along_axis * DOC: fix printing, np., deprecation for refguide * MAINT: Pull identical line out of conditional. * DOC: remove broken link in f2py tutorial * BLD: update openblas download to new location, use manylinux2010-base * MAINT: AVX512 implementation with intrinsic for float64 input... * BLD: update OpenBLAS to pre-0.3.9 version * DOC: Refactor `np.polynomial` docs using `automodule` * BUG: fix doctest exception messages * MAINT: Added comment pointing FIXME to relevant PR. * DOC: Make extension module wording more clear * DOC: Improve np.finfo docs * DOC: Improve Benchmark README with environment setup and more... * MAINT: Bump hypothesis from 5.5.4 to 5.6.0 * NEP: move NEP 44 to accepted status * DOC: Fix indexing docs to pass refguide * MAINT: Test during import to detect bugs with Accelerate(MacOS)... * MAINT: Add a fast path to var for complex input * MAINT: Convert shebang from python to python3 * MAINT: replace optparse with argparse for 'doc' and 'tools' scripts * DOC: Fix quickstart doc to pass refguide * MAINT: Fixing typos in f2py comments and code. * DOC: fix SVD tutorial to pass refguide * MAINT: use list-based APIs to call subprocesses * ENH: update numpy.linalg.multi_dot to accept an `out` argument * TST: always use 'python -mpip' not 'pip' * DOC: update datetime reference to pass refguide * DOC: Fix coremath.rst to fix refguide_check * DOC: fix remaining doc files for refguide_check * BUG: fix logic error when nm fails on 32-bit * TST: Remove nose from the test_requirements.txt file. * DOC: Allow NEPs to link to python, numpy, scipy, and matplotlib... * BUG: Guarantee array is in valid state after memory error occurs... * MAINT: Remove non-native byte order from _var check. * MAINT: Add better error handling in linalg.norm for vectors and... * MAINT: doc: Remove doc/summarize.py * BUG: lib: Handle axes with length 0 in np.unique. * DOC: document inconsistency between the shape of data and mask... * BUG, TST: fix f2py for PyPy, skip one test for PyPy * MAINT: Fix swig tests issue * MAINT: CI: Add an explicit 'pr' section to azure-pipelines.yml * MAINT: Bump pytest from 5.3.5 to 5.4.1 * BUG,MAINT: Remove incorrect special case in string to number... * REL: Update master after 1.18.2 release. * ENH: Allow toggling madvise hugepage and fix default * DOC: Fix runtests example in developer docs * DEP: Make issubdtype consistent for types and dtypes * MAINT: remove useless `global` statements * BLD: Add requirements.txt file for building docs * BUG: don't add 'public' or 'private' if the other one exists * ENH: Use TypeError in `np.array` for python consistency * BUG: Add basic __format__ for masked element to fix incorrect... * TST: Add unit test for out=None of np.einsum * MAINT: Cleanups to np.insert and np.delete * BUG: Add error-checking versions of strided casts. * DEP: Make `np.insert` and `np.delete` on 0d arrays with an axis... * DOC: correct possible list lengths for `extobj` in ufunc calls * DEP: Make np.delete on out-of-bounds indices an error * DEP: Forbid passing non-integral index arrays to `insert` and... * TST: Parametrize sort test * TST: switch PyPy job with CPython * TST: Remove code that is not supposed to warn out of warning... * DEP: Do not cast boolean indices to integers in np.delete * MAINT: simplify code that assumes str/unicode and int/long are... * MAINT: pathlib and hashlib are in stdlib in Python 3.5+ * ENH: improved error message `IndexError: too many indices for... * BUG: Fix IndexError for illegal axis in np.mean * DOC: Minor fix to _hist_bin_fd documentation * BUG,DEP: Make `scalar.__round__()` behave like pythons round * DOC: First steps towards docs restructuring (NEP 44) * DOC, TST: enable refguide_check in circleci * DOC: fix typo in C-API reference * DOC: Fix docstring for _hist_bin_auto. * MAINT: Bump cython from 0.29.15 to 0.29.16 * DEP: Deprecate ndarray.tostring() * TST: use draft OpenBLAS build * BUG: Fix eigh and cholesky methods of numpy.random.multivariate_normal * BUG: Check that `pvals` is 1D in `_generator.multinomial`. * DOC: Add missing signature from nditer docstring * BUG: Fix empty_like to respect shape=() * BUG: Do not ignore empty tuple of strides in ndarray.__new__ * MAINT: Remove duplicated code in iotools.py * BUG: Setting a 0d array's strides to themselves should be legal * BUG: Respect itershape=() in nditer * MAINT: Clean-up 'next = __next__' used for Python 2 compatibility * TST: Run test_large_zip in a child process * DOC: Add missing doc of numpy.ma.apply_over_axes in API list. * DOC: Improve record module documentation * DOC: Fixed order of items and link to mailing list in dev docs... * BLD: report clang version on macOS * MAINT: records: Remove private `format_parser._descr` attribute * BUG: random: Disallow p=0 in negative_binomial * ENH: Use sysconfig instead of probing Makefile * DOC: Update np.copy docstring to include ragged case * DOC: Correct private function name to PyArray_AdaptFlexibleDType * MAINT: Fix capitalization in error message in `mtrand.pyx` * DOC: Update np.rollaxis docstring * BUG: fix AttributeError on accessing object in nested MaskedArray. * BUG: Alpha parameter must be 1D in `generator.dirichlet` * NEP: minor maintenance, update filename and fix a cross-reference * MAINT: Bump hypothesis from 5.8.0 to 5.8.3 * TST: Add slow_pypy support * DOC: Added note to angle function docstring about angle(0) being... * MAINT/BUG: Cleanup and minor fixes to conform_reduce_result * BUG: Avoid duplication in stack trace of `linspace(a, b, num=1.5)` * BUG: Fix inf and NaN-warnings in half float `nextafter` * MAINT: Remove 0d check for PyArray_ISONESEGMENT * DEV: Pass additional runtests.py args to ASV * DOC: Fix method documentation of function sort in MaskedArray * NEP: Improve Value Based Casting paragraph in NEP 40 * DOC: add note on flatten ordering in matlab page * TST: Add tests for the conversion utilities * BUG: Unify handling of string enum converters * MAINT: Replace npyiter_order_converter with PyArray_OrderConverter * BUG: Fix lexsort axis check * DOC: Clarify single-segment arrays in np reference * DOC: Change import error "howto" to link to new troubleshooting... * DOC: update first section of NEP 37 (``__array_function__`` downsides) * REL: Update master after 1.18.3 release. * MAINT: Bump hypothesis from 5.8.3 to 5.10.1 * DOC: initialise random number generator before first use in quickstart * ENH: Fix exception causes in build_clib.py * MAINT,TST: Move _repr_latex tests to test_printing. * BUG: missing 'f' prefix for fstring * ENH: Fix exception causes in build_ext.py * DOC: Small typo fixes to NEP 40. * DOC, BLD: update release howto and walkthrough for ananconda.org... * ENH: Chained exceptions in linalg.py and polyutils.py * MAINT: Chain exceptions in several places. * MAINT: Chain exceptions in memmap.py and core.py * BUG: Fix string to bool cast regression * DOC: Added page describing how to contribute to the docs team * DOC: add a note on sampling 2-D arrays to random.choice docstring * BUG: random: Generator.integers(2**32) always returned 0. * BLD: fix path to libgfortran on macOS * DOC: Add axis to random module "new or different" docs * DOC,BLD: Limit timeit iterations in random docs. * DOC: add note on type casting to numpy.left_shift(). * DOC: improve development debugging doc * DOC: tweak neps/scope.rst * MAINT: Bump cython from 0.29.16 to 0.29.17 * MAINT: Bump hypothesis from 5.10.1 to 5.10.4 * TST: use latest released PyPy instead of nightly builds * MAINT, DOC: Improve grammar on a comment in the quickstart * NEP 41: Accept NEP 41 and add DType<->scalar duplication paragraph * BLD: put openblas library in local directory on windows * MAINT: Fix random.PCG64 signature * DOC: Move misplaced news fragment for gh-13421 * DOC: Fix links for NEP 40 in NEP 41 * BUG: lib: Fix a problem with vectorize with default parameters. * ENH: Better error message when ``bins`` has float value in ``histogramdd``. * MAINT: Unify casting error creation (outside the iterator) * BENCH: Default to building HEAD instead of master * REL: Update master after NumPy 1.18.4 release * DOC: Add VSCode help link to importerror troubleshooting * CI: pin 32-bit manylinux2010 image tag * MAINT: Bump pytz from 2019.3 to 2020.1 * BUG: Correct loop order in MT19937 jump * CI: unpin 32-bit manylinux2010 image tag * BUG: add missing numpy/__init__.pxd to the wheel * BUG:Umath remove unnecessary include of simd.inc in fast_loop_macro.h * DOC,BLD: Add :doc: to whitelisted roles in refguide_check. * ENH: resync numpy/__init__.pxd with upstream * ENH: allow choosing which manylinux artifact to download * MAINT: Mark tests as a subpackage rather than data. * Update Docs : point users of np.outer to np.multiply.outer * DOC: Fix link to numpy docs in README. * ENH: Allow pickle with protocol 5 when higher is requested * MAINT: cleanups to _iotools.StringConverter * DOC: Unify cross-references between array joining methods * DOC: Improve docstring of ``numpy.core.records`` * DOC: update Code of Conduct committee * MAINT: Bump hypothesis from 5.10.4 to 5.12.0 * MAINT: Bump pytest from 5.4.1 to 5.4.2 * DOC: warn about runtime of shares_memory * ENH: backport scipy changes to openblas download script * BUG: skip complex256 arcsinh precision test on glibc2.17 * MAINT: Chain exceptions and use NameError in np.bmat * DOC,BLD: pin sphinx to <3.0 in doc_requirements.txt * BUG: fix signature of PyArray_SearchSorted in __init__.pxd * ENH: add manylinux1 openblas hashes * DOC: Fix Generator.choice docstring * DOC: Add PyDev instructions to troubleshooting doc * DOC: Add Clang and MSVC to supported compilers list * DOC: Warn about behavior of ptp with signed integers. * DOC: Update the f2py section of the "Using Python as Glue" page. * BUG: Add missing decref in fromarray error path * ENH: Add tool for downloading release wheels from Anaconda. * DOC: Fix typos and cosmetic issues * REL: Prepare for the 1.19.0 release * BUG: Fix tools/download-wheels.py. * BUG: Require Python >= 3.6 in setup.py * BUG: relpath fails for different drives on windows * DOC: Fix documentation rendering, * BUG: Don't segfault on bad __len__ when assigning. (gh-16327) * MAINT: Stop Using PyEval_Call* and simplify some uses * BLD: Avoid "visibility attribute not supported" warning. * BUG: Allow attaching documentation twice in add_docstring * MAINT: Remove f-strings in setup.py. (gh-16346) * BUG: Indentation for docstrings * BUG: Fix dtype leak in `PyArray_FromAny` error path * ENH: Optimize Cpu feature detect in X86, fix for GCC on macOS... * MAINT: core: Use a raw string for the fromstring docstring. * MAINT: Make ctypes optional on Windows * BUG: Fix small leaks in error path and ``empty_like`` with shape * TST, MAINT: Fix detecting and testing armhf features * DOC,BLD: Update sphinx conf to use xelatex. * DOC,BLD: Update make dist html target. * MAINT, DOC: add index for user docs. * MAINT: support python 3.10 * DOC: Fix troubleshooting code snippet when env vars are empty * REL: Prepare for the NumPy 1.19.0rc2 release. * MAINT:ARMHF Fix detecting feature groups NEON_HALF and NEON_VFPV4 * BUG:random: Error when ``size`` is smaller than broadcast input... * BUG: fix GCC 10 major version comparison * BUG: Ensure SeedSequence 0-padding does not collide with spawn... * BUG: fix sin/cos bug when input is strided array * MAINT: Move and improve ``test_ignore_nan_ulperror``. * REL: Update 1.19.0-changelog.rst for 1.19.0 release. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.16 2020/04/27 19:38:23 adam Exp $ d10 1 a10 1 --- numpy/distutils/fcompiler/gnu.py.orig 2020-07-10 04:52:40.000000000 +0000 d12 1 a12 1 @@@@ -60,8 +60,10 @@@@ class GnuFCompiler(FCompiler): d24 1 a24 1 @@@@ -88,13 +90,13 @@@@ class GnuFCompiler(FCompiler): d41 1 a41 1 @@@@ -134,7 +136,7 @@@@ class GnuFCompiler(FCompiler): d44 1 a44 1 os.environ['MACOSX_DEPLOYMENT_TARGET'] = target d50 1 a50 1 @@@@ -233,7 +235,6 @@@@ class GnuFCompiler(FCompiler): d58 1 a58 1 @@@@ -296,13 +297,13 @@@@ class Gnu95FCompiler(GnuFCompiler): d64 1 a64 1 "-fno-second-underscore"] + _EXTRAFLAGS, d67 1 a67 1 "-fno-second-underscore"] + _EXTRAFLAGS, d69 2 a70 2 + 'compiler_fix' : [None, "-Wall", "-ffixed-form", "-fno-second-underscore"] + _EXTRAFLAGS, d76 1 a76 1 @@@@ -321,7 +322,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.16 log @py-numpy: fix linker options on Darwin @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.15 2020/03/26 08:33:36 jperkin Exp $ d10 1 a10 1 --- numpy/distutils/fcompiler/gnu.py.orig 2018-04-23 16:28:56.000000000 +0000 d12 1 a12 1 @@@@ -63,8 +63,10 @@@@ class GnuFCompiler(FCompiler): d24 1 a24 1 @@@@ -91,13 +93,13 @@@@ class GnuFCompiler(FCompiler): d41 2 a42 2 @@@@ -146,7 +148,7 @@@@ class GnuFCompiler(FCompiler): s = 'Env. variable MACOSX_DEPLOYMENT_TARGET set to 10.3' d44 1 a44 1 d50 1 a50 1 @@@@ -237,7 +239,6 @@@@ class GnuFCompiler(FCompiler): d58 1 a58 1 @@@@ -288,13 +289,13 @@@@ class Gnu95FCompiler(GnuFCompiler): d76 1 a76 1 @@@@ -307,7 +308,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.15 log @py-numpy: Remove bogus empty string argument. Introduced 5 years ago due to variable expansion being committed, the variable in question is no longer required. Noticed by Dr. Thomas Orgis. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.14 2018/05/14 06:36:17 adam Exp $ d6 1 a6 1 On OS X, do not use '-bundle' and 'dynamic_lookup' (to avoid Python.framework). d46 1 a46 1 + opt.extend(['-undefined']) @ 1.14 log @py-numpy: Do not generate debug symbols @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.13 2017/10/05 08:21:27 adam Exp $ d33 1 a33 1 + 'linker_so' : [None, "-Wall", "-shared", ""], d72 1 a72 1 + 'linker_so' : ["", "-Wall", "-shared", ""], @ 1.13 log @py-numpy: update to 1.13.3 NumPy 1.13.3: This is a bugfix release for some problems found since 1.13.1. The most important fixes are for CVE-2017-12852 and temporary elision. Users of earlier versions of 1.13 should upgrade. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.12 2017/06/15 07:02:53 adam Exp $ d5 1 d10 1 a10 1 --- numpy/distutils/fcompiler/gnu.py.orig 2017-09-29 20:10:10.000000000 +0000 d12 1 a12 1 @@@@ -57,8 +57,10 @@@@ class GnuFCompiler(FCompiler): d24 6 a29 2 @@@@ -88,7 +90,7 @@@@ class GnuFCompiler(FCompiler): 'compiler_f77' : [None, "-g", "-Wall", "-fno-second-underscore"], d33 1 a33 1 + 'linker_so' : [None, "-g", "-Wall", "-shared", ""], d36 6 a41 2 'linker_exe' : [None, "-g", "-Wall"] @@@@ -140,7 +142,7 @@@@ class GnuFCompiler(FCompiler): d50 1 a50 1 @@@@ -216,7 +218,6 @@@@ class GnuFCompiler(FCompiler): d58 6 a63 1 @@@@ -271,7 +272,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d65 5 a69 1 'compiler_fix' : [None, "-Wall", "-g","-ffixed-form", d72 1 a72 1 + 'linker_so' : ["", "-Wall", "-g", "-shared", ""], d76 1 a76 1 @@@@ -284,7 +285,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.12 log @NumPy 1.13.0 Highlights * Operations like a + b + c will reuse temporaries on some platforms, resulting in less memory use and faster execution. * Inplace operations check if inputs overlap outputs and create temporaries to avoid problems. * New __array_ufunc__ attribute provides improved ability for classes to override default ufunc behavior. * New np.block function for creating blocked arrays. New functions * New np.positive ufunc. * New np.divmod ufunc provides more efficient divmod. * New np.isnat ufunc tests for NaT special values. * New np.heaviside ufunc computes the Heaviside function. * New np.isin function, improves on in1d. * New np.block function for creating blocked arrays. * New PyArray_MapIterArrayCopyIfOverlap added to NumPy C-API. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.11 2017/03/24 19:22:28 joerg Exp $ d9 1 a9 1 --- numpy/distutils/fcompiler/gnu.py.orig 2017-06-07 15:26:35.000000000 +0000 d21 3 a23 3 m = re.search(r'GNU Fortran.*?\-?([0-9-.]+)', version_string) if m: @@@@ -87,7 +89,7 @@@@ class GnuFCompiler(FCompiler): d32 1 a32 1 @@@@ -139,7 +141,7 @@@@ class GnuFCompiler(FCompiler): d41 1 a41 1 @@@@ -215,7 +217,6 @@@@ class GnuFCompiler(FCompiler): d49 1 a49 1 @@@@ -270,7 +271,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d58 1 a58 1 @@@@ -283,7 +284,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.12.6.1 log @Pullup ticket #5564 - requested by sevan math/py-numpy: security update Revisions pulled up: - math/py-numpy/Makefile 1.44 - math/py-numpy/distinfo 1.25 - math/py-numpy/patches/patch-numpy_distutils_fcompiler_gnu.py 1.13 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: adam Date: Thu Oct 5 08:21:27 UTC 2017 Modified Files: pkgsrc/math/py-numpy: Makefile distinfo pkgsrc/math/py-numpy/patches: patch-numpy_distutils_fcompiler_gnu.py Log Message: py-numpy: update to 1.13.3 NumPy 1.13.3: This is a bugfix release for some problems found since 1.13.1. The most important fixes are for CVE-2017-12852 and temporary elision. Users of earlier versions of 1.13 should upgrade. To generate a diff of this commit: cvs rdiff -u -r1.43 -r1.44 pkgsrc/math/py-numpy/Makefile cvs rdiff -u -r1.24 -r1.25 pkgsrc/math/py-numpy/distinfo cvs rdiff -u -r1.12 -r1.13 \ pkgsrc/math/py-numpy/patches/patch-numpy_distutils_fcompiler_gnu.py @ text @d1 1 a1 1 $NetBSD$ d9 1 a9 1 --- numpy/distutils/fcompiler/gnu.py.orig 2017-09-29 20:10:10.000000000 +0000 d21 3 a23 3 m = re.search( r'GNU Fortran.*?\-?([0-9-.]+\.[0-9-.]+)', version_string) @@@@ -88,7 +90,7 @@@@ class GnuFCompiler(FCompiler): d32 1 a32 1 @@@@ -140,7 +142,7 @@@@ class GnuFCompiler(FCompiler): d41 1 a41 1 @@@@ -216,7 +218,6 @@@@ class GnuFCompiler(FCompiler): d49 1 a49 1 @@@@ -271,7 +272,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d58 1 a58 1 @@@@ -284,7 +285,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.11 log @Check the version number part of the matched string and not the whole string, otherwise the result is somewhat random. Bump revision again. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.10 2017/03/24 15:12:30 joerg Exp $ d6 1 d9 1 a9 1 --- numpy/distutils/fcompiler/gnu.py.orig 2017-03-18 15:29:25.000000000 +0000 d41 9 a49 1 @@@@ -270,7 +272,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d58 1 a58 1 @@@@ -283,7 +285,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d63 1 a63 1 + if not sys.platform == 'darwin' or cmd==None: @ 1.10 log @Restore basic g95 support. Bump revision. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.9 2017/01/22 14:43:25 wiz Exp $ d17 1 a17 1 + if version_string.split(".") < ["4", "2"]: @ 1.9 log @Updated py-numpy to 1.12.0. FAILED (KNOWNFAIL=8, SKIP=9, errors=1, failures=1) ========================== NumPy 1.12.0 Release Notes ========================== This release supports Python 2.7 and 3.4 - 3.6. Highlights ========== The NumPy 1.12.0 release contains a large number of fixes and improvements, but few that stand out above all others. That makes picking out the highlights somewhat arbitrary but the following may be of particular interest or indicate areas likely to have future consequences. * Order of operations in ``np.einsum`` can now be optimized for large speed improvements. * New ``signature`` argument to ``np.vectorize`` for vectorizing with core dimensions. * The ``keepdims`` argument was added to many functions. * New context manager for testing warnings * Support for BLIS in numpy.distutils * Much improved support for PyPy (not yet finished) Dropped Support =============== * Support for Python 2.6, 3.2, and 3.3 has been dropped. Added Support ============= * Support for PyPy 2.7 v5.6.0 has been added. While not complete (nditer ``updateifcopy`` is not supported yet), this is a milestone for PyPy's C-API compatibility layer. Build System Changes ==================== * Library order is preserved, instead of being reordered to match that of the directories. Deprecations ============ Assignment of ndarray object's ``data`` attribute ------------------------------------------------- Assigning the 'data' attribute is an inherently unsafe operation as pointed out in gh-7083. Such a capability will be removed in the future. Unsafe int casting of the num attribute in ``linspace`` ------------------------------------------------------- ``np.linspace`` now raises DeprecationWarning when num cannot be safely interpreted as an integer. Insufficient bit width parameter to ``binary_repr`` --------------------------------------------------- If a 'width' parameter is passed into ``binary_repr`` that is insufficient to represent the number in base 2 (positive) or 2's complement (negative) form, the function used to silently ignore the parameter and return a representation using the minimal number of bits needed for the form in question. Such behavior is now considered unsafe from a user perspective and will raise an error in the future. Future Changes ============== * In 1.13 NAT will always compare False except for ``NAT != NAT``, which will be True. In short, NAT will behave like NaN * In 1.13 np.average will preserve subclasses, to match the behavior of most other numpy functions such as np.mean. In particular, this means calls which returned a scalar may return a 0-d subclass object instead. Multiple-field manipulation of structured arrays ------------------------------------------------ In 1.13 the behavior of structured arrays involving multiple fields will change in two ways: First, indexing a structured array with multiple fields (eg, ``arr[['f1', 'f3']]``) will return a view into the original array in 1.13, instead of a copy. Note the returned view will have extra padding bytes corresponding to intervening fields in the original array, unlike the copy in 1.12, which will affect code such as ``arr[['f1', 'f3']].view(newdtype)``. Second, for numpy versions 1.6 to 1.12 assignment between structured arrays occurs "by field name": Fields in the destination array are set to the identically-named field in the source array or to 0 if the source does not have a field:: >>> a = np.array([(1,2),(3,4)], dtype=[('x', 'i4'), ('y', 'i4')]) >>> b = np.ones(2, dtype=[('z', 'i4'), ('y', 'i4'), ('x', 'i4')]) >>> b[:] = a >>> b array([(0, 2, 1), (0, 4, 3)], dtype=[('z', '`. This allows for vectorizing a much broader class of functions. For example, an arbitrary distance metric that combines two vectors to produce a scalar could be vectorized with ``signature='(n),(n)->()'``. See ``np.vectorize`` for full details. Emit py3kwarnings for division of integer arrays ------------------------------------------------ To help people migrate their code bases from Python 2 to Python 3, the python interpreter has a handy option -3, which issues warnings at runtime. One of its warnings is for integer division:: $ python -3 -c "2/3" -c:1: DeprecationWarning: classic int division In Python 3, the new integer division semantics also apply to numpy arrays. With this version, numpy will emit a similar warning:: $ python -3 -c "import numpy as np; np.array(2)/np.array(3)" -c:1: DeprecationWarning: numpy: classic int division numpy.sctypes now includes bytes on Python3 too ----------------------------------------------- Previously, it included str (bytes) and unicode on Python2, but only str (unicode) on Python3. Improvements ============ ``bitwise_and`` identity changed -------------------------------- The previous identity was 1 with the result that all bits except the LSB were masked out when the reduce method was used. The new identity is -1, which should work properly on twos complement machines as all bits will be set to one. Generalized Ufuncs will now unlock the GIL ------------------------------------------ Generalized Ufuncs, including most of the linalg module, will now unlock the Python global interpreter lock. Caches in `np.fft` are now bounded in total size and item count --------------------------------------------------------------- The caches in `np.fft` that speed up successive FFTs of the same length can no longer grow without bounds. They have been replaced with LRU (least recently used) caches that automatically evict no longer needed items if either the memory size or item count limit has been reached. Improved handling of zero-width string/unicode dtypes ----------------------------------------------------- Fixed several interfaces that explicitly disallowed arrays with zero-width string dtypes (i.e. ``dtype('S0')`` or ``dtype('U0')``, and fixed several bugs where such dtypes were not handled properly. In particular, changed ``ndarray.__new__`` to not implicitly convert ``dtype('S0')`` to ``dtype('S1')`` (and likewise for unicode) when creating new arrays. Integer ufuncs vectorized with AVX2 ----------------------------------- If the cpu supports it at runtime the basic integer ufuncs now use AVX2 instructions. This feature is currently only available when compiled with GCC. Order of operations optimization in ``np.einsum`` -------------------------------------------------- ``np.einsum`` now supports the ``optimize`` argument which will optimize the order of contraction. For example, ``np.einsum`` would complete the chain dot example ``np.einsum(‘ij,jk,kl->il’, a, b, c)`` in a single pass which would scale like ``N^4``; however, when ``optimize=True`` ``np.einsum`` will create an intermediate array to reduce this scaling to ``N^3`` or effectively ``np.dot(a, b).dot(c)``. Usage of intermediate tensors to reduce scaling has been applied to the general einsum summation notation. See ``np.einsum_path`` for more details. quicksort has been changed to an introsort ------------------------------------------ The quicksort kind of ``np.sort`` and ``np.argsort`` is now an introsort which is regular quicksort but changing to a heapsort when not enough progress is made. This retains the good quicksort performance while changing the worst case runtime from ``O(N^2)`` to ``O(N*log(N))``. ``ediff1d`` improved performance and subclass handling ------------------------------------------------------ The ediff1d function uses an array instead on a flat iterator for the subtraction. When to_begin or to_end is not None, the subtraction is performed in place to eliminate a copy operation. A side effect is that certain subclasses are handled better, namely astropy.Quantity, since the complete array is created, wrapped, and then begin and end values are set, instead of using concatenate. Improved precision of ``ndarray.mean`` for float16 arrays --------------------------------------------------------- The computation of the mean of float16 arrays is now carried out in float32 for improved precision. This should be useful in packages such as Theano where the precision of float16 is adequate and its smaller footprint is desireable. Changes ======= All array-like methods are now called with keyword arguments in fromnumeric.py ------------------------------------------------------------------------------ Internally, many array-like methods in fromnumeric.py were being called with positional arguments instead of keyword arguments as their external signatures were doing. This caused a complication in the downstream 'pandas' library that encountered an issue with 'numpy' compatibility. Now, all array-like methods in this module are called with keyword arguments instead. Operations on np.memmap objects return numpy arrays in most cases ----------------------------------------------------------------- Previously operations on a memmap object would misleadingly return a memmap instance even if the result was actually not memmapped. For example, ``arr + 1`` or ``arr + arr`` would return memmap instances, although no memory from the output array is memmaped. Version 1.12 returns ordinary numpy arrays from these operations. Also, reduction of a memmap (e.g. ``.sum(axis=None``) now returns a numpy scalar instead of a 0d memmap. stacklevel of warnings increased -------------------------------- The stacklevel for python based warnings was increased so that most warnings will report the offending line of the user code instead of the line the warning itself is given. Passing of stacklevel is now tested to ensure that new warnings will receive the ``stacklevel`` argument. This causes warnings with the "default" or "module" filter to be shown once for every offending user code line or user module instead of only once. On python versions before 3.4, this can cause warnings to appear that were falsely ignored before, which may be surprising especially in test suits. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.8 2016/07/24 15:25:22 kamil Exp $ d8 1 a8 1 --- numpy/distutils/fcompiler/gnu.py.orig 2017-01-15 19:49:32.000000000 +0000 d10 1 a10 1 @@@@ -57,7 +57,7 @@@@ class GnuFCompiler(FCompiler): d17 2 d21 2 a22 1 @@@@ -87,7 +87,7 @@@@ class GnuFCompiler(FCompiler): d31 1 a31 1 @@@@ -139,7 +139,7 @@@@ class GnuFCompiler(FCompiler): d40 1 a40 1 @@@@ -270,7 +270,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d49 1 a49 1 @@@@ -283,7 +283,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.8 log @Upgrade py-numpy from 1.9.2 to 1.11.1 pkgsrc changes: - swich to the GITHUB framework - add functional test target - update local patches upstream changes: NumPy 1.11.1 Release Notes Numpy 1.11.1 supports Python 2.6 - 2.7 and 3.2 - 3.5. It fixes bugs and regressions found in Numpy 1.11.0 and includes several build related improvements. Wheels for Linux, Windows, and OSX can be found on pypi. Fixes Merged #7506 BUG: Make sure numpy imports on python 2.6 when nose is unavailable. #7530 BUG: Floating exception with invalid axis in np.lexsort. #7535 BUG: Extend glibc complex trig functions blacklist to glibc < 2.18. #7551 BUG: Allow graceful recovery for no compiler. #7558 BUG: Constant padding expected wrong type in constant_values. #7578 BUG: Fix OverflowError in Python 3.x. in swig interface. #7590 BLD: Fix configparser.InterpolationSyntaxError. #7597 BUG: Make np.ma.take work on scalars. #7608 BUG: linalg.norm(): Don't convert object arrays to float. #7638 BLD: Correct C compiler customization in system_info.py. #7654 BUG: ma.median of 1d array should return a scalar. #7656 BLD: Remove hardcoded Intel compiler flag -xSSE4.2. #7660 BUG: Temporary fix for str(mvoid) for object field types. #7665 BUG: Fix incorrect printing of 1D masked arrays. #7670 BUG: Correct initial index estimate in histogram. #7671 BUG: Boolean assignment no GIL release when transfer needs API. #7676 BUG: Fix handling of right edge of final histogram bin. #7680 BUG: Fix np.clip bug NaN handling for Visual Studio 2015. #7724 BUG: Fix segfaults in np.random.shuffle. #7731 MAINT: Change mkl_info.dir_env_var from MKL to MKLROOT. #7737 BUG: Fix issue on OS X with Python 3.x, npymath.ini not installed. NumPy 1.11.0 Release Notes This release supports Python 2.6 - 2.7 and 3.2 - 3.5 and contains a number of enhancements and improvements. Note also the build system changes listed below as they may have subtle effects. No Windows (TM) binaries are provided for this release due to a broken toolchain. One of the providers of Python packages for Windows (TM) is your best bet. Highlights Details of these improvements can be found below. The datetime64 type is now timezone naive. A dtype parameter has been added to randint. Improved detection of two arrays possibly sharing memory. Automatic bin size estimation for np.histogram. Speed optimization of A @@ A.T and dot(A, A.T). New function np.moveaxis for reordering array axes. Build System Changes Numpy now uses setuptools for its builds instead of plain distutils. This fixes usage of install_requires='numpy' in the setup.py files of projects that depend on Numpy (see gh-6551). It potentially affects the way that build/install methods for Numpy itself behave though. Please report any unexpected behavior on the Numpy issue tracker. Bento build support and related files have been removed. Single file build support and related files have been removed. Future Changes The following changes are scheduled for Numpy 1.12.0. Support for Python 2.6, 3.2, and 3.3 will be dropped. Relaxed stride checking will become the default. See the 1.8.0 release notes for a more extended discussion of what this change implies. The behavior of the datetime64 "not a time" (NaT) value will be changed to match that of floating point "not a number" (NaN) values: all comparisons involving NaT will return False, except for NaT != NaT which will return True. Indexing with floats will raise IndexError, e.g., a[0, 0.0]. Indexing with non-integer array_like will raise IndexError, e.g., a['1', '2'] Indexing with multiple ellipsis will raise IndexError, e.g., a[..., ...]. Non-integers used as index values will raise TypeError, e.g., in reshape, take, and specifying reduce axis. In a future release the following changes will be made. The rand function exposed in numpy.testing will be removed. That function is left over from early Numpy and was implemented using the Python random module. The random number generators from numpy.random should be used instead. The ndarray.view method will only allow c_contiguous arrays to be viewed using a dtype of different size causing the last dimension to change. That differs from the current behavior where arrays that are f_contiguous but not c_contiguous can be viewed as a dtype type of different size causing the first dimension to change. Slicing a MaskedArray will return views of both data and mask. Currently the mask is copy-on-write and changes to the mask in the slice do not propagate to the original mask. See the FutureWarnings section below for details. Compatibility notes datetime64 changes In prior versions of NumPy the experimental datetime64 type always stored times in UTC. By default, creating a datetime64 object from a string or printing it would convert from or to local time: # old behavior >>>> np.datetime64('2000-01-01T00:00:00') numpy.datetime64('2000-01-01T00:00:00-0800') # note the timezone offset -08:00 A consensus of datetime64 users agreed that this behavior is undesirable and at odds with how datetime64 is usually used (e.g., by pandas). For most use cases, a timezone naive datetime type is preferred, similar to the datetime.datetime type in the Python standard library. Accordingly, datetime64 no longer assumes that input is in local time, nor does it print local times: >>>> np.datetime64('2000-01-01T00:00:00') numpy.datetime64('2000-01-01T00:00:00') For backwards compatibility, datetime64 still parses timezone offsets, which it handles by converting to UTC. However, the resulting datetime is timezone naive: >>> np.datetime64('2000-01-01T00:00:00-08') DeprecationWarning: parsing timezone aware datetimes is deprecated; this will raise an error in the future numpy.datetime64('2000-01-01T08:00:00') As a corollary to this change, we no longer prohibit casting between datetimes with date units and datetimes with time units. With timezone naive datetimes, the rule for casting from dates to times is no longer ambiguous. linalg.norm return type changes The return type of the linalg.norm function is now floating point without exception. Some of the norm types previously returned integers. polynomial fit changes The various fit functions in the numpy polynomial package no longer accept non-integers for degree specification. np.dot now raises TypeError instead of ValueError This behaviour mimics that of other functions such as np.inner. If the two arguments cannot be cast to a common type, it could have raised a TypeError or ValueError depending on their order. Now, np.dot will now always raise a TypeError. FutureWarning to changed behavior In np.lib.split an empty array in the result always had dimension (0,) no matter the dimensions of the array being split. This has been changed so that the dimensions will be preserved. A FutureWarning for this change has been in place since Numpy 1.9 but, due to a bug, sometimes no warning was raised and the dimensions were already preserved. % and // operators These operators are implemented with the remainder and floor_divide functions respectively. Those functions are now based around fmod and are computed together so as to be compatible with each other and with the Python versions for float types. The results should be marginally more accurate or outright bug fixes compared to the previous results, but they may differ significantly in cases where roundoff makes a difference in the integer returned by floor_divide. Some corner cases also change, for instance, NaN is always returned for both functions when the divisor is zero, divmod(1.0, inf) returns (0.0, 1.0) except on MSVC 2008, and divmod(-1.0, inf) returns (-1.0, inf). C API Removed the check_return and inner_loop_selector members of the PyUFuncObject struct (replacing them with reserved slots to preserve struct layout). These were never used for anything, so it's unlikely that any third-party code is using them either, but we mention it here for completeness. object dtype detection for old-style classes In python 2, objects which are instances of old-style user-defined classes no longer automatically count as 'object' type in the dtype-detection handler. Instead, as in python 3, they may potentially count as sequences, but only if they define both a __len__ and a __getitem__ method. This fixes a segfault and inconsistency between python 2 and 3. New Features np.histogram now provides plugin estimators for automatically estimating the optimal number of bins. Passing one of ['auto', 'fd', 'scott', 'rice', 'sturges'] as the argument to 'bins' results in the corresponding estimator being used. A benchmark suite using Airspeed Velocity has been added, converting the previous vbench-based one. You can run the suite locally via python runtests.py --bench. For more details, see benchmarks/README.rst. A new function np.shares_memory that can check exactly whether two arrays have memory overlap is added. np.may_share_memory also now has an option to spend more effort to reduce false positives. SkipTest and KnownFailureException exception classes are exposed in the numpy.testing namespace. Raise them in a test function to mark the test to be skipped or mark it as a known failure, respectively. f2py.compile has a new extension keyword parameter that allows the fortran extension to be specified for generated temp files. For instance, the files can be specifies to be *.f90. The verbose argument is also activated, it was previously ignored. A dtype parameter has been added to np.random.randint Random ndarrays of the following types can now be generated: np.bool, np.int8, np.uint8, np.int16, np.uint16, np.int32, np.uint32, np.int64, np.uint64, np.int_ ``, ``np.intp The specification is by precision rather than by C type. Hence, on some platforms np.int64 may be a long instead of long long even if the specified dtype is long long because the two may have the same precision. The resulting type depends on which C type numpy uses for the given precision. The byteorder specification is also ignored, the generated arrays are always in native byte order. A new np.moveaxis function allows for moving one or more array axes to a new position by explicitly providing source and destination axes. This function should be easier to use than the current rollaxis function as well as providing more functionality. The deg parameter of the various numpy.polynomial fits has been extended to accept a list of the degrees of the terms to be included in the fit, the coefficients of all other terms being constrained to zero. The change is backward compatible, passing a scalar deg will behave as before. A divmod function for float types modeled after the Python version has been added to the npy_math library. Improvements np.gradient now supports an axis argument The axis parameter was added to np.gradient for consistency. It allows to specify over which axes the gradient is calculated. np.lexsort now supports arrays with object data-type The function now internally calls the generic npy_amergesort when the type does not implement a merge-sort kind of argsort method. np.ma.core.MaskedArray now supports an order argument When constructing a new MaskedArray instance, it can be configured with an order argument analogous to the one when calling np.ndarray. The addition of this argument allows for the proper processing of an order argument in several MaskedArray-related utility functions such as np.ma.core.array and np.ma.core.asarray. Memory and speed improvements for masked arrays Creating a masked array with mask=True (resp. mask=False) now uses np.ones (resp. np.zeros) to create the mask, which is faster and avoid a big memory peak. Another optimization was done to avoid a memory peak and useless computations when printing a masked array. ndarray.tofile now uses fallocate on linux The function now uses the fallocate system call to reserve sufficient disk space on file systems that support it. Optimizations for operations of the form A.T @@ A and A @@ A.T Previously, gemm BLAS operations were used for all matrix products. Now, if the matrix product is between a matrix and its transpose, it will use syrk BLAS operations for a performance boost. This optimization has been extended to @@, numpy.dot, numpy.inner, and numpy.matmul. Note: Requires the transposed and non-transposed matrices to share data. np.testing.assert_warns can now be used as a context manager This matches the behavior of assert_raises. Speed improvement for np.random.shuffle np.random.shuffle is now much faster for 1d ndarrays. Changes Pyrex support was removed from numpy.distutils The method build_src.generate_a_pyrex_source will remain available; it has been monkeypatched by users to support Cython instead of Pyrex. It's recommended to switch to a better supported method of build Cython extensions though. np.broadcast can now be called with a single argument The resulting object in that case will simply mimic iteration over a single array. This change obsoletes distinctions like if len(x) == 1: shape = x[0].shape else: shape = np.broadcast(*x).shape Instead, np.broadcast can be used in all cases. np.trace now respects array subclasses This behaviour mimics that of other functions such as np.diagonal and ensures, e.g., that for masked arrays np.trace(ma) and ma.trace() give the same result. np.dot now raises TypeError instead of ValueError This behaviour mimics that of other functions such as np.inner. If the two arguments cannot be cast to a common type, it could have raised a TypeError or ValueError depending on their order. Now, np.dot will now always raise a TypeError. linalg.norm return type changes The linalg.norm function now does all its computations in floating point and returns floating results. This change fixes bugs due to integer overflow and the failure of abs with signed integers of minimum value, e.g., int8(-128). For consistancy, floats are used even where an integer might work. Deprecations Views of arrays in Fortran order The F_CONTIGUOUS flag was used to signal that views using a dtype that changed the element size would change the first index. This was always problematical for arrays that were both F_CONTIGUOUS and C_CONTIGUOUS because C_CONTIGUOUS took precedence. Relaxed stride checking results in more such dual contiguous arrays and breaks some existing code as a result. Note that this also affects changing the dtype by assigning to the dtype attribute of an array. The aim of this deprecation is to restrict views to C_CONTIGUOUS arrays at some future time. A work around that is backward compatible is to use a.T.view(...).T instead. A parameter may also be added to the view method to explicitly ask for Fortran order views, but that will not be backward compatible. Invalid arguments for array ordering It is currently possible to pass in arguments for the order parameter in methods like array.flatten or array.ravel that were not one of the following: 'C', 'F', 'A', 'K' (note that all of these possible values are both unicode and case insensitive). Such behavior will not be allowed in future releases. Random number generator in the testing namespace The Python standard library random number generator was previously exposed in the testing namespace as testing.rand. Using this generator is not recommended and it will be removed in a future release. Use generators from numpy.random namespace instead. Random integer generation on a closed interval In accordance with the Python C API, which gives preference to the half-open interval over the closed one, np.random.random_integers is being deprecated in favor of calling np.random.randint, which has been enhanced with the dtype parameter as described under "New Features". However, np.random.random_integers will not be removed anytime soon. FutureWarnings Assigning to slices/views of MaskedArray Currently a slice of a masked array contains a view of the original data and a copy-on-write view of the mask. Consequently, any changes to the slice's mask will result in a copy of the original mask being made and that new mask being changed rather than the original. For example, if we make a slice of the original like so, view = original[:], then modifications to the data in one array will affect the data of the other but, because the mask will be copied during assignment operations, changes to the mask will remain local. A similar situation occurs when explicitly constructing a masked array using MaskedArray(data, mask), the returned array will contain a view of data but the mask will be a copy-on-write view of mask. In the future, these cases will be normalized so that the data and mask arrays are treated the same way and modifications to either will propagate between views. In 1.11, numpy will issue a MaskedArrayFutureWarning warning whenever user code modifies the mask of a view that in the future may cause values to propagate back to the original. To silence these warnings and make your code robust against the upcoming changes, you have two options: if you want to keep the current behavior, call masked_view.unshare_mask() before modifying the mask. If you want to get the future behavior early, use masked_view._sharedmask = False. However, note that setting the _sharedmask attribute will break following explicit calls to masked_view.unshare_mask(). NumPy 1.10.4 Release Notes This release is a bugfix source release motivated by a segfault regression. No windows binaries are provided for this release, as there appear to be bugs in the toolchain we use to generate those files. Hopefully that problem will be fixed for the next release. In the meantime, we suggest using one of the providers of windows binaries. Compatibility notes The trace function now calls the trace method on subclasses of ndarray, except for matrix, for which the current behavior is preserved. This is to help with the units package of AstroPy and hopefully will not cause problems. Issues Fixed gh-6922 BUG: numpy.recarray.sort segfaults on Windows. gh-6937 BUG: busday_offset does the wrong thing with modifiedpreceding roll. gh-6949 BUG: Type is lost when slicing a subclass of recarray. Merged PRs The following PRs have been merged into 1.10.4. When the PR is a backport, the PR number for the original PR against master is listed. gh-6840 TST: Update travis testing script in 1.10.x gh-6843 BUG: Fix use of python 3 only FileNotFoundError in test_f2py. gh-6884 REL: Update pavement.py and setup.py to reflect current version. gh-6916 BUG: Fix test_f2py so it runs correctly in runtests.py. gh-6924 BUG: Fix segfault gh-6922. gh-6942 Fix datetime roll='modifiedpreceding' bug. gh-6943 DOC,BUG: Fix some latex generation problems. gh-6950 BUG trace is not subclass aware, np.trace(ma) != ma.trace(). gh-6952 BUG recarray slices should preserve subclass. NumPy 1.10.3 Release Notes N/A this release did not happen due to various screwups involving PyPi. NumPy 1.10.2 Release Notes This release deals with a number of bugs that turned up in 1.10.1 and adds various build and release improvements. Numpy 1.10.1 supports Python 2.6 - 2.7 and 3.2 - 3.5. Compatibility notes Relaxed stride checking is no longer the default There were back compatibility problems involving views changing the dtype of multidimensional Fortran arrays that need to be dealt with over a longer timeframe. Fix swig bug in numpy.i Relaxed stride checking revealed a bug in array_is_fortran(a), that was using PyArray_ISFORTRAN to check for Fortran contiguity instead of PyArray_IS_F_CONTIGUOUS. You may want to regenerate swigged files using the updated numpy.i Deprecate views changing dimensions in fortran order This deprecates assignment of a new descriptor to the dtype attribute of a non-C-contiguous array if it result in changing the shape. This effectively bars viewing a multidimensional Fortran array using a dtype that changes the element size along the first axis. The reason for the deprecation is that, when relaxed strides checking is enabled, arrays that are both C and Fortran contiguous are always treated as C contiguous which breaks some code that depended the two being mutually exclusive for non-scalar arrays of ndim > 1. This deprecation prepares the way to always enable relaxed stride checking. Issues Fixed gh-6019 Masked array repr fails for structured array with multi-dimensional column. gh-6462 Median of empty array produces IndexError. gh-6467 Performance regression for record array access. gh-6468 numpy.interp uses 'left' value even when x[0]==xp[0]. gh-6475 np.allclose returns a memmap when one of its arguments is a memmap. gh-6491 Error in broadcasting stride_tricks array. gh-6495 Unrecognized command line option '-ffpe-summary' in gfortran. gh-6497 Failure of reduce operation on recarrays. gh-6498 Mention change in default casting rule in 1.10 release notes. gh-6530 The partition function errors out on empty input. gh-6532 numpy.inner return wrong inaccurate value sometimes. gh-6563 Intent(out) broken in recent versions of f2py. gh-6569 Cannot run tests after 'python setup.py build_ext -i' gh-6572 Error in broadcasting stride_tricks array component. gh-6575 BUG: Split produces empty arrays with wrong number of dimensions gh-6590 Fortran Array problem in numpy 1.10. gh-6602 Random __all__ missing choice and dirichlet. gh-6611 ma.dot no longer always returns a masked array in 1.10. gh-6618 NPY_FORTRANORDER in make_fortran() in numpy.i gh-6636 Memory leak in nested dtypes in numpy.recarray gh-6641 Subsetting recarray by fields yields a structured array. gh-6667 ma.make_mask handles ma.nomask input incorrectly. gh-6675 Optimized blas detection broken in master and 1.10. gh-6678 Getting unexpected error from: X.dtype = complex (or Y = X.view(complex)) gh-6718 f2py test fail in pip installed numpy-1.10.1 in virtualenv. gh-6719 Error compiling Cython file: Pythonic division not allowed without gil. gh-6771 Numpy.rec.fromarrays losing dtype metadata between versions 1.9.2 and 1.10.1 gh-6781 The travis-ci script in maintenance/1.10.x needs fixing. gh-6807 Windows testing errors for 1.10.2 Merged PRs The following PRs have been merged into 1.10.2. When the PR is a backport, the PR number for the original PR against master is listed. gh-5773 MAINT: Hide testing helper tracebacks when using them with pytest. gh-6094 BUG: Fixed a bug with string representation of masked structured arrays. gh-6208 MAINT: Speedup field access by removing unneeded safety checks. gh-6460 BUG: Replacing the os.environ.clear by less invasive procedure. gh-6470 BUG: Fix AttributeError in numpy distutils. gh-6472 MAINT: Use Python 3.5 instead of 3.5-dev for travis 3.5 testing. gh-6474 REL: Update Paver script for sdist and auto-switch test warnings. gh-6478 BUG: Fix Intel compiler flags for OS X build. gh-6481 MAINT: LIBPATH with spaces is now supported Python 2.7+ and Win32. gh-6487 BUG: Allow nested use of parameters in definition of arrays in f2py. gh-6488 BUG: Extend common blocks rather than overwriting in f2py. gh-6499 DOC: Mention that default casting for inplace operations has changed. gh-6500 BUG: Recarrays viewed as subarrays don't convert to np.record type. gh-6501 REL: Add "make upload" command for built docs, update "make dist". gh-6526 BUG: Fix use of __doc__ in setup.py for -OO mode. gh-6527 BUG: Fix the IndexError when taking the median of an empty array. gh-6537 BUG: Make ma.atleast_* with scalar argument return arrays. gh-6538 BUG: Fix ma.masked_values does not shrink mask if requested. gh-6546 BUG: Fix inner product regression for non-contiguous arrays. gh-6553 BUG: Fix partition and argpartition error for empty input. gh-6556 BUG: Error in broadcast_arrays with as_strided array. gh-6558 MAINT: Minor update to "make upload" doc build command. gh-6562 BUG: Disable view safety checks in recarray. gh-6567 BUG: Revert some import * fixes in f2py. gh-6574 DOC: Release notes for Numpy 1.10.2. gh-6577 BUG: Fix for #6569, allowing build_ext --inplace gh-6579 MAINT: Fix mistake in doc upload rule. gh-6596 BUG: Fix swig for relaxed stride checking. gh-6606 DOC: Update 1.10.2 release notes. gh-6614 BUG: Add choice and dirichlet to numpy.random.__all__. gh-6621 BUG: Fix swig make_fortran function. gh-6628 BUG: Make allclose return python bool. gh-6642 BUG: Fix memleak in _convert_from_dict. gh-6643 ENH: make recarray.getitem return a recarray. gh-6653 BUG: Fix ma dot to always return masked array. gh-6668 BUG: ma.make_mask should always return nomask for nomask argument. gh-6686 BUG: Fix a bug in assert_string_equal. gh-6695 BUG: Fix removing tempdirs created during build. gh-6697 MAINT: Fix spurious semicolon in macro definition of PyArray_FROM_OT. gh-6698 TST: test np.rint bug for large integers. gh-6717 BUG: Readd fallback CBLAS detection on linux. gh-6721 BUG: Fix for #6719. gh-6726 BUG: Fix bugs exposed by relaxed stride rollback. gh-6757 BUG: link cblas library if cblas is detected. gh-6756 TST: only test f2py, not f2py2.7 etc, fixes #6718. gh-6747 DEP: Deprecate changing shape of non-C-contiguous array via descr. gh-6775 MAINT: Include from __future__ boilerplate in some files missing it. gh-6780 BUG: metadata is not copied to base_dtype. gh-6783 BUG: Fix travis ci testing for new google infrastructure. gh-6785 BUG: Quick and dirty fix for interp. gh-6813 TST,BUG: Make test_mvoid_multidim_print work for 32 bit systems. gh-6817 BUG: Disable 32-bit msvc9 compiler optimizations for npy_rint. gh-6819 TST: Fix test_mvoid_multidim_print failures on Python 2.x for Windows. Initial support for mingwpy was reverted as it was causing problems for non-windows builds. gh-6536 BUG: Revert gh-5614 to fix non-windows build problems A fix for np.lib.split was reverted because it resulted in "fixing" behavior that will be present in the Numpy 1.11 and that was already present in Numpy 1.9. See the discussion of the issue at gh-6575 for clarification. gh-6576 BUG: Revert gh-6376 to fix split behavior for empty arrays. Relaxed stride checking was reverted. There were back compatibility problems involving views changing the dtype of multidimensional Fortran arrays that need to be dealt with over a longer timeframe. gh-6735 MAINT: Make no relaxed stride checking the default for 1.10. Notes A bug in the Numpy 1.10.1 release resulted in exceptions being raised for RuntimeWarning and DeprecationWarning in projects depending on Numpy. That has been fixed. NumPy 1.10.1 Release Notes This release deals with a few build problems that showed up in 1.10.0. Most users would not have seen these problems. The differences are: Compiling with msvc9 or msvc10 for 32 bit Windows now requires SSE2. This was the easiest fix for what looked to be some miscompiled code when SSE2 was not used. If you need to compile for 32 bit Windows systems without SSE2 support, mingw32 should still work. Make compiling with VS2008 python2.7 SDK easier Change Intel compiler options so that code will also be generated to support systems without SSE4.2. Some _config test functions needed an explicit integer return in order to avoid the openSUSE rpmlinter erring out. We ran into a problem with pipy not allowing reuse of filenames and a resulting proliferation of ..*.postN releases. Not only were the names getting out of hand, some packages were unable to work with the postN suffix. Numpy 1.10.1 supports Python 2.6 - 2.7 and 3.2 - 3.5. Commits: 45a3d84 DEP: Remove warning for full when dtype is set. 0c1a5df BLD: import setuptools to allow compile with VS2008 python2.7 sdk 04211c6 BUG: mask nan to 1 in ordered compare 826716f DOC: Document the reason msvc requires SSE2 on 32 bit platforms. 49fa187 BLD: enable SSE2 for 32-bit msvc 9 and 10 compilers dcbc4cc MAINT: remove Wreturn-type warnings from config checks d6564cb BLD: do not build exclusively for SSE4.2 processors 15cb66f BLD: do not build exclusively for SSE4.2 processors c38bc08 DOC: fix var. reference in percentile docstring 78497f4 DOC: Sync 1.10.0-notes.rst in 1.10.x branch with master. NumPy 1.10.0 Release Notes This release supports Python 2.6 - 2.7 and 3.2 - 3.5. Highlights numpy.distutils now supports parallel compilation via the --parallel/-j argument passed to setup.py build numpy.distutils now supports additional customization via site.cfg to control compilation parameters, i.e. runtime libraries, extra linking/compilation flags. Addition of np.linalg.multi_dot: compute the dot product of two or more arrays in a single function call, while automatically selecting the fastest evaluation order. The new function np.stack provides a general interface for joining a sequence of arrays along a new axis, complementing np.concatenate for joining along an existing axis. Addition of nanprod to the set of nanfunctions. Support for the '@@' operator in Python 3.5. Dropped Support The _dotblas module has been removed. CBLAS Support is now in Multiarray. The testcalcs.py file has been removed. The polytemplate.py file has been removed. npy_PyFile_Dup and npy_PyFile_DupClose have been removed from npy_3kcompat.h. splitcmdline has been removed from numpy/distutils/exec_command.py. try_run and get_output have been removed from numpy/distutils/command/config.py The a._format attribute is no longer supported for array printing. Keywords skiprows and missing removed from np.genfromtxt. Keyword old_behavior removed from np.correlate. Future Changes In array comparisons like arr1 == arr2, many corner cases involving strings or structured dtypes that used to return scalars now issue FutureWarning or DeprecationWarning, and in the future will be change to either perform elementwise comparisons or raise an error. In np.lib.split an empty array in the result always had dimension (0,) no matter the dimensions of the array being split. In Numpy 1.11 that behavior will be changed so that the dimensions will be preserved. A FutureWarning for this change has been in place since Numpy 1.9 but, due to a bug, sometimes no warning was raised and the dimensions were already preserved. The SafeEval class will be removed in Numpy 1.11. The alterdot and restoredot functions will be removed in Numpy 1.11. See below for more details on these changes. Compatibility notes Default casting rule change Default casting for inplace operations has changed to 'same_kind'. For instance, if n is an array of integers, and f is an array of floats, then n += f will result in a TypeError, whereas in previous Numpy versions the floats would be silently cast to ints. In the unlikely case that the example code is not an actual bug, it can be updated in a backward compatible way by rewriting it as np.add(n, f, out=n, casting='unsafe'). The old 'unsafe' default has been deprecated since Numpy 1.7. numpy version string The numpy version string for development builds has been changed from x.y.z.dev-githash to x.y.z.dev0+githash (note the +) in order to comply with PEP 440. relaxed stride checking NPY_RELAXED_STRIDE_CHECKING is now true by default. UPDATE: In 1.10.2 the default value of NPY_RELAXED_STRIDE_CHECKING was changed to false for back compatibility reasons. More time is needed before it can be made the default. As part of the roadmap a deprecation of dimension changing views of f_contiguous not c_contiguous arrays was also added. Concatenation of 1d arrays along any but axis=0 raises IndexError Using axis != 0 has raised a DeprecationWarning since NumPy 1.7, it now raises an error. np.ravel, np.diagonal and np.diag now preserve subtypes There was inconsistent behavior between x.ravel() and np.ravel(x), as well as between x.diagonal() and np.diagonal(x), with the methods preserving subtypes while the functions did not. This has been fixed and the functions now behave like the methods, preserving subtypes except in the case of matrices. Matrices are special cased for backward compatibility and still return 1-D arrays as before. If you need to preserve the matrix subtype, use the methods instead of the functions. rollaxis and swapaxes always return a view Previously, a view was returned except when no change was made in the order of the axes, in which case the input array was returned. A view is now returned in all cases. nonzero now returns base ndarrays Previously, an inconsistency existed between 1-D inputs (returning a base ndarray) and higher dimensional ones (which preserved subclasses). Behavior has been unified, and the return will now be a base ndarray. Subclasses can still override this behavior by providing their own nonzero method. C API The changes to swapaxes also apply to the PyArray_SwapAxes C function, which now returns a view in all cases. The changes to nonzero also apply to the PyArray_Nonzero C function, which now returns a base ndarray in all cases. The dtype structure (PyArray_Descr) has a new member at the end to cache its hash value. This shouldn't affect any well-written applications. The change to the concatenation function DeprecationWarning also affects PyArray_ConcatenateArrays, recarray field return types Previously the returned types for recarray fields accessed by attribute and by index were inconsistent, and fields of string type were returned as chararrays. Now, fields accessed by either attribute or indexing will return an ndarray for fields of non-structured type, and a recarray for fields of structured type. Notably, this affect recarrays containing strings with whitespace, as trailing whitespace is trimmed from chararrays but kept in ndarrays of string type. Also, the dtype.type of nested structured fields is now inherited. recarray views Viewing an ndarray as a recarray now automatically converts the dtype to np.record. See new record array documentation. Additionally, viewing a recarray with a non-structured dtype no longer converts the result's type to ndarray - the result will remain a recarray. 'out' keyword argument of ufuncs now accepts tuples of arrays When using the 'out' keyword argument of a ufunc, a tuple of arrays, one per ufunc output, can be provided. For ufuncs with a single output a single array is also a valid 'out' keyword argument. Previously a single array could be provided in the 'out' keyword argument, and it would be used as the first output for ufuncs with multiple outputs, is deprecated, and will result in a DeprecationWarning now and an error in the future. byte-array indices now raises an IndexError Indexing an ndarray using a byte-string in Python 3 now raises an IndexError instead of a ValueError. Masked arrays containing objects with arrays For such (rare) masked arrays, getting a single masked item no longer returns a corrupted masked array, but a fully masked version of the item. Median warns and returns nan when invalid values are encountered Similar to mean, median and percentile now emits a Runtime warning and returns NaN in slices where a NaN is present. To compute the median or percentile while ignoring invalid values use the new nanmedian or nanpercentile functions. Functions available from numpy.ma.testutils have changed All functions from numpy.testing were once available from numpy.ma.testutils but not all of them were redefined to work with masked arrays. Most of those functions have now been removed from numpy.ma.testutils with a small subset retained in order to preserve backward compatibility. In the long run this should help avoid mistaken use of the wrong functions, but it may cause import problems for some. New Features Reading extra flags from site.cfg Previously customization of compilation of dependency libraries and numpy itself was only accomblishable via code changes in the distutils package. Now numpy.distutils reads in the following extra flags from each group of the site.cfg: runtime_library_dirs/rpath, sets runtime library directories to override LD_LIBRARY_PATH extra_compile_args, add extra flags to the compilation of sources extra_link_args, add extra flags when linking libraries This should, at least partially, complete user customization. np.cbrt to compute cube root for real floats np.cbrt wraps the C99 cube root function cbrt. Compared to np.power(x, 1./3.) it is well defined for negative real floats and a bit faster. numpy.distutils now allows parallel compilation By passing --parallel=n or -j n to setup.py build the compilation of extensions is now performed in n parallel processes. The parallelization is limited to files within one extension so projects using Cython will not profit because it builds extensions from single files. genfromtxt has a new max_rows argument A max_rows argument has been added to genfromtxt to limit the number of rows read in a single call. Using this functionality, it is possible to read in multiple arrays stored in a single file by making repeated calls to the function. New function np.broadcast_to for invoking array broadcasting np.broadcast_to manually broadcasts an array to a given shape according to numpy's broadcasting rules. The functionality is similar to broadcast_arrays, which in fact has been rewritten to use broadcast_to internally, but only a single array is necessary. New context manager clear_and_catch_warnings for testing warnings When Python emits a warning, it records that this warning has been emitted in the module that caused the warning, in a module attribute __warningregistry__. Once this has happened, it is not possible to emit the warning again, unless you clear the relevant entry in __warningregistry__. This makes is hard and fragile to test warnings, because if your test comes after another that has already caused the warning, you will not be able to emit the warning or test it. The context manager clear_and_catch_warnings clears warnings from the module registry on entry and resets them on exit, meaning that warnings can be re-raised. cov has new fweights and aweights arguments The fweights and aweights arguments add new functionality to covariance calculations by applying two types of weighting to observation vectors. An array of fweights indicates the number of repeats of each observation vector, and an array of aweights provides their relative importance or probability. Support for the '@@' operator in Python 3.5+ Python 3.5 adds support for a matrix multiplication operator '@@' proposed in PEP465. Preliminary support for that has been implemented, and an equivalent function matmul has also been added for testing purposes and use in earlier Python versions. The function is preliminary and the order and number of its optional arguments can be expected to change. New argument norm to fft functions The default normalization has the direct transforms unscaled and the inverse transforms are scaled by 1/n . It is possible to obtain unitary transforms by setting the keyword argument norm to "ortho" (default is None) so that both direct and inverse transforms will be scaled by 1/\\sqrt{n} . Improvements np.digitize using binary search np.digitize is now implemented in terms of np.searchsorted. This means that a binary search is used to bin the values, which scales much better for larger number of bins than the previous linear search. It also removes the requirement for the input array to be 1-dimensional. np.poly now casts integer inputs to float np.poly will now cast 1-dimensional input arrays of integer type to double precision floating point, to prevent integer overflow when computing the monic polynomial. It is still possible to obtain higher precision results by passing in an array of object type, filled e.g. with Python ints. np.interp can now be used with periodic functions np.interp now has a new parameter period that supplies the period of the input data xp. In such case, the input data is properly normalized to the given period and one end point is added to each extremity of xp in order to close the previous and the next period cycles, resulting in the correct interpolation behavior. np.pad supports more input types for pad_width and constant_values constant_values parameters now accepts NumPy arrays and float values. NumPy arrays are supported as input for pad_width, and an exception is raised if its values are not of integral type. np.argmax and np.argmin now support an out argument The out parameter was added to np.argmax and np.argmin for consistency with ndarray.argmax and ndarray.argmin. The new parameter behaves exactly as it does in those methods. More system C99 complex functions detected and used All of the functions in complex.h are now detected. There are new fallback implementations of the following functions. npy_ctan, npy_cacos, npy_casin, npy_catan npy_ccosh, npy_csinh, npy_ctanh, npy_cacosh, npy_casinh, npy_catanh As a result of these improvements, there will be some small changes in returned values, especially for corner cases. np.loadtxt support for the strings produced by the float.hex method The strings produced by float.hex look like 0x1.921fb54442d18p+1, so this is not the hex used to represent unsigned integer types. np.isclose properly handles minimal values of integer dtypes In order to properly handle minimal values of integer types, np.isclose will now cast to the float dtype during comparisons. This aligns its behavior with what was provided by np.allclose. np.allclose uses np.isclose internally. np.allclose now uses np.isclose internally and inherits the ability to compare NaNs as equal by setting equal_nan=True. Subclasses, such as np.ma.MaskedArray, are also preserved now. np.genfromtxt now handles large integers correctly np.genfromtxt now correctly handles integers larger than 2**31-1 on 32-bit systems and larger than 2**63-1 on 64-bit systems (it previously crashed with an OverflowError in these cases). Integers larger than 2**63-1 are converted to floating-point values. np.load, np.save have pickle backward compatibility flags The functions np.load and np.save have additional keyword arguments for controlling backward compatibility of pickled Python objects. This enables Numpy on Python 3 to load npy files containing object arrays that were generated on Python 2. MaskedArray support for more complicated base classes Built-in assumptions that the baseclass behaved like a plain array are being removed. In particular, setting and getting elements and ranges will respect baseclass overrides of __setitem__ and __getitem__, and arithmetic will respect overrides of __add__, __sub__, etc. Changes dotblas functionality moved to multiarray The cblas versions of dot, inner, and vdot have been integrated into the multiarray module. In particular, vdot is now a multiarray function, which it was not before. stricter check of gufunc signature compliance Inputs to generalized universal functions are now more strictly checked against the function's signature: all core dimensions are now required to be present in input arrays; core dimensions with the same label must have the exact same size; and output core dimension's must be specified, either by a same label input core dimension or by a passed-in output array. views returned from np.einsum are writeable Views returned by np.einsum will now be writeable whenever the input array is writeable. np.argmin skips NaT values np.argmin now skips NaT values in datetime64 and timedelta64 arrays, making it consistent with np.min, np.argmax and np.max. Deprecations Array comparisons involving strings or structured dtypes Normally, comparison operations on arrays perform elementwise comparisons and return arrays of booleans. But in some corner cases, especially involving strings are structured dtypes, NumPy has historically returned a scalar instead. For example: ### Current behaviour np.arange(2) == "foo" # -> False np.arange(2) < "foo" # -> True on Python 2, error on Python 3 np.ones(2, dtype="i4,i4") == np.ones(2, dtype="i4,i4,i4") # -> False Continuing work started in 1.9, in 1.10 these comparisons will now raise FutureWarning or DeprecationWarning, and in the future they will be modified to behave more consistently with other comparison operations, e.g.: ### Future behaviour np.arange(2) == "foo" # -> array([False, False]) np.arange(2) < "foo" # -> error, strings and numbers are not orderable np.ones(2, dtype="i4,i4") == np.ones(2, dtype="i4,i4,i4") # -> [False, False] SafeEval The SafeEval class in numpy/lib/utils.py is deprecated and will be removed in the next release. alterdot, restoredot The alterdot and restoredot functions no longer do anything, and are deprecated. pkgload, PackageLoader These ways of loading packages are now deprecated. bias, ddof arguments to corrcoef The values for the bias and ddof arguments to the corrcoef function canceled in the division implied by the correlation coefficient and so had no effect on the returned values. We now deprecate these arguments to corrcoef and the masked array version ma.corrcoef. Because we are deprecating the bias argument to ma.corrcoef, we also deprecate the use of the allow_masked argument as a positional argument, as its position will change with the removal of bias. allow_masked will in due course become a keyword-only argument. dtype string representation changes Since 1.6, creating a dtype object from its string representation, e.g. 'f4', would issue a deprecation warning if the size did not correspond to an existing type, and default to creating a dtype of the default size for the type. Starting with this release, this will now raise a TypeError. The only exception is object dtypes, where both 'O4' and 'O8' will still issue a deprecation warning. This platform-dependent representation will raise an error in the next release. In preparation for this upcoming change, the string representation of an object dtype, i.e. np.dtype(object).str, no longer includes the item size, i.e. will return '|O' instead of '|O4' or '|O8' as before. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.7 2015/04/17 00:41:38 wen Exp $ d8 1 a8 1 --- numpy/distutils/fcompiler/gnu.py.orig 2016-06-25 15:38:34.000000000 +0000 d28 1 a28 1 @@@@ -134,7 +134,7 @@@@ class GnuFCompiler(FCompiler): d30 1 a30 1 warnings.warn(s) d37 1 a37 1 @@@@ -263,7 +263,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d46 1 a46 1 @@@@ -276,7 +276,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.7 log @Update to 1.9.2 Reviewed by: wiz@@ Upstream changes: NumPy 1.9.2 Release Notes ************************* This is a bugfix only release in the 1.9.x series. Issues fixed ============ * `#5316 `__: fix too large dtype alignment of strings and complex types * `#5424 `__: fix ma.median when used on ndarrays * `#5481 `__: Fix astype for structured array fields of different byte order * `#5354 `__: fix segfault when clipping complex arrays * `#5524 `__: allow np.argpartition on non ndarrays * `#5612 `__: Fixes ndarray.fill to accept full range of uint64 * `#5155 `__: Fix loadtxt with comments=None and a string None data * `#4476 `__: Masked array view fails if structured dtype has datetime component * `#5388 `__: Make RandomState.set_state and RandomState.get_state threadsafe * `#5390 `__: make seed, randint and shuffle threadsafe * `#5374 `__: Fixed incorrect assert_array_almost_equal_nulp documentation * `#5393 `__: Add support for ATLAS > 3.9.33. * `#5313 `__: PyArray_AsCArray caused segfault for 3d arrays * `#5492 `__: handle out of memory in rfftf * `#4181 `__: fix a few bugs in the random.pareto docstring * `#5359 `__: minor changes to linspace docstring * `#4723 `__: fix a compile issues on AIX NumPy 1.9.1 Release Notes ************************* This is a bugfix only release in the 1.9.x series. Issues fixed ============ * gh-5184: restore linear edge behaviour of gradient to as it was in < 1.9. The second order behaviour is available via the `edge_order` keyword * gh-4007: workaround Accelerate sgemv crash on OSX 10.9 * gh-5100: restore object dtype inference from iterable objects without `len()` * gh-5163: avoid gcc-4.1.2 (red hat 5) miscompilation causing a crash * gh-5138: fix nanmedian on arrays containing inf * gh-5240: fix not returning out array from ufuncs with subok=False set * gh-5203: copy inherited masks in MaskedArray.__array_finalize__ * gh-2317: genfromtxt did not handle filling_values=0 correctly * gh-5067: restore api of npy_PyFile_DupClose in python2 * gh-5063: cannot convert invalid sequence index to tuple * gh-5082: Segmentation fault with argmin() on unicode arrays * gh-5095: don't propagate subtypes from np.where * gh-5104: np.inner segfaults with SciPy's sparse matrices * gh-5251: Issue with fromarrays not using correct format for unicode arrays * gh-5136: Import dummy_threading if importing threading fails * gh-5148: Make numpy import when run with Python flag '-OO' * gh-5147: Einsum double contraction in particular order causes ValueError * gh-479: Make f2py work with intent(in out) * gh-5170: Make python2 .npy files readable in python3 * gh-5027: Use 'll' as the default length specifier for long long * gh-4896: fix build error with MSVC 2013 caused by C99 complex support * gh-4465: Make PyArray_PutTo respect writeable flag * gh-5225: fix crash when using arange on datetime without dtype set * gh-5231: fix build in c99 mode NumPy 1.9.0 Release Notes ************************* This release supports Python 2.6 - 2.7 and 3.2 - 3.4. Highlights ========== * Numerous performance improvements in various areas, most notably indexing and operations on small arrays are significantly faster. Indexing operations now also release the GIL. * Addition of `nanmedian` and `nanpercentile` rounds out the nanfunction set. Dropped Support =============== * The oldnumeric and numarray modules have been removed. * The doc/pyrex and doc/cython directories have been removed. * The doc/numpybook directory has been removed. * The numpy/testing/numpytest.py file has been removed together with the importall function it contained. Future Changes ============== * The numpy/polynomial/polytemplate.py file will be removed in NumPy 1.10.0. * Default casting for inplace operations will change to 'same_kind' in Numpy 1.10.0. This will certainly break some code that is currently ignoring the warning. * Relaxed stride checking will be the default in 1.10.0 * String version checks will break because, e.g., '1.9' > '1.10' is True. A NumpyVersion class has been added that can be used for such comparisons. * The diagonal and diag functions will return writeable views in 1.10.0 * The `S` and/or `a` dtypes may be changed to represent Python strings instead of bytes, in Python 3 these two types are very different. Compatibility notes =================== The diagonal and diag functions return readonly views. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In NumPy 1.8, the diagonal and diag functions returned readonly copies, in NumPy 1.9 they return readonly views, and in 1.10 they will return writeable views. Special scalar float values don't cause upcast to double anymore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In previous numpy versions operations involving floating point scalars containing special values ``NaN``, ``Inf`` and ``-Inf`` caused the result type to be at least ``float64``. As the special values can be represented in the smallest available floating point type, the upcast is not performed anymore. For example the dtype of: ``np.array([1.], dtype=np.float32) * float('nan')`` now remains ``float32`` instead of being cast to ``float64``. Operations involving non-special values have not been changed. Percentile output changes ~~~~~~~~~~~~~~~~~~~~~~~~~ If given more than one percentile to compute numpy.percentile returns an array instead of a list. A single percentile still returns a scalar. The array is equivalent to converting the list returned in older versions to an array via ``np.array``. If the ``overwrite_input`` option is used the input is only partially instead of fully sorted. ndarray.tofile exception type ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All ``tofile`` exceptions are now ``IOError``, some were previously ``ValueError``. Invalid fill value exceptions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Two changes to numpy.ma.core._check_fill_value: * When the fill value is a string and the array type is not one of 'OSUV', TypeError is raised instead of the default fill value being used. * When the fill value overflows the array type, TypeError is raised instead of OverflowError. Polynomial Classes no longer derived from PolyBase ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This may cause problems with folks who depended on the polynomial classes being derived from PolyBase. They are now all derived from the abstract base class ABCPolyBase. Strictly speaking, there should be a deprecation involved, but no external code making use of the old baseclass could be found. Using numpy.random.binomial may change the RNG state vs. numpy < 1.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A bug in one of the algorithms to generate a binomial random variate has been fixed. This change will likely alter the number of random draws performed, and hence the sequence location will be different after a call to distribution.c::rk_binomial_btpe. Any tests which rely on the RNG being in a known state should be checked and/or updated as a result. Random seed enforced to be a 32 bit unsigned integer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.random.seed`` and ``np.random.RandomState`` now throw a ``ValueError`` if the seed cannot safely be converted to 32 bit unsigned integers. Applications that now fail can be fixed by masking the higher 32 bit values to zero: ``seed = seed & 0xFFFFFFFF``. This is what is done silently in older versions so the random stream remains the same. Argmin and argmax out argument ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``out`` argument to ``np.argmin`` and ``np.argmax`` and their equivalent C-API functions is now checked to match the desired output shape exactly. If the check fails a ``ValueError`` instead of ``TypeError`` is raised. Einsum ~~~~~~ Remove unnecessary broadcasting notation restrictions. ``np.einsum('ijk,j->ijk', A, B)`` can also be written as ``np.einsum('ij...,j->ij...', A, B)`` (ellipsis is no longer required on 'j') Indexing ~~~~~~~~ The NumPy indexing has seen a complete rewrite in this version. This makes most advanced integer indexing operations much faster and should have no other implications. However some subtle changes and deprecations were introduced in advanced indexing operations: * Boolean indexing into scalar arrays will always return a new 1-d array. This means that ``array(1)[array(True)]`` gives ``array([1])`` and not the original array. * Advanced indexing into one dimensional arrays used to have (undocumented) special handling regarding repeating the value array in assignments when the shape of the value array was too small or did not match. Code using this will raise an error. For compatibility you can use ``arr.flat[index] = values``, which uses the old code branch. (for example ``a = np.ones(10); a[np.arange(10)] = [1, 2, 3]``) * The iteration order over advanced indexes used to be always C-order. In NumPy 1.9. the iteration order adapts to the inputs and is not guaranteed (with the exception of a *single* advanced index which is never reversed for compatibility reasons). This means that the result is undefined if multiple values are assigned to the same element. An example for this is ``arr[[0, 0], [1, 1]] = [1, 2]``, which may set ``arr[0, 1]`` to either 1 or 2. * Equivalent to the iteration order, the memory layout of the advanced indexing result is adapted for faster indexing and cannot be predicted. * All indexing operations return a view or a copy. No indexing operation will return the original array object. (For example ``arr[...]``) * In the future Boolean array-likes (such as lists of python bools) will always be treated as Boolean indexes and Boolean scalars (including python ``True``) will be a legal *boolean* index. At this time, this is already the case for scalar arrays to allow the general ``positive = a[a > 0]`` to work when ``a`` is zero dimensional. * In NumPy 1.8 it was possible to use ``array(True)`` and ``array(False)`` equivalent to 1 and 0 if the result of the operation was a scalar. This will raise an error in NumPy 1.9 and, as noted above, treated as a boolean index in the future. * All non-integer array-likes are deprecated, object arrays of custom integer like objects may have to be cast explicitly. * The error reporting for advanced indexing is more informative, however the error type has changed in some cases. (Broadcasting errors of indexing arrays are reported as ``IndexError``) * Indexing with more then one ellipsis (``...``) is deprecated. Non-integer reduction axis indexes are deprecated ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Non-integer axis indexes to reduction ufuncs like `add.reduce` or `sum` are deprecated. ``promote_types`` and string dtype ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``promote_types`` function now returns a valid string length when given an integer or float dtype as one argument and a string dtype as another argument. Previously it always returned the input string dtype, even if it wasn't long enough to store the max integer/float value converted to a string. ``can_cast`` and string dtype ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``can_cast`` function now returns False in "safe" casting mode for integer/float dtype and string dtype if the string dtype length is not long enough to store the max integer/float value converted to a string. Previously ``can_cast`` in "safe" mode returned True for integer/float dtype and a string dtype of any length. astype and string dtype ~~~~~~~~~~~~~~~~~~~~~~~ The ``astype`` method now returns an error if the string dtype to cast to is not long enough in "safe" casting mode to hold the max value of integer/float array that is being casted. Previously the casting was allowed even if the result was truncated. `npyio.recfromcsv` keyword arguments change ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `npyio.recfromcsv` no longer accepts the undocumented `update` keyword, which used to override the `dtype` keyword. The ``doc/swig`` directory moved ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``doc/swig`` directory has been moved to ``tools/swig``. The ``npy_3kcompat.h`` header changed ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The unused ``simple_capsule_dtor`` function has been removed from ``npy_3kcompat.h``. Note that this header is not meant to be used outside of numpy; other projects should be using their own copy of this file when needed. Negative indices in C-Api ``sq_item`` and ``sq_ass_item`` sequence methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When directly accessing the ``sq_item`` or ``sq_ass_item`` PyObject slots for item getting, negative indices will not be supported anymore. ``PySequence_GetItem`` and ``PySequence_SetItem`` however fix negative indices so that they can be used there. NDIter ~~~~~~ When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. When a multi index is being tracked and an iterator is not buffered, it is possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink in size. Because the total size of an iterator is limited, the iterator may be too large before these calls. In this case its size will be set to ``-1`` and an error issued not at construction time but when removing the multi index, setting the iterator range, or getting the next function. This has no effect on currently working code, but highlights the necessity of checking for an error return if these conditions can occur. In most cases the arrays being iterated are as large as the iterator so that such a problem cannot occur. This change was already applied to the 1.8.1 release. ``zeros_like`` for string dtypes now returns empty strings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To match the `zeros` function `zeros_like` now returns an array initialized with empty strings instead of an array filled with `'0'`. New Features ============ Percentile supports more interpolation options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.percentile`` now has the interpolation keyword argument to specify in which way points should be interpolated if the percentiles fall between two values. See the documentation for the available options. Generalized axis support for median and percentile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.median`` and ``np.percentile`` now support generalized axis arguments like ufunc reductions do since 1.7. One can now say axis=(index, index) to pick a list of axes for the reduction. The ``keepdims`` keyword argument was also added to allow convenient broadcasting to arrays of the original shape. Dtype parameter added to ``np.linspace`` and ``np.logspace`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The returned data type from the ``linspace`` and ``logspace`` functions can now be specified using the dtype parameter. More general ``np.triu`` and ``np.tril`` broadcasting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For arrays with ``ndim`` exceeding 2, these functions will now apply to the final two axes instead of raising an exception. ``tobytes`` alias for ``tostring`` method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``ndarray.tobytes`` and ``MaskedArray.tobytes`` have been added as aliases for ``tostring`` which exports arrays as ``bytes``. This is more consistent in Python 3 where ``str`` and ``bytes`` are not the same. Build system ~~~~~~~~~~~~ Added experimental support for the ppc64le and OpenRISC architecture. Compatibility to python ``numbers`` module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All numerical numpy types are now registered with the type hierarchy in the python ``numbers`` module. ``increasing`` parameter added to ``np.vander`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ordering of the columns of the Vandermonde matrix can be specified with this new boolean argument. ``unique_counts`` parameter added to ``np.unique`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The number of times each unique item comes up in the input can now be obtained as an optional return value. Support for median and percentile in nanfunctions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``np.nanmedian`` and ``np.nanpercentile`` functions behave like the median and percentile functions except that NaNs are ignored. NumpyVersion class added ~~~~~~~~~~~~~~~~~~~~~~~~ The class may be imported from numpy.lib and can be used for version comparison when the numpy version goes to 1.10.devel. For example:: >>> from numpy.lib import NumpyVersion >>> if NumpyVersion(np.__version__) < '1.10.0'): ... print('Wow, that is an old NumPy version!') Allow saving arrays with large number of named columns ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The numpy storage format 1.0 only allowed the array header to have a total size of 65535 bytes. This can be exceeded by structured arrays with a large number of columns. A new format 2.0 has been added which extends the header size to 4 GiB. `np.save` will automatically save in 2.0 format if the data requires it, else it will always use the more compatible 1.0 format. Full broadcasting support for ``np.cross`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.cross`` now properly broadcasts its two input arrays, even if they have different number of dimensions. In earlier versions this would result in either an error being raised, or wrong results computed. Improvements ============ Better numerical stability for sum in some cases ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pairwise summation is now used in the sum method, but only along the fast axis and for groups of the values <= 8192 in length. This should also improve the accuracy of var and std in some common cases. Percentile implemented in terms of ``np.partition`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.percentile`` has been implemented in terms of ``np.partition`` which only partially sorts the data via a selection algorithm. This improves the time complexity from ``O(nlog(n))`` to ``O(n)``. Performance improvement for ``np.array`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The performance of converting lists containing arrays to arrays using ``np.array`` has been improved. It is now equivalent in speed to ``np.vstack(list)``. Performance improvement for ``np.searchsorted`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For the built-in numeric types, ``np.searchsorted`` no longer relies on the data type's ``compare`` function to perform the search, but is now implemented by type specific functions. Depending on the size of the inputs, this can result in performance improvements over 2x. Optional reduced verbosity for np.distutils ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not print anything on the output. This is mostly for other packages using numpy.distutils. Covariance check in ``np.random.multivariate_normal`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A ``RuntimeWarning`` warning is raised when the covariance matrix is not positive-semidefinite. Polynomial Classes no longer template based ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The polynomial classes have been refactored to use an abstract base class rather than a template in order to implement a common interface. This makes importing the polynomial package faster as the classes do not need to be compiled on import. More GIL releases ~~~~~~~~~~~~~~~~~ Several more functions now release the Global Interpreter Lock allowing more efficient parallization using the ``threading`` module. Most notably the GIL is now released for fancy indexing, ``np.where`` and the ``random`` module now uses a per-state lock instead of the GIL. MaskedArray support for more complicated base classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Built-in assumptions that the baseclass behaved like a plain array are being removed. In particalur, ``repr`` and ``str`` should now work more reliably. C-API ~~~~~ Deprecations ============ Non-integer scalars for sequence repetition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using non-integer numpy scalars to repeat python sequences is deprecated. For example ``np.float_(2) * [1]`` will be an error in the future. ``select`` input deprecations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The integer and empty input to ``select`` is deprecated. In the future only boolean arrays will be valid conditions and an empty ``condlist`` will be considered an input error instead of returning the default. ``rank`` function ~~~~~~~~~~~~~~~~~ The ``rank`` function has been deprecated to avoid confusion with ``numpy.linalg.matrix_rank``. Object array equality comparisons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the future object array comparisons both `==` and `np.equal` will not make use of identity checks anymore. For example: >>> a = np.array([np.array([1, 2, 3]), 1]) >>> b = np.array([np.array([1, 2, 3]), 1]) >>> a == b will consistently return False (and in the future an error) even if the array in `a` and `b` was the same object. The equality operator `==` will in the future raise errors like `np.equal` if broadcasting or element comparisons, etc. fails. Comparison with `arr == None` will in the future do an elementwise comparison instead of just returning False. Code should be using `arr is None`. All of these changes will give Deprecation- or FutureWarnings at this time. C-API ~~~~~ The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the internal buffering python 3 applies to its file objects. To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are declared in npy_3kcompat.h and the old functions are deprecated. Due to the fragile nature of these functions it is recommended to instead use the python API when possible. This change was already applied to the 1.8.1 release. NumPy 1.8.2 Release Notes ************************* This is a bugfix only release in the 1.8.x series. Issues fixed ============ * gh-4836: partition produces wrong results for multiple selections in equal ranges * gh-4656: Make fftpack._raw_fft threadsafe * gh-4628: incorrect argument order to _copyto in in np.nanmax, np.nanmin * gh-4642: Hold GIL for converting dtypes types with fields * gh-4733: fix np.linalg.svd(b, compute_uv=False) * gh-4853: avoid unaligned simd load on reductions on i386 * gh-4722: Fix seg fault converting empty string to object * gh-4613: Fix lack of NULL check in array_richcompare * gh-4774: avoid unaligned access for strided byteswap * gh-650: Prevent division by zero when creating arrays from some buffers * gh-4602: ifort has issues with optimization flag O2, use O1 NumPy 1.8.1 Release Notes ************************* This is a bugfix only release in the 1.8.x series. Issues fixed ============ * gh-4276: Fix mean, var, std methods for object arrays * gh-4262: remove insecure mktemp usage * gh-2385: absolute(complex(inf)) raises invalid warning in python3 * gh-4024: Sequence assignment doesn't raise exception on shape mismatch * gh-4027: Fix chunked reading of strings longer than BUFFERSIZE * gh-4109: Fix object scalar return type of 0-d array indices * gh-4018: fix missing check for memory allocation failure in ufuncs * gh-4156: high order linalg.norm discards imaginary elements of complex arrays * gh-4144: linalg: norm fails on longdouble, signed int * gh-4094: fix NaT handling in _strided_to_strided_string_to_datetime * gh-4051: fix uninitialized use in _strided_to_strided_string_to_datetime * gh-4093: Loading compressed .npz file fails under Python 2.6.6 * gh-4138: segfault with non-native endian memoryview in python 3.4 * gh-4123: Fix missing NULL check in lexsort * gh-4170: fix native-only long long check in memoryviews * gh-4187: Fix large file support on 32 bit * gh-4152: fromfile: ensure file handle positions are in sync in python3 * gh-4176: clang compatibility: Typos in conversion_utils * gh-4223: Fetching a non-integer item caused array return * gh-4197: fix minor memory leak in memoryview failure case * gh-4206: fix build with single-threaded python * gh-4220: add versionadded:: 1.8.0 to ufunc.at docstring * gh-4267: improve handling of memory allocation failure * gh-4267: fix use of capi without gil in ufunc.at * gh-4261: Detect vendor versions of GNU Compilers * gh-4253: IRR was returning nan instead of valid negative answer * gh-4254: fix unnecessary byte order flag change for byte arrays * gh-3263: numpy.random.shuffle clobbers mask of a MaskedArray * gh-4270: np.random.shuffle not work with flexible dtypes * gh-3173: Segmentation fault when 'size' argument to random.multinomial * gh-2799: allow using unique with lists of complex * gh-3504: fix linspace truncation for integer array scalar * gh-4191: get_info('openblas') does not read libraries key * gh-3348: Access violation in _descriptor_from_pep3118_format * gh-3175: segmentation fault with numpy.array() from bytearray * gh-4266: histogramdd - wrong result for entries very close to last boundary * gh-4408: Fix stride_stricks.as_strided function for object arrays * gh-4225: fix log1p and exmp1 return for np.inf on windows compiler builds * gh-4359: Fix infinite recursion in str.format of flex arrays * gh-4145: Incorrect shape of broadcast result with the exponent operator * gh-4483: Fix commutativity of {dot,multiply,inner}(scalar, matrix_of_objs) * gh-4466: Delay npyiter size check when size may change * gh-4485: Buffered stride was erroneously marked fixed * gh-4354: byte_bounds fails with datetime dtypes * gh-4486: segfault/error converting from/to high-precision datetime64 objects * gh-4428: einsum(None, None, None, None) causes segfault * gh-4134: uninitialized use for for size 1 object reductions Changes ======= NDIter ~~~~~~ When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. When a multi index is being tracked and an iterator is not buffered, it is possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink in size. Because the total size of an iterator is limited, the iterator may be too large before these calls. In this case its size will be set to ``-1`` and an error issued not at construction time but when removing the multi index, setting the iterator range, or getting the next function. This has no effect on currently working code, but highlights the necessity of checking for an error return if these conditions can occur. In most cases the arrays being iterated are as large as the iterator so that such a problem cannot occur. Optional reduced verbosity for np.distutils ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not print anything on the output. This is mostly for other packages using numpy.distutils. Deprecations ============ C-API ~~~~~ The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the internal buffering python 3 applies to its file objects. To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are declared in npy_3kcompat.h and the old functions are deprecated. Due to the fragile nature of these functions it is recommended to instead use the python API when possible. @ text @d1 1 a1 1 $NetBSD$ d8 1 a8 1 --- numpy/distutils/fcompiler/gnu.py.orig 2015-02-01 16:38:21.000000000 +0000 d10 10 a19 1 @@@@ -72,7 +72,7 @@@@ class GnuFCompiler(FCompiler): d21 1 a21 1 'compiler_f90' : None, # Use --fcompiler=gnu95 for f90 codes d28 1 a28 1 @@@@ -127,7 +127,7 @@@@ class GnuFCompiler(FCompiler): d37 1 a37 1 @@@@ -261,7 +261,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d46 1 a46 1 @@@@ -274,7 +274,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.6 log @Restore variable substitution lost in last update, exposed by cwrappers. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.5 2014/02/28 09:43:11 adam Exp $ d8 1 a8 1 --- numpy/distutils/fcompiler/gnu.py.orig 2013-10-30 18:31:40.000000000 +0000 d15 1 a15 1 + 'linker_so' : [None, "-g", "-Wall", "-shared", "@@COMPILER_ABI_FLAG@@"], d28 1 a28 3 @@@@ -257,7 +257,7 @@@@ class Gnu95FCompiler(GnuFCompiler): 'compiler_f90' : [None, "-Wall", "-fno-second-underscore"] + _EXTRAFLAGS, 'compiler_fix' : [None, "-Wall", "-ffixed-form", d30 4 a33 2 - 'linker_so' : ["", "-Wall"], + 'linker_so' : ["", "-Wall", "-shared", "@@COMPILER_ABI_FLAG@@"], d37 1 a37 1 @@@@ -270,7 +270,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d42 1 a42 1 + if not sys.platform == 'darwin' or cmd == None: @ 1.5 log @Changes 1.8.0: * New, no 2to3, Python 2 and Python 3 are supported by a common code base. * New, gufuncs for linear algebra, enabling operations on stacked arrays. * New, inplace fancy indexing for ufuncs with the ``.at`` method. * New, ``partition`` function, partial sorting via selection for fast median. * New, ``nanmean``, ``nanvar``, and ``nanstd`` functions skipping NaNs. * New, ``full`` and ``full_like`` functions to create value initialized arrays. * New, ``PyUFunc_RegisterLoopForDescr``, better ufunc support for user dtypes. * Numerous performance improvements in many areas. * Support for Python versions 2.4 and 2.5 has been dropped. * Support for SCons has been removed. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.4 2013/02/21 10:59:39 jperkin Exp $ d15 1 a15 1 + 'linker_so' : [None, "-g", "-Wall", "-shared", "-m64"], d33 1 a33 1 + 'linker_so' : ["", "-Wall", "-shared", "-m64"], @ 1.4 log @Ensure the correct compiler ABI flag is used when this package does its own builds for dependencies. Fixes issue on SunOS 32-bit when the native gfortran produces 64-bit by default. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-numpy_distutils_fcompiler_gnu.py,v 1.3 2012/08/14 20:19:21 fhajny Exp $ a2 1 Do not run a shell command when it is "None". d5 2 d8 1 a8 1 --- numpy/distutils/fcompiler/gnu.py.orig 2011-09-13 20:39:16.000000000 +0000 d10 1 a10 1 @@@@ -70,7 +70,7 @@@@ class GnuFCompiler(FCompiler): d15 1 a15 1 + 'linker_so' : [None, "-g", "-Wall", "-shared", "@@COMPILER_ABI_FLAG@@"], d19 10 a28 1 @@@@ -255,7 +255,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d33 1 a33 1 + 'linker_so' : ["", "-Wall", "-shared", "@@COMPILER_ABI_FLAG@@"], d37 1 a37 1 @@@@ -268,7 +268,7 @@@@ class Gnu95FCompiler(GnuFCompiler): @ 1.3 log @Fix build on SmartOS by making sure linker always gets -shared @ text @d1 1 a1 1 $NetBSD$ d4 2 a5 1 Linker needs -shared explictly (at least with GCC 4.7 on SunOS). d7 1 a7 1 --- numpy/distutils/fcompiler/gnu.py.orig 2011-03-11 05:56:15.000000000 +0000 d14 1 a14 1 + 'linker_so' : [None, "-g", "-Wall", "-shared"], d23 1 a23 1 + 'linker_so' : ["", "-Wall", "-shared"], @ 1.2 log @update to 1.6.1 changes: any new features, performance improvements and bug fixes, Some highlights are: -Re-introduction of datetime dtype support to deal with dates in arrays. -A new 16-bit floating point type. -A new iterator, which improves performance of many functions. @ text @d4 1 d8 18 @ 1.1 log @Let py-numpy not run an invalid shell command. This fixes PR 44130. @ text @d5 1 a5 1 --- numpy/distutils/fcompiler/gnu.py.orig 2010-04-22 09:35:24.000000000 +0000 d7 1 a7 1 @@@@ -249,7 +249,7 @@@@ class Gnu95FCompiler(GnuFCompiler): d15 1 a15 1 for arch in ["ppc", "i686", "x86_64"]: @