summaryrefslogtreecommitdiff
path: root/.gitignore
Commit message (Collapse)AuthorAgeFilesLines
* MAINT: Update the documentation MakefileCharles Harris2022-06-251-0/+1
| | | | | | | | | | | | | | | | | This does several things - Uses a virtual environment for the documentent build. This allows installing the proper NumPy version with pip and works with all recent Python versions. - Installs the dependencies current in the {doc|test}requirements files. That makes it easier to insure that the proper versions are used. - Removes the latex/pdf builds. Those builds are currently buggy and hard to maintain and we have chosen to remove the pdf documents until that is fixed. Removing them cleans up the file to some extent. This all makes it easier to document how to build the docs. I was editing the Makefile on the fly before this, and that sort of knowledge is tricky to pass on to new maintainers.
* ENH: adding casting option to numpy.stack. (#21627)Jhonatan Cunha2022-06-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | np.concatenate and np.stack are similar methods, but only np.concatenate has the casting option. This PR puts the casting option into the np.stack method to control what kind of data casting may occur Closes gh-20959 * ENH: adding casting option to numpy.stack. See #20959 * ENH: adding dtype option to numpy.stack. See #20959 * REV: removing auto-generated file loops_modulo.dispatch.c See numpy#20959 * REV: removing auto-generated file loops_modulo.dispatch.c See numpy#20959 * REV: removing inserted newlines See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * DOC: inserting versionadded info in dtype and casting parameters. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * TST: writing tests to stack method with dtype and casting options See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * DOC: adding upcoming_change file for new options casting and dtype in method stack. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * REV: reverting lint errors. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * DOC: inserting hstack and vstack methods in upcoming changes See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * ENH: adding dtype and casting keyword arguments to numpy.vstack and numpy.hstack. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * TST: writing tests to vstack and hstack methods with dtype and casting keyword arguments. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * REV: reverting the 'out' option type in stack method. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * REV: Reverting out type changes in overload of shape_base.pyi file. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: jhonatancunha <jhonatancunha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> * DOC: correcting some english erros in upcoming_changes file. See numpy#20959 Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com> Co-authored-by: JessePires <jessepires2010@gmail.com> Co-authored-by: alescrocaro <alescrocaro@gmail.com> Co-authored-by: JessePires <jesserocha@alunos.utfpr.edu.br> Co-authored-by: patriarka <matheussantanapatriarca2019@outlook.com>
* SIMD: Use universal intrinsics to implement comparison functionsRafael Cardoso Fernandes Sousa2022-05-231-0/+1
|
* MAINT: Add `loops_modulo.dispatch.c` to .gitignoreBas van Beek2022-05-031-0/+1
|
* MAINT: Gitignore `npysort/x86-qsort.dispatch.*.cpp` filesBas van Beek2022-03-181-0/+1
|
* MAINT: Add more SIMD files to .gitignoreBas van Beek2022-02-141-0/+4
| | | | | | * umath/loops_hyperbolic.dispatch.c * multiarray/argfunc.dispatch.c * multiarray/arraytypes.h
* MAINT: gitignore `tokenize.c` and `x86-qsort.dispatch.c`Bas van Beek2022-02-091-0/+3
|
* Merge pull request #20131 from Developer-Ecosystem-Engineering/as_min_maxMatti Picus2022-01-111-0/+1
|\ | | | | BUG: min/max is slow, re-implement using NEON (#17989)
| * Merge branch 'numpy:main' into as_min_maxDeveloper-Ecosystem-Engineering2021-11-181-0/+1
| |\
| * | BUG: NEON min/max is slow (#17989)Developer-Ecosystem-Engineering2021-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes numpy/numpy#17989 by adding ARM NEON implementations for min/max and fmin/max. Before: Rosetta faster than native arm64 by `1.2x - 8.6x`. After: Native arm64 faster than Rosetta by `1.6x - 6.7x`. (2.8x - 15.5x improvement) **Benchmarks** ``` before after ratio [b0e1a445] [8301ffd7] <main> <gh-issue-17989/improve-neon-min-max> + 32.6±0.04μs 37.5±0.08μs 1.15 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 2, 1, 'd') + 32.6±0.06μs 37.5±0.04μs 1.15 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 2, 1, 'd') + 37.8±0.09μs 43.2±0.09μs 1.14 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 4, 4, 'f') + 37.7±0.09μs 42.9±0.1μs 1.14 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 2, 2, 'd') + 37.9±0.2μs 43.0±0.02μs 1.14 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 2, 2, 'd') + 37.7±0.01μs 42.3±1μs 1.12 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'conjugate'>, 2, 2, 'd') + 34.2±0.07μs 38.1±0.05μs 1.12 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 4, 2, 'f') + 32.6±0.03μs 35.8±0.04μs 1.10 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 4, 1, 'f') + 37.1±0.1μs 40.3±0.1μs 1.09 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 1, 2, 'd') + 37.2±0.1μs 40.3±0.04μs 1.08 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 2, 4, 'f') + 37.1±0.09μs 40.3±0.07μs 1.08 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 1, 2, 'd') + 68.6±0.5μs 74.2±0.3μs 1.08 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 4, 4, 'd') + 37.1±0.2μs 40.0±0.1μs 1.08 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'conjugate'>, 1, 2, 'd') + 2.42±0μs 2.61±0.05μs 1.08 bench_core.CountNonzero.time_count_nonzero_axis(3, 100, <class 'numpy.int16'>) + 69.1±0.7μs 73.5±0.7μs 1.06 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'conjugate'>, 4, 4, 'd') + 54.7±0.3μs 58.0±0.2μs 1.06 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 2, 4, 'd') + 54.5±0.2μs 57.8±0.2μs 1.06 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'conjugate'>, 2, 4, 'd') + 3.78±0.04μs 4.00±0.02μs 1.06 bench_core.CountNonzero.time_count_nonzero_multi_axis(2, 100, <class 'str'>) + 54.8±0.2μs 57.9±0.3μs 1.06 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 2, 4, 'd') + 3.68±0.01μs 3.87±0.02μs 1.05 bench_core.CountNonzero.time_count_nonzero_multi_axis(1, 100, <class 'object'>) + 69.6±0.2μs 73.1±0.2μs 1.05 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'floor'>, 4, 4, 'd') + 229±2μs 241±0.2μs 1.05 bench_random.Bounded.time_bounded('PCG64', [<class 'numpy.uint64'>, 1535]) - 73.0±0.8μs 69.5±0.2μs 0.95 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'trunc'>, 4, 4, 'd') - 37.6±0.1μs 35.7±0.3μs 0.95 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'trunc'>, 1, 4, 'f') - 88.7±0.04μs 84.2±0.7μs 0.95 bench_lib.Pad.time_pad((256, 128, 1), 1, 'wrap') - 57.9±0.2μs 54.8±0.2μs 0.95 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'trunc'>, 2, 4, 'd') - 39.9±0.2μs 37.2±0.04μs 0.93 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'positive'>, 1, 2, 'd') - 2.66±0.01μs 2.47±0.01μs 0.93 bench_lib.Nan.time_nanmin(200, 0) - 2.65±0.02μs 2.46±0.04μs 0.93 bench_lib.Nan.time_nanmin(200, 50.0) - 2.64±0.01μs 2.45±0.01μs 0.93 bench_lib.Nan.time_nanmax(200, 90.0) - 2.64±0μs 2.44±0.02μs 0.92 bench_lib.Nan.time_nanmax(200, 0) - 2.68±0.02μs 2.48±0μs 0.92 bench_lib.Nan.time_nanmax(200, 2.0) - 40.2±0.01μs 37.1±0.1μs 0.92 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 2, 4, 'f') - 2.69±0μs 2.47±0μs 0.92 bench_lib.Nan.time_nanmin(200, 2.0) - 2.70±0.02μs 2.48±0.02μs 0.92 bench_lib.Nan.time_nanmax(200, 0.1) - 2.70±0μs 2.47±0μs 0.91 bench_lib.Nan.time_nanmin(200, 90.0) - 2.70±0μs 2.46±0μs 0.91 bench_lib.Nan.time_nanmin(200, 0.1) - 2.70±0μs 2.42±0.01μs 0.90 bench_lib.Nan.time_nanmax(200, 50.0) - 11.8±0.6ms 10.6±0.6ms 0.89 bench_core.CountNonzero.time_count_nonzero_axis(2, 1000000, <class 'str'>) - 42.7±0.1μs 37.8±0.02μs 0.88 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'positive'>, 2, 2, 'd') - 42.8±0.03μs 37.8±0.2μs 0.88 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'rint'>, 2, 2, 'd') - 43.1±0.2μs 37.7±0.09μs 0.87 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'ceil'>, 4, 4, 'f') - 37.5±0.07μs 32.6±0.06μs 0.87 bench_ufunc_strides.Unary.time_ufunc(<ufunc 'rint'>, 2, 1, 'd') - 41.7±0.03μs 36.3±0.07μs 0.87 bench_ufunc_strides.Unary.time_ufunc(<ufunc '_ones_like'>, 1, 4, 'd') - 166±0.8μs 144±1μs 0.87 bench_ufunc.UFunc.time_ufunc_types('fmin') - 11.6±0.8ms 10.0±0.01ms 0.87 bench_core.CountNonzero.time_count_nonzero_multi_axis(2, 1000000, <class 'str'>) - 167±0.9μs 144±2μs 0.86 bench_ufunc.UFunc.time_ufunc_types('minimum') - 168±4μs 143±0.5μs 0.85 bench_ufunc.UFunc.time_ufunc_types('fmax') - 167±1μs 142±0.8μs 0.85 bench_ufunc.UFunc.time_ufunc_types('maximum') - 7.10±0μs 4.97±0.01μs 0.70 bench_ufunc_strides.AVX_BFunc.time_ufunc('minimum', 'd', 2) - 7.11±0.07μs 4.96±0.01μs 0.70 bench_ufunc_strides.AVX_BFunc.time_ufunc('maximum', 'd', 2) - 7.05±0.07μs 4.68±0μs 0.66 bench_ufunc_strides.AVX_BFunc.time_ufunc('minimum', 'f', 4) - 7.13±0μs 4.68±0.01μs 0.66 bench_ufunc_strides.AVX_BFunc.time_ufunc('maximum', 'f', 4) - 461±0.2μs 297±7μs 0.64 bench_app.MaxesOfDots.time_it - 7.04±0.07μs 3.95±0μs 0.56 bench_ufunc_strides.AVX_BFunc.time_ufunc('maximum', 'f', 2) - 7.06±0.06μs 3.95±0.01μs 0.56 bench_ufunc_strides.AVX_BFunc.time_ufunc('minimum', 'f', 2) - 7.09±0.06μs 3.24±0μs 0.46 bench_ufunc_strides.AVX_BFunc.time_ufunc('minimum', 'd', 1) - 7.12±0.07μs 3.25±0.02μs 0.46 bench_ufunc_strides.AVX_BFunc.time_ufunc('maximum', 'd', 1) - 14.5±0.02μs 3.98±0μs 0.27 bench_reduce.MinMax.time_max(<class 'numpy.int64'>) - 14.6±0.1μs 4.00±0.01μs 0.27 bench_reduce.MinMax.time_min(<class 'numpy.int64'>) - 6.88±0.06μs 1.34±0μs 0.19 bench_ufunc_strides.AVX_BFunc.time_ufunc('maximum', 'f', 1) - 7.00±0μs 1.33±0μs 0.19 bench_ufunc_strides.AVX_BFunc.time_ufunc('minimum', 'f', 1) - 39.4±0.01μs 3.95±0.01μs 0.10 bench_reduce.MinMax.time_min(<class 'numpy.float64'>) - 39.4±0.01μs 3.95±0.02μs 0.10 bench_reduce.MinMax.time_max(<class 'numpy.float64'>) - 254±0.02μs 22.8±0.2μs 0.09 bench_lib.Nan.time_nanmax(200000, 50.0) - 253±0.1μs 22.7±0.1μs 0.09 bench_lib.Nan.time_nanmin(200000, 0) - 254±0.06μs 22.7±0.09μs 0.09 bench_lib.Nan.time_nanmin(200000, 2.0) - 254±0.01μs 22.7±0.03μs 0.09 bench_lib.Nan.time_nanmin(200000, 0.1) - 254±0.04μs 22.7±0.02μs 0.09 bench_lib.Nan.time_nanmin(200000, 50.0) - 253±0.1μs 22.7±0.04μs 0.09 bench_lib.Nan.time_nanmax(200000, 0.1) - 253±0.03μs 22.7±0.04μs 0.09 bench_lib.Nan.time_nanmin(200000, 90.0) - 253±0.02μs 22.7±0.07μs 0.09 bench_lib.Nan.time_nanmax(200000, 0) - 254±0.03μs 22.7±0.02μs 0.09 bench_lib.Nan.time_nanmax(200000, 90.0) - 254±0.09μs 22.7±0.04μs 0.09 bench_lib.Nan.time_nanmax(200000, 2.0) - 39.2±0.01μs 2.51±0.01μs 0.06 bench_reduce.MinMax.time_max(<class 'numpy.float32'>) - 39.2±0.01μs 2.50±0.01μs 0.06 bench_reduce.MinMax.time_min(<class 'numpy.float32'>) ``` Size change of _multiarray_umath.cpython-39-darwin.so: Before: 3,890,723 After: 3,924,035 Change: +33,312 (~ +0.856 %)
* | | MAINT: Add _umath_doc_generated.h to .gitignoreBas van Beek2021-12-211-0/+1
| | |
* | | Rename _operand_flag_tests.c.src into numpy/core/src/umath/_operand_flag_tests.cserge-sans-paille2021-11-261-1/+0
| |/ |/| | | | | There's no templating annotation in _operand_flag_tests.c.src
* | MAINT: Add `loops_umath_fp.dispatch.c` to .gitignoreBas van Beek2021-10-271-0/+1
|/
* .gitignore virtualenv's .python-versionJerry Morrison2021-07-091-0/+1
|
* MAINT: Add `numpy/random/lib/npyrandom.lib` to gitignoreBas van Beek2021-05-071-0/+1
|
* MAINT, SIMD: Add loops_arithmetic.dispatch.c.srcGanesh Kathiresan2021-03-201-0/+1
|
* ENH, SIMD: Ditching the old CPU dispatcher(Exp & Log) (#18101)Sayed Adel2021-01-071-0/+1
| | | | | | | | | | | | | | The second patch in a series of pull-requests aims to facilitate the migration process to our new SIMD interface(NPYV). It is basically a process that focuses on getting rid of the main umath SIMD source `simd.inc`, which contains almost all SIMD kernels, by splitting it into several dispatch-able sources without changing the base code, which facilitates the review process during the move to NPYV(universal intrinsics). In this patch, we have moved the the following raw SIMD loops to the new dispatcher: - FLOAT_exp, DOUBLE_exp - FLOAT_log, DOUBLE_log - FLOAT_frexp, DOUBLE_frexp - FLOAT_ldexp, DOUBLE_ldexp
* BUG, BLD: Generate the main dispatcher config header into the build dirSayed Adel2021-01-031-3/+0
| | | | | | | | | | The new path becomes `build/src.*/numpy/distutils/include/npy_cpu_dispatch_config.h` instead of `numpy/core/src/common/_cpu_dispatch.h`. The new path allows other projects to re-use the CPU dispatcher once we decide to expose the following headers: - `numpy/core/src/common/npy_cpu_dispatch.h` - `numpy/core/src/common/npy_cpu_features.h`
* SIMD: Replace raw SIMD of sin/cos with NPYVSayed Adel2020-12-261-0/+1
| | | | | | The new code improves the performance of non-contiguous memory access for the output array without any reduction in performance. For PPC64LE the performance increased by 2-3.0, and 1.5-2.0 on aarch64.
* Merge pull request #17985 from seiko2plus/ditch_simd_arithmeticCharles Harris2020-12-191-0/+2
|\ | | | | ENH, SIMD: Ditching the old CPU dispatcher(Arithmetic)
| * ENH, SIMD: Ditching the old CPU dispatcher(Arithmetic)Sayed Adel2020-12-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The first patch in a series of pull-requests aims to facilitate the migration process to our new SIMD interface(NPYV). It is basically a process that focuses on getting rid of the main umath SIMD source `simd.inc`, which contains almost all SIMD kernels, by splitting it into several dispatch-able sources without changing the base code, which facilitates the review process in order to speed up access to the nominal target. In this patch, we have moved the arithmetic operations of real and complex for single/double precision to the new CPU dispatcher. NOTE: previously, the SIMD code of AVX2 and AVX512F for single/double precision wasn't dispatched in runtime before.
* | ENH: Use versioneer to manage numpy versions.Charles Harris2020-12-081-2/+0
|/ | | | | | | | | | | | The new tags look like '1.21.0.dev0+98.gaa0453721f', where '98' is the number of commits since the 1.21.0 branch was started and 'aa0453721f'. The chosen form may be specified in the 'setup.cfg' file. This PR adds two new files 'numpy/_version.py' and 'numpy/version.py'. The latter is kept because it is part of the public API and is actually used by some downstream projects, but it is no longer dynamically created. See https://github.com/python-versioneer/python-versioneer/ for more information.
* MAINT: Add git rules to ignore all SIMD generated filesSayed Adel2020-11-241-12/+16
|
* MAINT: Add more files to `.gitgnore`Bas van Beek2020-11-051-0/+9
|
* ENH: Pass optimizations arguments to asv buildSayed Adel2020-09-111-0/+1
| | | | | This patch allows passing `-j`, `--cpu-baseline`, `--cpu-dispatch` and `--disable-optimization` to ASV build when argument `--bench-compare` is used.
* Adding pip install -e and doc build generated files to gitignoreBrigitta Sipocz2020-07-121-0/+6
|
* MAINT: Add platform specific umath tests to gitignoreAnirudh Subramanian2020-06-191-0/+3
|
* ENH: [3/7] enable multi-platform SIMD compiler optimizationsSayed Adel2020-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Put `CCompilerOpt` in action through add two command line arguments that passed directly to `CCompilerOpt`'s parameters which explained as follows: * `--cpu-baseline` minimal set of required optimizations, default is 'min' which provides the minimum CPU features that can safely run on a wide range of users platforms. * `--cpu-dispatch` dispatched set of additional optimizations, default is 'max-xop-fma4' which enables all CPU features, except for AMD legacy features. the new arguments can be reached from `build`, `build_clib`, `build_ext`, if `build_clib` or `build_ext` are not specified by the user the arguments of `build` will be used, which also hold the default values. - Activate the new compiler dispatcher that comes with `CCompilerOpt`, through adding a hock inside `build_clib` and `build_ext` that works as a filter taking any C source files ends with `.dispatch.c` and pass it directly to `CCompilerOpt` and then take returned objects and linked to the final C lib. - Add a third command-line argument `--disable-optimization` which explicitly disable the whole new infrastructure, also It adds a new compiler definition called `NPY_DISABLE_OPTIMIZATION`. when `--disable-optimization` is enabled the dispatch-able sources that end with `.dispatch.c` will be treated as a normal C sources, also due to this disabling any C headers that generated by `CCompilerOpt` must guard it with `NPY_DISABLE_OPTIMIZATION`, otherwise, it will definitely break the build. - New auto-generated C header located at `core/include/numpy/_cpu_dispatch.h`, the new header contains all definitions and headers of CPU features that enabled according to specified configuration in `--cpu-baseline` and `--cpu-dispatch`.
* MAINT: simplifying annotations for np.core.from_numeric (#16556)Bas van Beek2020-06-101-0/+1
| | | | | | Simplified annotations for functions requiring >=1D ArrayLike objects. Affects a set of <20 functions from ``np.core.fromnumeric``. Based on feedback from https://github.com/numpy/numpy-stubs/pull/71.
* BUG,DEP: Make `scalar.__round__()` behave like pythons round (#15840)Hameer Abbasi2020-04-101-0/+1
| | | | | | | | | See issue gh-15297 and related mailing list discussion. This PR bring scalar.__round__() in line with python, so that `round(scalar)` always returns a python integer, while `round(scalar, ndigits=0)` returns the same type. Since complex numbers are not supported in Python, and cannot be reasonably cast to integers they are deprecated. Closes gh-15297
* Fix swig testsMathieu Lamarre2020-03-131-0/+14
| | | | | resize typemap issue python 3 bytes vs str issue
* MAINT: Remove duplicate files from .gitignoreKai Striega2019-09-271-4/+0
| | | | | | | | | | This commit removes lines 127-130 as they are duplicates of 149-152. These lines correspond to the files: * numpy/core/src/common/npy_binsearch.h * numpy/core/src/common/npy_partition.h * numpy/core/src/common/npy_sort.h * numpy/core/src/common/templ_common.h
* REPO: Ignore some generated files.Robert Kern2019-06-261-0/+1
|
* BUG: __dealloc__ can be called without __init__ in some error modesmattip2019-05-201-1/+1
| | | | | | skip doctests that require scipy move original mtrand module to _mtrand adjust documentation for namespace change
* BENCH: convert bencmarks to asv formatmattip2019-05-201-5/+5
| | | | | | | remove files that were part of the origal repo rework randomgen docs to integrate with numpy and fix some links remove convenience functions, require explicit call to gen.brng move code out of numpy.random.randomgen into numpy.random
* BUILD: move files out of _randomgenmattip2019-05-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | first cut at building randomgen upgrade 'cythonize' and fix absolute imports to relative define NPY_NO_DEPRECATED_API and fix other warnings enable pgc64 by always using PCG_EMULATED_MATH refactor so import randomgen works add TODO comments for pcg64 improvements fix imports, module name in setup.py; remove _testing make cythonize non-recursive, restore examples to proper place update to randomgen 7bca296c0b9 replace mtrand with LegacyGenerator, tweak for compatibility port f879ef4 to fix GH10839 minimized difference between generator.pyx and _legacy.pyx fix namespace in doctests, mark results that are random update to randomgen commit 95c8cdd1c Incorporate testing of edge cases into main tests Rename test files to describe their purpose Import import locations to reflect numpy paths Correct tolerance on float32 tests Remove set_printoptions Remove complex normal Remove future imports Pull in BasicRNG source changes from original author Small doc fixes _mtrand => _rand Improve consistency of nan handling Prevent nans prducing values from int functions add randomgen documentation to the tree
* ENH: Radix sortHameer Abbasi2019-05-111-0/+1
|
* ENH: preliminary numeric timsortwtli2019-01-211-0/+5
|
* MAINT: added template-generated files to .gitignoreOleksandr Pavlyk2018-12-081-0/+5
|
* DEV: Add ".directory" to gitignoreLars G2018-06-161-0/+1
| | | | | This file is typically created and used by the file manager Dolphin from KDE.
* DEV: Add new _test.c files and benchmarks/html to gitignoreLars G2018-06-161-0/+6
|
* MAINT: Added pytest cache folder to .gitignoreJoseph Fox-Rabinovitz2018-04-261-0/+4
| | | | [ci skip] [skip ci]
* MAINT: add .cache to gitignorexoviat2017-12-241-0/+1
|
* Merge pull request #10260 from xoviat/add-pytest-supportCharles Harris2017-12-221-0/+1
|\ | | | | ENH: Add pytest support
| * Add .cache to gitignorexoviat2017-12-221-0/+1
| |
* | MAINT: add .vscode to gitignorexoviat2017-12-171-0/+1
|/
* MAINT: update .gitignoreJulian Taylor2017-04-101-0/+2
|
* ENH: Allows building npy_math with static inliningAndres Guzman-Ballen2017-03-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code Overview: Numpy currently decouples the math function definitions in `npy_math.c.src` from the function declarations found in `npy_math.h`. This patch allows definitions to be included along with the inclusion of the `npy_math.h` header. Keeping the declarations and definitions separate is usually the right approach, but mathematical code like this might be better off as an exception to this common practice. Because the definitions are in the source file instead of the header, the compiler does not have any clue what lies underneath these math functions. This means the compiler can't make important optimizations like inlining and vectorization. Extensions that utilize these functions could greatly benefit from this, specifically `loops.c.src` from the umath extension. Implementation Details: + Renames `npy_math.c.src` to `npy_math_internal.h.src` + Generates `npy_math_internal.h` from template by adding to `npymath_sources` list and adding `npymath` directory to include paths in `generate_numpyconfig_h` function of `numpy/core/setup.py` + Numpy's core distutils defines `#NPY_INTERNAL_BUILD` macro to make sure `npy_math_internal.h` is not included when other modules try to include public header `npy_math.h` - Currently do not know how to ship headers generated from template files + Adds `npy_math.c`, a file that includes the `npy_math_internal.h.src` file (but does not add NPY_INLINE static) - This is to keep the same static npy_math library as it exists now + Appends `numpy/npy_math.h` with `npy_math_internal.h` under condition that it's not being included in npy_math.c.src - The conditional macros mean `loops.c.src` will have definitions included, and the compiler will vectorize accordingly + Adds `NPY_INLINE` static to function declarations and definitions when necessary + Replaces `sqrtf` with `npy_sqrtf` in `numpy/core/src/umath/umath_tests.c` to make function portable - `_sqrtf` was not found on certain Windows environments compiling with Py2
* ENH: Vendorize tempita.Charles Harris2016-09-301-0/+1
| | | | | | | | | | | Copy tempita from https://github.com/gjhiggins/tempita with a few changes to remove the six dependency. This removes a dependency on Cython's tempita, which is not to be relied on as it is considered by the Cython folks to be an implementation detail. The package is named npy_tempita so that it can always be distinguished from an installed tempita. The cythonize.py script is changed to use the vendorized tempita.
* MAINT: Add PMIP files to .gitignoregfyoung2016-09-191-0/+1
|