numpy 2.3.5__cp313-cp313-macosx_14_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of numpy might be problematic. Click here for more details.
- numpy/__config__.py +170 -0
- numpy/__config__.pyi +102 -0
- numpy/__init__.cython-30.pxd +1241 -0
- numpy/__init__.pxd +1154 -0
- numpy/__init__.py +945 -0
- numpy/__init__.pyi +6147 -0
- numpy/_array_api_info.py +346 -0
- numpy/_array_api_info.pyi +207 -0
- numpy/_configtool.py +39 -0
- numpy/_configtool.pyi +1 -0
- numpy/_core/__init__.py +186 -0
- numpy/_core/__init__.pyi +2 -0
- numpy/_core/_add_newdocs.py +6967 -0
- numpy/_core/_add_newdocs.pyi +3 -0
- numpy/_core/_add_newdocs_scalars.py +390 -0
- numpy/_core/_add_newdocs_scalars.pyi +16 -0
- numpy/_core/_asarray.py +134 -0
- numpy/_core/_asarray.pyi +41 -0
- numpy/_core/_dtype.py +366 -0
- numpy/_core/_dtype.pyi +58 -0
- numpy/_core/_dtype_ctypes.py +120 -0
- numpy/_core/_dtype_ctypes.pyi +83 -0
- numpy/_core/_exceptions.py +162 -0
- numpy/_core/_exceptions.pyi +55 -0
- numpy/_core/_internal.py +958 -0
- numpy/_core/_internal.pyi +72 -0
- numpy/_core/_machar.py +355 -0
- numpy/_core/_machar.pyi +55 -0
- numpy/_core/_methods.py +255 -0
- numpy/_core/_methods.pyi +22 -0
- numpy/_core/_multiarray_tests.cpython-313-darwin.so +0 -0
- numpy/_core/_multiarray_umath.cpython-313-darwin.so +0 -0
- numpy/_core/_operand_flag_tests.cpython-313-darwin.so +0 -0
- numpy/_core/_rational_tests.cpython-313-darwin.so +0 -0
- numpy/_core/_simd.cpython-313-darwin.so +0 -0
- numpy/_core/_simd.pyi +25 -0
- numpy/_core/_string_helpers.py +100 -0
- numpy/_core/_string_helpers.pyi +12 -0
- numpy/_core/_struct_ufunc_tests.cpython-313-darwin.so +0 -0
- numpy/_core/_type_aliases.py +119 -0
- numpy/_core/_type_aliases.pyi +97 -0
- numpy/_core/_ufunc_config.py +491 -0
- numpy/_core/_ufunc_config.pyi +78 -0
- numpy/_core/_umath_tests.cpython-313-darwin.so +0 -0
- numpy/_core/arrayprint.py +1775 -0
- numpy/_core/arrayprint.pyi +238 -0
- numpy/_core/cversions.py +13 -0
- numpy/_core/defchararray.py +1427 -0
- numpy/_core/defchararray.pyi +1135 -0
- numpy/_core/einsumfunc.py +1498 -0
- numpy/_core/einsumfunc.pyi +184 -0
- numpy/_core/fromnumeric.py +4269 -0
- numpy/_core/fromnumeric.pyi +1750 -0
- numpy/_core/function_base.py +545 -0
- numpy/_core/function_base.pyi +278 -0
- numpy/_core/getlimits.py +748 -0
- numpy/_core/getlimits.pyi +3 -0
- numpy/_core/include/numpy/__multiarray_api.c +376 -0
- numpy/_core/include/numpy/__multiarray_api.h +1628 -0
- numpy/_core/include/numpy/__ufunc_api.c +54 -0
- numpy/_core/include/numpy/__ufunc_api.h +341 -0
- numpy/_core/include/numpy/_neighborhood_iterator_imp.h +90 -0
- numpy/_core/include/numpy/_numpyconfig.h +33 -0
- numpy/_core/include/numpy/_public_dtype_api_table.h +86 -0
- numpy/_core/include/numpy/arrayobject.h +7 -0
- numpy/_core/include/numpy/arrayscalars.h +196 -0
- numpy/_core/include/numpy/dtype_api.h +480 -0
- numpy/_core/include/numpy/halffloat.h +70 -0
- numpy/_core/include/numpy/ndarrayobject.h +304 -0
- numpy/_core/include/numpy/ndarraytypes.h +1950 -0
- numpy/_core/include/numpy/npy_2_compat.h +249 -0
- numpy/_core/include/numpy/npy_2_complexcompat.h +28 -0
- numpy/_core/include/numpy/npy_3kcompat.h +374 -0
- numpy/_core/include/numpy/npy_common.h +977 -0
- numpy/_core/include/numpy/npy_cpu.h +124 -0
- numpy/_core/include/numpy/npy_endian.h +78 -0
- numpy/_core/include/numpy/npy_math.h +602 -0
- numpy/_core/include/numpy/npy_no_deprecated_api.h +20 -0
- numpy/_core/include/numpy/npy_os.h +42 -0
- numpy/_core/include/numpy/numpyconfig.h +182 -0
- numpy/_core/include/numpy/random/LICENSE.txt +21 -0
- numpy/_core/include/numpy/random/bitgen.h +20 -0
- numpy/_core/include/numpy/random/distributions.h +209 -0
- numpy/_core/include/numpy/random/libdivide.h +2079 -0
- numpy/_core/include/numpy/ufuncobject.h +343 -0
- numpy/_core/include/numpy/utils.h +37 -0
- numpy/_core/lib/libnpymath.a +0 -0
- numpy/_core/lib/npy-pkg-config/mlib.ini +12 -0
- numpy/_core/lib/npy-pkg-config/npymath.ini +20 -0
- numpy/_core/lib/pkgconfig/numpy.pc +7 -0
- numpy/_core/memmap.py +363 -0
- numpy/_core/memmap.pyi +3 -0
- numpy/_core/multiarray.py +1762 -0
- numpy/_core/multiarray.pyi +1285 -0
- numpy/_core/numeric.py +2760 -0
- numpy/_core/numeric.pyi +882 -0
- numpy/_core/numerictypes.py +633 -0
- numpy/_core/numerictypes.pyi +197 -0
- numpy/_core/overrides.py +183 -0
- numpy/_core/overrides.pyi +48 -0
- numpy/_core/printoptions.py +32 -0
- numpy/_core/printoptions.pyi +28 -0
- numpy/_core/records.py +1089 -0
- numpy/_core/records.pyi +333 -0
- numpy/_core/shape_base.py +998 -0
- numpy/_core/shape_base.pyi +175 -0
- numpy/_core/strings.py +1829 -0
- numpy/_core/strings.pyi +511 -0
- numpy/_core/tests/_locales.py +72 -0
- numpy/_core/tests/_natype.py +205 -0
- numpy/_core/tests/data/astype_copy.pkl +0 -0
- numpy/_core/tests/data/generate_umath_validation_data.cpp +170 -0
- numpy/_core/tests/data/recarray_from_file.fits +0 -0
- numpy/_core/tests/data/umath-validation-set-README.txt +15 -0
- numpy/_core/tests/data/umath-validation-set-arccos.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arccosh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arcsin.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arcsinh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arctan.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-arctanh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-cbrt.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-cos.csv +1375 -0
- numpy/_core/tests/data/umath-validation-set-cosh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-exp.csv +412 -0
- numpy/_core/tests/data/umath-validation-set-exp2.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-expm1.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-log.csv +271 -0
- numpy/_core/tests/data/umath-validation-set-log10.csv +1629 -0
- numpy/_core/tests/data/umath-validation-set-log1p.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-log2.csv +1629 -0
- numpy/_core/tests/data/umath-validation-set-sin.csv +1370 -0
- numpy/_core/tests/data/umath-validation-set-sinh.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-tan.csv +1429 -0
- numpy/_core/tests/data/umath-validation-set-tanh.csv +1429 -0
- numpy/_core/tests/examples/cython/checks.pyx +373 -0
- numpy/_core/tests/examples/cython/meson.build +43 -0
- numpy/_core/tests/examples/cython/setup.py +39 -0
- numpy/_core/tests/examples/limited_api/limited_api1.c +17 -0
- numpy/_core/tests/examples/limited_api/limited_api2.pyx +11 -0
- numpy/_core/tests/examples/limited_api/limited_api_latest.c +19 -0
- numpy/_core/tests/examples/limited_api/meson.build +59 -0
- numpy/_core/tests/examples/limited_api/setup.py +24 -0
- numpy/_core/tests/test__exceptions.py +90 -0
- numpy/_core/tests/test_abc.py +54 -0
- numpy/_core/tests/test_api.py +654 -0
- numpy/_core/tests/test_argparse.py +92 -0
- numpy/_core/tests/test_array_api_info.py +113 -0
- numpy/_core/tests/test_array_coercion.py +911 -0
- numpy/_core/tests/test_array_interface.py +222 -0
- numpy/_core/tests/test_arraymethod.py +84 -0
- numpy/_core/tests/test_arrayobject.py +75 -0
- numpy/_core/tests/test_arrayprint.py +1328 -0
- numpy/_core/tests/test_casting_floatingpoint_errors.py +154 -0
- numpy/_core/tests/test_casting_unittests.py +817 -0
- numpy/_core/tests/test_conversion_utils.py +206 -0
- numpy/_core/tests/test_cpu_dispatcher.py +49 -0
- numpy/_core/tests/test_cpu_features.py +432 -0
- numpy/_core/tests/test_custom_dtypes.py +315 -0
- numpy/_core/tests/test_cython.py +351 -0
- numpy/_core/tests/test_datetime.py +2734 -0
- numpy/_core/tests/test_defchararray.py +825 -0
- numpy/_core/tests/test_deprecations.py +454 -0
- numpy/_core/tests/test_dlpack.py +190 -0
- numpy/_core/tests/test_dtype.py +1995 -0
- numpy/_core/tests/test_einsum.py +1317 -0
- numpy/_core/tests/test_errstate.py +131 -0
- numpy/_core/tests/test_extint128.py +217 -0
- numpy/_core/tests/test_function_base.py +503 -0
- numpy/_core/tests/test_getlimits.py +205 -0
- numpy/_core/tests/test_half.py +568 -0
- numpy/_core/tests/test_hashtable.py +35 -0
- numpy/_core/tests/test_indexerrors.py +125 -0
- numpy/_core/tests/test_indexing.py +1455 -0
- numpy/_core/tests/test_item_selection.py +167 -0
- numpy/_core/tests/test_limited_api.py +102 -0
- numpy/_core/tests/test_longdouble.py +369 -0
- numpy/_core/tests/test_machar.py +30 -0
- numpy/_core/tests/test_mem_overlap.py +930 -0
- numpy/_core/tests/test_mem_policy.py +452 -0
- numpy/_core/tests/test_memmap.py +246 -0
- numpy/_core/tests/test_multiarray.py +10577 -0
- numpy/_core/tests/test_multithreading.py +292 -0
- numpy/_core/tests/test_nditer.py +3498 -0
- numpy/_core/tests/test_nep50_promotions.py +287 -0
- numpy/_core/tests/test_numeric.py +4247 -0
- numpy/_core/tests/test_numerictypes.py +651 -0
- numpy/_core/tests/test_overrides.py +791 -0
- numpy/_core/tests/test_print.py +200 -0
- numpy/_core/tests/test_protocols.py +46 -0
- numpy/_core/tests/test_records.py +544 -0
- numpy/_core/tests/test_regression.py +2670 -0
- numpy/_core/tests/test_scalar_ctors.py +207 -0
- numpy/_core/tests/test_scalar_methods.py +246 -0
- numpy/_core/tests/test_scalarbuffer.py +153 -0
- numpy/_core/tests/test_scalarinherit.py +105 -0
- numpy/_core/tests/test_scalarmath.py +1176 -0
- numpy/_core/tests/test_scalarprint.py +403 -0
- numpy/_core/tests/test_shape_base.py +891 -0
- numpy/_core/tests/test_simd.py +1341 -0
- numpy/_core/tests/test_simd_module.py +103 -0
- numpy/_core/tests/test_stringdtype.py +1814 -0
- numpy/_core/tests/test_strings.py +1499 -0
- numpy/_core/tests/test_ufunc.py +3313 -0
- numpy/_core/tests/test_umath.py +4928 -0
- numpy/_core/tests/test_umath_accuracy.py +124 -0
- numpy/_core/tests/test_umath_complex.py +626 -0
- numpy/_core/tests/test_unicode.py +368 -0
- numpy/_core/umath.py +60 -0
- numpy/_core/umath.pyi +197 -0
- numpy/_distributor_init.py +15 -0
- numpy/_distributor_init.pyi +1 -0
- numpy/_expired_attrs_2_0.py +79 -0
- numpy/_expired_attrs_2_0.pyi +62 -0
- numpy/_globals.py +96 -0
- numpy/_globals.pyi +17 -0
- numpy/_pyinstaller/__init__.py +0 -0
- numpy/_pyinstaller/__init__.pyi +0 -0
- numpy/_pyinstaller/hook-numpy.py +36 -0
- numpy/_pyinstaller/hook-numpy.pyi +13 -0
- numpy/_pyinstaller/tests/__init__.py +16 -0
- numpy/_pyinstaller/tests/pyinstaller-smoke.py +32 -0
- numpy/_pyinstaller/tests/test_pyinstaller.py +35 -0
- numpy/_pytesttester.py +201 -0
- numpy/_pytesttester.pyi +18 -0
- numpy/_typing/__init__.py +148 -0
- numpy/_typing/_add_docstring.py +153 -0
- numpy/_typing/_array_like.py +106 -0
- numpy/_typing/_char_codes.py +213 -0
- numpy/_typing/_dtype_like.py +114 -0
- numpy/_typing/_extended_precision.py +15 -0
- numpy/_typing/_nbit.py +19 -0
- numpy/_typing/_nbit_base.py +94 -0
- numpy/_typing/_nbit_base.pyi +40 -0
- numpy/_typing/_nested_sequence.py +79 -0
- numpy/_typing/_scalars.py +20 -0
- numpy/_typing/_shape.py +8 -0
- numpy/_typing/_ufunc.py +7 -0
- numpy/_typing/_ufunc.pyi +941 -0
- numpy/_utils/__init__.py +95 -0
- numpy/_utils/__init__.pyi +30 -0
- numpy/_utils/_convertions.py +18 -0
- numpy/_utils/_convertions.pyi +4 -0
- numpy/_utils/_inspect.py +192 -0
- numpy/_utils/_inspect.pyi +71 -0
- numpy/_utils/_pep440.py +486 -0
- numpy/_utils/_pep440.pyi +121 -0
- numpy/char/__init__.py +2 -0
- numpy/char/__init__.pyi +111 -0
- numpy/conftest.py +258 -0
- numpy/core/__init__.py +33 -0
- numpy/core/__init__.pyi +0 -0
- numpy/core/_dtype.py +10 -0
- numpy/core/_dtype.pyi +0 -0
- numpy/core/_dtype_ctypes.py +10 -0
- numpy/core/_dtype_ctypes.pyi +0 -0
- numpy/core/_internal.py +27 -0
- numpy/core/_multiarray_umath.py +57 -0
- numpy/core/_utils.py +21 -0
- numpy/core/arrayprint.py +10 -0
- numpy/core/defchararray.py +10 -0
- numpy/core/einsumfunc.py +10 -0
- numpy/core/fromnumeric.py +10 -0
- numpy/core/function_base.py +10 -0
- numpy/core/getlimits.py +10 -0
- numpy/core/multiarray.py +25 -0
- numpy/core/numeric.py +12 -0
- numpy/core/numerictypes.py +10 -0
- numpy/core/overrides.py +10 -0
- numpy/core/overrides.pyi +7 -0
- numpy/core/records.py +10 -0
- numpy/core/shape_base.py +10 -0
- numpy/core/umath.py +10 -0
- numpy/ctypeslib/__init__.py +13 -0
- numpy/ctypeslib/__init__.pyi +33 -0
- numpy/ctypeslib/_ctypeslib.py +603 -0
- numpy/ctypeslib/_ctypeslib.pyi +245 -0
- numpy/doc/ufuncs.py +138 -0
- numpy/dtypes.py +41 -0
- numpy/dtypes.pyi +631 -0
- numpy/exceptions.py +247 -0
- numpy/exceptions.pyi +27 -0
- numpy/f2py/__init__.py +86 -0
- numpy/f2py/__init__.pyi +6 -0
- numpy/f2py/__main__.py +5 -0
- numpy/f2py/__version__.py +1 -0
- numpy/f2py/__version__.pyi +1 -0
- numpy/f2py/_backends/__init__.py +9 -0
- numpy/f2py/_backends/__init__.pyi +5 -0
- numpy/f2py/_backends/_backend.py +44 -0
- numpy/f2py/_backends/_backend.pyi +46 -0
- numpy/f2py/_backends/_distutils.py +76 -0
- numpy/f2py/_backends/_distutils.pyi +13 -0
- numpy/f2py/_backends/_meson.py +231 -0
- numpy/f2py/_backends/_meson.pyi +63 -0
- numpy/f2py/_backends/meson.build.template +55 -0
- numpy/f2py/_isocbind.py +62 -0
- numpy/f2py/_isocbind.pyi +13 -0
- numpy/f2py/_src_pyf.py +247 -0
- numpy/f2py/_src_pyf.pyi +29 -0
- numpy/f2py/auxfuncs.py +1004 -0
- numpy/f2py/auxfuncs.pyi +264 -0
- numpy/f2py/capi_maps.py +811 -0
- numpy/f2py/capi_maps.pyi +33 -0
- numpy/f2py/cb_rules.py +665 -0
- numpy/f2py/cb_rules.pyi +17 -0
- numpy/f2py/cfuncs.py +1563 -0
- numpy/f2py/cfuncs.pyi +31 -0
- numpy/f2py/common_rules.py +143 -0
- numpy/f2py/common_rules.pyi +9 -0
- numpy/f2py/crackfortran.py +3725 -0
- numpy/f2py/crackfortran.pyi +258 -0
- numpy/f2py/diagnose.py +149 -0
- numpy/f2py/diagnose.pyi +1 -0
- numpy/f2py/f2py2e.py +786 -0
- numpy/f2py/f2py2e.pyi +76 -0
- numpy/f2py/f90mod_rules.py +269 -0
- numpy/f2py/f90mod_rules.pyi +16 -0
- numpy/f2py/func2subr.py +329 -0
- numpy/f2py/func2subr.pyi +7 -0
- numpy/f2py/rules.py +1629 -0
- numpy/f2py/rules.pyi +43 -0
- numpy/f2py/setup.cfg +3 -0
- numpy/f2py/src/fortranobject.c +1436 -0
- numpy/f2py/src/fortranobject.h +173 -0
- numpy/f2py/symbolic.py +1516 -0
- numpy/f2py/symbolic.pyi +221 -0
- numpy/f2py/tests/__init__.py +16 -0
- numpy/f2py/tests/src/abstract_interface/foo.f90 +34 -0
- numpy/f2py/tests/src/abstract_interface/gh18403_mod.f90 +6 -0
- numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +235 -0
- numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +1 -0
- numpy/f2py/tests/src/assumed_shape/foo_free.f90 +34 -0
- numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +41 -0
- numpy/f2py/tests/src/assumed_shape/foo_use.f90 +19 -0
- numpy/f2py/tests/src/assumed_shape/precision.f90 +4 -0
- numpy/f2py/tests/src/block_docstring/foo.f +6 -0
- numpy/f2py/tests/src/callback/foo.f +62 -0
- numpy/f2py/tests/src/callback/gh17797.f90 +7 -0
- numpy/f2py/tests/src/callback/gh18335.f90 +17 -0
- numpy/f2py/tests/src/callback/gh25211.f +10 -0
- numpy/f2py/tests/src/callback/gh25211.pyf +18 -0
- numpy/f2py/tests/src/callback/gh26681.f90 +18 -0
- numpy/f2py/tests/src/cli/gh_22819.pyf +6 -0
- numpy/f2py/tests/src/cli/hi77.f +3 -0
- numpy/f2py/tests/src/cli/hiworld.f90 +3 -0
- numpy/f2py/tests/src/common/block.f +11 -0
- numpy/f2py/tests/src/common/gh19161.f90 +10 -0
- numpy/f2py/tests/src/crackfortran/accesstype.f90 +13 -0
- numpy/f2py/tests/src/crackfortran/common_with_division.f +17 -0
- numpy/f2py/tests/src/crackfortran/data_common.f +8 -0
- numpy/f2py/tests/src/crackfortran/data_multiplier.f +5 -0
- numpy/f2py/tests/src/crackfortran/data_stmts.f90 +20 -0
- numpy/f2py/tests/src/crackfortran/data_with_comments.f +8 -0
- numpy/f2py/tests/src/crackfortran/foo_deps.f90 +6 -0
- numpy/f2py/tests/src/crackfortran/gh15035.f +16 -0
- numpy/f2py/tests/src/crackfortran/gh17859.f +12 -0
- numpy/f2py/tests/src/crackfortran/gh22648.pyf +7 -0
- numpy/f2py/tests/src/crackfortran/gh23533.f +5 -0
- numpy/f2py/tests/src/crackfortran/gh23598.f90 +4 -0
- numpy/f2py/tests/src/crackfortran/gh23598Warn.f90 +11 -0
- numpy/f2py/tests/src/crackfortran/gh23879.f90 +20 -0
- numpy/f2py/tests/src/crackfortran/gh27697.f90 +12 -0
- numpy/f2py/tests/src/crackfortran/gh2848.f90 +13 -0
- numpy/f2py/tests/src/crackfortran/operators.f90 +49 -0
- numpy/f2py/tests/src/crackfortran/privatemod.f90 +11 -0
- numpy/f2py/tests/src/crackfortran/publicmod.f90 +10 -0
- numpy/f2py/tests/src/crackfortran/pubprivmod.f90 +10 -0
- numpy/f2py/tests/src/crackfortran/unicode_comment.f90 +4 -0
- numpy/f2py/tests/src/f2cmap/.f2py_f2cmap +1 -0
- numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 +9 -0
- numpy/f2py/tests/src/isocintrin/isoCtests.f90 +34 -0
- numpy/f2py/tests/src/kind/foo.f90 +20 -0
- numpy/f2py/tests/src/mixed/foo.f +5 -0
- numpy/f2py/tests/src/mixed/foo_fixed.f90 +8 -0
- numpy/f2py/tests/src/mixed/foo_free.f90 +8 -0
- numpy/f2py/tests/src/modules/gh25337/data.f90 +8 -0
- numpy/f2py/tests/src/modules/gh25337/use_data.f90 +6 -0
- numpy/f2py/tests/src/modules/gh26920/two_mods_with_no_public_entities.f90 +21 -0
- numpy/f2py/tests/src/modules/gh26920/two_mods_with_one_public_routine.f90 +21 -0
- numpy/f2py/tests/src/modules/module_data_docstring.f90 +12 -0
- numpy/f2py/tests/src/modules/use_modules.f90 +20 -0
- numpy/f2py/tests/src/negative_bounds/issue_20853.f90 +7 -0
- numpy/f2py/tests/src/parameter/constant_array.f90 +45 -0
- numpy/f2py/tests/src/parameter/constant_both.f90 +57 -0
- numpy/f2py/tests/src/parameter/constant_compound.f90 +15 -0
- numpy/f2py/tests/src/parameter/constant_integer.f90 +22 -0
- numpy/f2py/tests/src/parameter/constant_non_compound.f90 +23 -0
- numpy/f2py/tests/src/parameter/constant_real.f90 +23 -0
- numpy/f2py/tests/src/quoted_character/foo.f +14 -0
- numpy/f2py/tests/src/regression/AB.inc +1 -0
- numpy/f2py/tests/src/regression/assignOnlyModule.f90 +25 -0
- numpy/f2py/tests/src/regression/datonly.f90 +17 -0
- numpy/f2py/tests/src/regression/f77comments.f +26 -0
- numpy/f2py/tests/src/regression/f77fixedform.f95 +5 -0
- numpy/f2py/tests/src/regression/f90continuation.f90 +9 -0
- numpy/f2py/tests/src/regression/incfile.f90 +5 -0
- numpy/f2py/tests/src/regression/inout.f90 +9 -0
- numpy/f2py/tests/src/regression/lower_f2py_fortran.f90 +5 -0
- numpy/f2py/tests/src/regression/mod_derived_types.f90 +23 -0
- numpy/f2py/tests/src/return_character/foo77.f +45 -0
- numpy/f2py/tests/src/return_character/foo90.f90 +48 -0
- numpy/f2py/tests/src/return_complex/foo77.f +45 -0
- numpy/f2py/tests/src/return_complex/foo90.f90 +48 -0
- numpy/f2py/tests/src/return_integer/foo77.f +56 -0
- numpy/f2py/tests/src/return_integer/foo90.f90 +59 -0
- numpy/f2py/tests/src/return_logical/foo77.f +56 -0
- numpy/f2py/tests/src/return_logical/foo90.f90 +59 -0
- numpy/f2py/tests/src/return_real/foo77.f +45 -0
- numpy/f2py/tests/src/return_real/foo90.f90 +48 -0
- numpy/f2py/tests/src/routines/funcfortranname.f +5 -0
- numpy/f2py/tests/src/routines/funcfortranname.pyf +11 -0
- numpy/f2py/tests/src/routines/subrout.f +4 -0
- numpy/f2py/tests/src/routines/subrout.pyf +10 -0
- numpy/f2py/tests/src/size/foo.f90 +44 -0
- numpy/f2py/tests/src/string/char.f90 +29 -0
- numpy/f2py/tests/src/string/fixed_string.f90 +34 -0
- numpy/f2py/tests/src/string/gh24008.f +8 -0
- numpy/f2py/tests/src/string/gh24662.f90 +7 -0
- numpy/f2py/tests/src/string/gh25286.f90 +14 -0
- numpy/f2py/tests/src/string/gh25286.pyf +12 -0
- numpy/f2py/tests/src/string/gh25286_bc.pyf +12 -0
- numpy/f2py/tests/src/string/scalar_string.f90 +9 -0
- numpy/f2py/tests/src/string/string.f +12 -0
- numpy/f2py/tests/src/value_attrspec/gh21665.f90 +9 -0
- numpy/f2py/tests/test_abstract_interface.py +26 -0
- numpy/f2py/tests/test_array_from_pyobj.py +678 -0
- numpy/f2py/tests/test_assumed_shape.py +50 -0
- numpy/f2py/tests/test_block_docstring.py +20 -0
- numpy/f2py/tests/test_callback.py +263 -0
- numpy/f2py/tests/test_character.py +641 -0
- numpy/f2py/tests/test_common.py +23 -0
- numpy/f2py/tests/test_crackfortran.py +421 -0
- numpy/f2py/tests/test_data.py +71 -0
- numpy/f2py/tests/test_docs.py +64 -0
- numpy/f2py/tests/test_f2cmap.py +17 -0
- numpy/f2py/tests/test_f2py2e.py +964 -0
- numpy/f2py/tests/test_isoc.py +56 -0
- numpy/f2py/tests/test_kind.py +53 -0
- numpy/f2py/tests/test_mixed.py +35 -0
- numpy/f2py/tests/test_modules.py +83 -0
- numpy/f2py/tests/test_parameter.py +129 -0
- numpy/f2py/tests/test_pyf_src.py +43 -0
- numpy/f2py/tests/test_quoted_character.py +18 -0
- numpy/f2py/tests/test_regression.py +187 -0
- numpy/f2py/tests/test_return_character.py +48 -0
- numpy/f2py/tests/test_return_complex.py +67 -0
- numpy/f2py/tests/test_return_integer.py +55 -0
- numpy/f2py/tests/test_return_logical.py +65 -0
- numpy/f2py/tests/test_return_real.py +109 -0
- numpy/f2py/tests/test_routines.py +29 -0
- numpy/f2py/tests/test_semicolon_split.py +75 -0
- numpy/f2py/tests/test_size.py +45 -0
- numpy/f2py/tests/test_string.py +100 -0
- numpy/f2py/tests/test_symbolic.py +495 -0
- numpy/f2py/tests/test_value_attrspec.py +15 -0
- numpy/f2py/tests/util.py +442 -0
- numpy/f2py/use_rules.py +99 -0
- numpy/f2py/use_rules.pyi +9 -0
- numpy/fft/__init__.py +215 -0
- numpy/fft/__init__.pyi +43 -0
- numpy/fft/_helper.py +235 -0
- numpy/fft/_helper.pyi +45 -0
- numpy/fft/_pocketfft.py +1693 -0
- numpy/fft/_pocketfft.pyi +138 -0
- numpy/fft/_pocketfft_umath.cpython-313-darwin.so +0 -0
- numpy/fft/helper.py +17 -0
- numpy/fft/helper.pyi +22 -0
- numpy/fft/tests/__init__.py +0 -0
- numpy/fft/tests/test_helper.py +167 -0
- numpy/fft/tests/test_pocketfft.py +589 -0
- numpy/lib/__init__.py +97 -0
- numpy/lib/__init__.pyi +44 -0
- numpy/lib/_array_utils_impl.py +62 -0
- numpy/lib/_array_utils_impl.pyi +26 -0
- numpy/lib/_arraypad_impl.py +890 -0
- numpy/lib/_arraypad_impl.pyi +89 -0
- numpy/lib/_arraysetops_impl.py +1260 -0
- numpy/lib/_arraysetops_impl.pyi +468 -0
- numpy/lib/_arrayterator_impl.py +224 -0
- numpy/lib/_arrayterator_impl.pyi +46 -0
- numpy/lib/_datasource.py +700 -0
- numpy/lib/_datasource.pyi +31 -0
- numpy/lib/_format_impl.py +1036 -0
- numpy/lib/_format_impl.pyi +26 -0
- numpy/lib/_function_base_impl.py +5844 -0
- numpy/lib/_function_base_impl.pyi +1164 -0
- numpy/lib/_histograms_impl.py +1085 -0
- numpy/lib/_histograms_impl.pyi +50 -0
- numpy/lib/_index_tricks_impl.py +1067 -0
- numpy/lib/_index_tricks_impl.pyi +208 -0
- numpy/lib/_iotools.py +900 -0
- numpy/lib/_iotools.pyi +114 -0
- numpy/lib/_nanfunctions_impl.py +2024 -0
- numpy/lib/_nanfunctions_impl.pyi +52 -0
- numpy/lib/_npyio_impl.py +2596 -0
- numpy/lib/_npyio_impl.pyi +301 -0
- numpy/lib/_polynomial_impl.py +1465 -0
- numpy/lib/_polynomial_impl.pyi +318 -0
- numpy/lib/_scimath_impl.py +642 -0
- numpy/lib/_scimath_impl.pyi +93 -0
- numpy/lib/_shape_base_impl.py +1301 -0
- numpy/lib/_shape_base_impl.pyi +235 -0
- numpy/lib/_stride_tricks_impl.py +549 -0
- numpy/lib/_stride_tricks_impl.pyi +74 -0
- numpy/lib/_twodim_base_impl.py +1201 -0
- numpy/lib/_twodim_base_impl.pyi +438 -0
- numpy/lib/_type_check_impl.py +699 -0
- numpy/lib/_type_check_impl.pyi +350 -0
- numpy/lib/_ufunclike_impl.py +207 -0
- numpy/lib/_ufunclike_impl.pyi +67 -0
- numpy/lib/_user_array_impl.py +299 -0
- numpy/lib/_user_array_impl.pyi +225 -0
- numpy/lib/_utils_impl.py +784 -0
- numpy/lib/_utils_impl.pyi +10 -0
- numpy/lib/_version.py +154 -0
- numpy/lib/_version.pyi +17 -0
- numpy/lib/array_utils.py +7 -0
- numpy/lib/array_utils.pyi +12 -0
- numpy/lib/format.py +24 -0
- numpy/lib/format.pyi +66 -0
- numpy/lib/introspect.py +95 -0
- numpy/lib/introspect.pyi +3 -0
- numpy/lib/mixins.py +180 -0
- numpy/lib/mixins.pyi +77 -0
- numpy/lib/npyio.py +1 -0
- numpy/lib/npyio.pyi +9 -0
- numpy/lib/recfunctions.py +1681 -0
- numpy/lib/recfunctions.pyi +435 -0
- numpy/lib/scimath.py +13 -0
- numpy/lib/scimath.pyi +30 -0
- numpy/lib/stride_tricks.py +1 -0
- numpy/lib/stride_tricks.pyi +6 -0
- numpy/lib/tests/__init__.py +0 -0
- numpy/lib/tests/data/py2-np0-objarr.npy +0 -0
- numpy/lib/tests/data/py2-objarr.npy +0 -0
- numpy/lib/tests/data/py2-objarr.npz +0 -0
- numpy/lib/tests/data/py3-objarr.npy +0 -0
- numpy/lib/tests/data/py3-objarr.npz +0 -0
- numpy/lib/tests/data/python3.npy +0 -0
- numpy/lib/tests/data/win64python2.npy +0 -0
- numpy/lib/tests/test__datasource.py +352 -0
- numpy/lib/tests/test__iotools.py +360 -0
- numpy/lib/tests/test__version.py +64 -0
- numpy/lib/tests/test_array_utils.py +32 -0
- numpy/lib/tests/test_arraypad.py +1415 -0
- numpy/lib/tests/test_arraysetops.py +1074 -0
- numpy/lib/tests/test_arrayterator.py +46 -0
- numpy/lib/tests/test_format.py +1054 -0
- numpy/lib/tests/test_function_base.py +4573 -0
- numpy/lib/tests/test_histograms.py +855 -0
- numpy/lib/tests/test_index_tricks.py +573 -0
- numpy/lib/tests/test_io.py +2848 -0
- numpy/lib/tests/test_loadtxt.py +1101 -0
- numpy/lib/tests/test_mixins.py +215 -0
- numpy/lib/tests/test_nanfunctions.py +1438 -0
- numpy/lib/tests/test_packbits.py +376 -0
- numpy/lib/tests/test_polynomial.py +320 -0
- numpy/lib/tests/test_recfunctions.py +1052 -0
- numpy/lib/tests/test_regression.py +231 -0
- numpy/lib/tests/test_shape_base.py +813 -0
- numpy/lib/tests/test_stride_tricks.py +656 -0
- numpy/lib/tests/test_twodim_base.py +559 -0
- numpy/lib/tests/test_type_check.py +473 -0
- numpy/lib/tests/test_ufunclike.py +97 -0
- numpy/lib/tests/test_utils.py +80 -0
- numpy/lib/user_array.py +1 -0
- numpy/lib/user_array.pyi +1 -0
- numpy/linalg/__init__.py +98 -0
- numpy/linalg/__init__.pyi +73 -0
- numpy/linalg/_linalg.py +3682 -0
- numpy/linalg/_linalg.pyi +475 -0
- numpy/linalg/_umath_linalg.cpython-313-darwin.so +0 -0
- numpy/linalg/_umath_linalg.pyi +61 -0
- numpy/linalg/lapack_lite.cpython-313-darwin.so +0 -0
- numpy/linalg/lapack_lite.pyi +141 -0
- numpy/linalg/linalg.py +17 -0
- numpy/linalg/linalg.pyi +69 -0
- numpy/linalg/tests/__init__.py +0 -0
- numpy/linalg/tests/test_deprecations.py +20 -0
- numpy/linalg/tests/test_linalg.py +2443 -0
- numpy/linalg/tests/test_regression.py +181 -0
- numpy/ma/API_CHANGES.txt +135 -0
- numpy/ma/LICENSE +24 -0
- numpy/ma/README.rst +236 -0
- numpy/ma/__init__.py +53 -0
- numpy/ma/__init__.pyi +458 -0
- numpy/ma/core.py +8933 -0
- numpy/ma/core.pyi +1462 -0
- numpy/ma/extras.py +2344 -0
- numpy/ma/extras.pyi +138 -0
- numpy/ma/mrecords.py +773 -0
- numpy/ma/mrecords.pyi +96 -0
- numpy/ma/tests/__init__.py +0 -0
- numpy/ma/tests/test_arrayobject.py +40 -0
- numpy/ma/tests/test_core.py +5886 -0
- numpy/ma/tests/test_deprecations.py +87 -0
- numpy/ma/tests/test_extras.py +1998 -0
- numpy/ma/tests/test_mrecords.py +497 -0
- numpy/ma/tests/test_old_ma.py +942 -0
- numpy/ma/tests/test_regression.py +100 -0
- numpy/ma/tests/test_subclassing.py +469 -0
- numpy/ma/testutils.py +294 -0
- numpy/matlib.py +380 -0
- numpy/matlib.pyi +582 -0
- numpy/matrixlib/__init__.py +12 -0
- numpy/matrixlib/__init__.pyi +5 -0
- numpy/matrixlib/defmatrix.py +1119 -0
- numpy/matrixlib/defmatrix.pyi +17 -0
- numpy/matrixlib/tests/__init__.py +0 -0
- numpy/matrixlib/tests/test_defmatrix.py +455 -0
- numpy/matrixlib/tests/test_interaction.py +360 -0
- numpy/matrixlib/tests/test_masked_matrix.py +240 -0
- numpy/matrixlib/tests/test_matrix_linalg.py +105 -0
- numpy/matrixlib/tests/test_multiarray.py +17 -0
- numpy/matrixlib/tests/test_numeric.py +18 -0
- numpy/matrixlib/tests/test_regression.py +31 -0
- numpy/polynomial/__init__.py +187 -0
- numpy/polynomial/__init__.pyi +25 -0
- numpy/polynomial/_polybase.py +1191 -0
- numpy/polynomial/_polybase.pyi +285 -0
- numpy/polynomial/_polytypes.pyi +892 -0
- numpy/polynomial/chebyshev.py +2003 -0
- numpy/polynomial/chebyshev.pyi +181 -0
- numpy/polynomial/hermite.py +1740 -0
- numpy/polynomial/hermite.pyi +107 -0
- numpy/polynomial/hermite_e.py +1642 -0
- numpy/polynomial/hermite_e.pyi +107 -0
- numpy/polynomial/laguerre.py +1675 -0
- numpy/polynomial/laguerre.pyi +100 -0
- numpy/polynomial/legendre.py +1605 -0
- numpy/polynomial/legendre.pyi +100 -0
- numpy/polynomial/polynomial.py +1616 -0
- numpy/polynomial/polynomial.pyi +89 -0
- numpy/polynomial/polyutils.py +759 -0
- numpy/polynomial/polyutils.pyi +423 -0
- numpy/polynomial/tests/__init__.py +0 -0
- numpy/polynomial/tests/test_chebyshev.py +623 -0
- numpy/polynomial/tests/test_classes.py +618 -0
- numpy/polynomial/tests/test_hermite.py +558 -0
- numpy/polynomial/tests/test_hermite_e.py +559 -0
- numpy/polynomial/tests/test_laguerre.py +540 -0
- numpy/polynomial/tests/test_legendre.py +571 -0
- numpy/polynomial/tests/test_polynomial.py +669 -0
- numpy/polynomial/tests/test_polyutils.py +128 -0
- numpy/polynomial/tests/test_printing.py +555 -0
- numpy/polynomial/tests/test_symbol.py +217 -0
- numpy/py.typed +0 -0
- numpy/random/LICENSE.md +71 -0
- numpy/random/__init__.pxd +14 -0
- numpy/random/__init__.py +213 -0
- numpy/random/__init__.pyi +124 -0
- numpy/random/_bounded_integers.cpython-313-darwin.so +0 -0
- numpy/random/_bounded_integers.pxd +29 -0
- numpy/random/_bounded_integers.pyi +1 -0
- numpy/random/_common.cpython-313-darwin.so +0 -0
- numpy/random/_common.pxd +107 -0
- numpy/random/_common.pyi +16 -0
- numpy/random/_examples/cffi/extending.py +44 -0
- numpy/random/_examples/cffi/parse.py +53 -0
- numpy/random/_examples/cython/extending.pyx +77 -0
- numpy/random/_examples/cython/extending_distributions.pyx +118 -0
- numpy/random/_examples/cython/meson.build +53 -0
- numpy/random/_examples/numba/extending.py +86 -0
- numpy/random/_examples/numba/extending_distributions.py +67 -0
- numpy/random/_generator.cpython-313-darwin.so +0 -0
- numpy/random/_generator.pyi +861 -0
- numpy/random/_mt19937.cpython-313-darwin.so +0 -0
- numpy/random/_mt19937.pyi +25 -0
- numpy/random/_pcg64.cpython-313-darwin.so +0 -0
- numpy/random/_pcg64.pyi +44 -0
- numpy/random/_philox.cpython-313-darwin.so +0 -0
- numpy/random/_philox.pyi +39 -0
- numpy/random/_pickle.py +88 -0
- numpy/random/_pickle.pyi +43 -0
- numpy/random/_sfc64.cpython-313-darwin.so +0 -0
- numpy/random/_sfc64.pyi +28 -0
- numpy/random/bit_generator.cpython-313-darwin.so +0 -0
- numpy/random/bit_generator.pxd +35 -0
- numpy/random/bit_generator.pyi +124 -0
- numpy/random/c_distributions.pxd +119 -0
- numpy/random/lib/libnpyrandom.a +0 -0
- numpy/random/mtrand.cpython-313-darwin.so +0 -0
- numpy/random/mtrand.pyi +703 -0
- numpy/random/tests/__init__.py +0 -0
- numpy/random/tests/data/__init__.py +0 -0
- numpy/random/tests/data/generator_pcg64_np121.pkl.gz +0 -0
- numpy/random/tests/data/generator_pcg64_np126.pkl.gz +0 -0
- numpy/random/tests/data/mt19937-testset-1.csv +1001 -0
- numpy/random/tests/data/mt19937-testset-2.csv +1001 -0
- numpy/random/tests/data/pcg64-testset-1.csv +1001 -0
- numpy/random/tests/data/pcg64-testset-2.csv +1001 -0
- numpy/random/tests/data/pcg64dxsm-testset-1.csv +1001 -0
- numpy/random/tests/data/pcg64dxsm-testset-2.csv +1001 -0
- numpy/random/tests/data/philox-testset-1.csv +1001 -0
- numpy/random/tests/data/philox-testset-2.csv +1001 -0
- numpy/random/tests/data/sfc64-testset-1.csv +1001 -0
- numpy/random/tests/data/sfc64-testset-2.csv +1001 -0
- numpy/random/tests/data/sfc64_np126.pkl.gz +0 -0
- numpy/random/tests/test_direct.py +592 -0
- numpy/random/tests/test_extending.py +127 -0
- numpy/random/tests/test_generator_mt19937.py +2809 -0
- numpy/random/tests/test_generator_mt19937_regressions.py +207 -0
- numpy/random/tests/test_random.py +1757 -0
- numpy/random/tests/test_randomstate.py +2130 -0
- numpy/random/tests/test_randomstate_regression.py +217 -0
- numpy/random/tests/test_regression.py +152 -0
- numpy/random/tests/test_seed_sequence.py +79 -0
- numpy/random/tests/test_smoke.py +819 -0
- numpy/rec/__init__.py +2 -0
- numpy/rec/__init__.pyi +23 -0
- numpy/strings/__init__.py +2 -0
- numpy/strings/__init__.pyi +97 -0
- numpy/testing/__init__.py +22 -0
- numpy/testing/__init__.pyi +102 -0
- numpy/testing/_private/__init__.py +0 -0
- numpy/testing/_private/__init__.pyi +0 -0
- numpy/testing/_private/extbuild.py +250 -0
- numpy/testing/_private/extbuild.pyi +25 -0
- numpy/testing/_private/utils.py +2752 -0
- numpy/testing/_private/utils.pyi +499 -0
- numpy/testing/overrides.py +84 -0
- numpy/testing/overrides.pyi +11 -0
- numpy/testing/print_coercion_tables.py +207 -0
- numpy/testing/print_coercion_tables.pyi +27 -0
- numpy/testing/tests/__init__.py +0 -0
- numpy/testing/tests/test_utils.py +1917 -0
- numpy/tests/__init__.py +0 -0
- numpy/tests/test__all__.py +10 -0
- numpy/tests/test_configtool.py +48 -0
- numpy/tests/test_ctypeslib.py +377 -0
- numpy/tests/test_lazyloading.py +38 -0
- numpy/tests/test_matlib.py +59 -0
- numpy/tests/test_numpy_config.py +46 -0
- numpy/tests/test_numpy_version.py +54 -0
- numpy/tests/test_public_api.py +806 -0
- numpy/tests/test_reloading.py +74 -0
- numpy/tests/test_scripts.py +49 -0
- numpy/tests/test_warnings.py +78 -0
- numpy/typing/__init__.py +201 -0
- numpy/typing/mypy_plugin.py +195 -0
- numpy/typing/tests/__init__.py +0 -0
- numpy/typing/tests/data/fail/arithmetic.pyi +126 -0
- numpy/typing/tests/data/fail/array_constructors.pyi +34 -0
- numpy/typing/tests/data/fail/array_like.pyi +15 -0
- numpy/typing/tests/data/fail/array_pad.pyi +6 -0
- numpy/typing/tests/data/fail/arrayprint.pyi +16 -0
- numpy/typing/tests/data/fail/arrayterator.pyi +14 -0
- numpy/typing/tests/data/fail/bitwise_ops.pyi +17 -0
- numpy/typing/tests/data/fail/char.pyi +65 -0
- numpy/typing/tests/data/fail/chararray.pyi +62 -0
- numpy/typing/tests/data/fail/comparisons.pyi +27 -0
- numpy/typing/tests/data/fail/constants.pyi +3 -0
- numpy/typing/tests/data/fail/datasource.pyi +15 -0
- numpy/typing/tests/data/fail/dtype.pyi +17 -0
- numpy/typing/tests/data/fail/einsumfunc.pyi +12 -0
- numpy/typing/tests/data/fail/flatiter.pyi +20 -0
- numpy/typing/tests/data/fail/fromnumeric.pyi +148 -0
- numpy/typing/tests/data/fail/histograms.pyi +12 -0
- numpy/typing/tests/data/fail/index_tricks.pyi +14 -0
- numpy/typing/tests/data/fail/lib_function_base.pyi +62 -0
- numpy/typing/tests/data/fail/lib_polynomial.pyi +29 -0
- numpy/typing/tests/data/fail/lib_utils.pyi +3 -0
- numpy/typing/tests/data/fail/lib_version.pyi +6 -0
- numpy/typing/tests/data/fail/linalg.pyi +48 -0
- numpy/typing/tests/data/fail/ma.pyi +143 -0
- numpy/typing/tests/data/fail/memmap.pyi +5 -0
- numpy/typing/tests/data/fail/modules.pyi +17 -0
- numpy/typing/tests/data/fail/multiarray.pyi +52 -0
- numpy/typing/tests/data/fail/ndarray.pyi +11 -0
- numpy/typing/tests/data/fail/ndarray_misc.pyi +36 -0
- numpy/typing/tests/data/fail/nditer.pyi +8 -0
- numpy/typing/tests/data/fail/nested_sequence.pyi +16 -0
- numpy/typing/tests/data/fail/npyio.pyi +24 -0
- numpy/typing/tests/data/fail/numerictypes.pyi +5 -0
- numpy/typing/tests/data/fail/random.pyi +62 -0
- numpy/typing/tests/data/fail/rec.pyi +17 -0
- numpy/typing/tests/data/fail/scalars.pyi +87 -0
- numpy/typing/tests/data/fail/shape.pyi +6 -0
- numpy/typing/tests/data/fail/shape_base.pyi +8 -0
- numpy/typing/tests/data/fail/stride_tricks.pyi +9 -0
- numpy/typing/tests/data/fail/strings.pyi +52 -0
- numpy/typing/tests/data/fail/testing.pyi +28 -0
- numpy/typing/tests/data/fail/twodim_base.pyi +32 -0
- numpy/typing/tests/data/fail/type_check.pyi +13 -0
- numpy/typing/tests/data/fail/ufunc_config.pyi +21 -0
- numpy/typing/tests/data/fail/ufunclike.pyi +21 -0
- numpy/typing/tests/data/fail/ufuncs.pyi +17 -0
- numpy/typing/tests/data/fail/warnings_and_errors.pyi +5 -0
- numpy/typing/tests/data/misc/extended_precision.pyi +9 -0
- numpy/typing/tests/data/mypy.ini +9 -0
- numpy/typing/tests/data/pass/arithmetic.py +612 -0
- numpy/typing/tests/data/pass/array_constructors.py +137 -0
- numpy/typing/tests/data/pass/array_like.py +43 -0
- numpy/typing/tests/data/pass/arrayprint.py +37 -0
- numpy/typing/tests/data/pass/arrayterator.py +27 -0
- numpy/typing/tests/data/pass/bitwise_ops.py +131 -0
- numpy/typing/tests/data/pass/comparisons.py +315 -0
- numpy/typing/tests/data/pass/dtype.py +57 -0
- numpy/typing/tests/data/pass/einsumfunc.py +36 -0
- numpy/typing/tests/data/pass/flatiter.py +19 -0
- numpy/typing/tests/data/pass/fromnumeric.py +272 -0
- numpy/typing/tests/data/pass/index_tricks.py +60 -0
- numpy/typing/tests/data/pass/lib_user_array.py +22 -0
- numpy/typing/tests/data/pass/lib_utils.py +19 -0
- numpy/typing/tests/data/pass/lib_version.py +18 -0
- numpy/typing/tests/data/pass/literal.py +51 -0
- numpy/typing/tests/data/pass/ma.py +174 -0
- numpy/typing/tests/data/pass/mod.py +149 -0
- numpy/typing/tests/data/pass/modules.py +45 -0
- numpy/typing/tests/data/pass/multiarray.py +76 -0
- numpy/typing/tests/data/pass/ndarray_conversion.py +87 -0
- numpy/typing/tests/data/pass/ndarray_misc.py +203 -0
- numpy/typing/tests/data/pass/ndarray_shape_manipulation.py +47 -0
- numpy/typing/tests/data/pass/nditer.py +4 -0
- numpy/typing/tests/data/pass/numeric.py +95 -0
- numpy/typing/tests/data/pass/numerictypes.py +17 -0
- numpy/typing/tests/data/pass/random.py +1497 -0
- numpy/typing/tests/data/pass/recfunctions.py +161 -0
- numpy/typing/tests/data/pass/scalars.py +248 -0
- numpy/typing/tests/data/pass/shape.py +19 -0
- numpy/typing/tests/data/pass/simple.py +168 -0
- numpy/typing/tests/data/pass/simple_py3.py +6 -0
- numpy/typing/tests/data/pass/ufunc_config.py +64 -0
- numpy/typing/tests/data/pass/ufunclike.py +47 -0
- numpy/typing/tests/data/pass/ufuncs.py +16 -0
- numpy/typing/tests/data/pass/warnings_and_errors.py +6 -0
- numpy/typing/tests/data/reveal/arithmetic.pyi +720 -0
- numpy/typing/tests/data/reveal/array_api_info.pyi +70 -0
- numpy/typing/tests/data/reveal/array_constructors.pyi +249 -0
- numpy/typing/tests/data/reveal/arraypad.pyi +22 -0
- numpy/typing/tests/data/reveal/arrayprint.pyi +25 -0
- numpy/typing/tests/data/reveal/arraysetops.pyi +74 -0
- numpy/typing/tests/data/reveal/arrayterator.pyi +27 -0
- numpy/typing/tests/data/reveal/bitwise_ops.pyi +167 -0
- numpy/typing/tests/data/reveal/char.pyi +224 -0
- numpy/typing/tests/data/reveal/chararray.pyi +137 -0
- numpy/typing/tests/data/reveal/comparisons.pyi +264 -0
- numpy/typing/tests/data/reveal/constants.pyi +14 -0
- numpy/typing/tests/data/reveal/ctypeslib.pyi +81 -0
- numpy/typing/tests/data/reveal/datasource.pyi +23 -0
- numpy/typing/tests/data/reveal/dtype.pyi +136 -0
- numpy/typing/tests/data/reveal/einsumfunc.pyi +39 -0
- numpy/typing/tests/data/reveal/emath.pyi +54 -0
- numpy/typing/tests/data/reveal/fft.pyi +37 -0
- numpy/typing/tests/data/reveal/flatiter.pyi +47 -0
- numpy/typing/tests/data/reveal/fromnumeric.pyi +347 -0
- numpy/typing/tests/data/reveal/getlimits.pyi +51 -0
- numpy/typing/tests/data/reveal/histograms.pyi +25 -0
- numpy/typing/tests/data/reveal/index_tricks.pyi +70 -0
- numpy/typing/tests/data/reveal/lib_function_base.pyi +213 -0
- numpy/typing/tests/data/reveal/lib_polynomial.pyi +144 -0
- numpy/typing/tests/data/reveal/lib_utils.pyi +17 -0
- numpy/typing/tests/data/reveal/lib_version.pyi +20 -0
- numpy/typing/tests/data/reveal/linalg.pyi +132 -0
- numpy/typing/tests/data/reveal/ma.pyi +369 -0
- numpy/typing/tests/data/reveal/matrix.pyi +73 -0
- numpy/typing/tests/data/reveal/memmap.pyi +19 -0
- numpy/typing/tests/data/reveal/mod.pyi +179 -0
- numpy/typing/tests/data/reveal/modules.pyi +51 -0
- numpy/typing/tests/data/reveal/multiarray.pyi +194 -0
- numpy/typing/tests/data/reveal/nbit_base_example.pyi +21 -0
- numpy/typing/tests/data/reveal/ndarray_assignability.pyi +77 -0
- numpy/typing/tests/data/reveal/ndarray_conversion.pyi +85 -0
- numpy/typing/tests/data/reveal/ndarray_misc.pyi +247 -0
- numpy/typing/tests/data/reveal/ndarray_shape_manipulation.pyi +39 -0
- numpy/typing/tests/data/reveal/nditer.pyi +49 -0
- numpy/typing/tests/data/reveal/nested_sequence.pyi +25 -0
- numpy/typing/tests/data/reveal/npyio.pyi +83 -0
- numpy/typing/tests/data/reveal/numeric.pyi +134 -0
- numpy/typing/tests/data/reveal/numerictypes.pyi +16 -0
- numpy/typing/tests/data/reveal/polynomial_polybase.pyi +220 -0
- numpy/typing/tests/data/reveal/polynomial_polyutils.pyi +219 -0
- numpy/typing/tests/data/reveal/polynomial_series.pyi +138 -0
- numpy/typing/tests/data/reveal/random.pyi +1546 -0
- numpy/typing/tests/data/reveal/rec.pyi +171 -0
- numpy/typing/tests/data/reveal/scalars.pyi +191 -0
- numpy/typing/tests/data/reveal/shape.pyi +13 -0
- numpy/typing/tests/data/reveal/shape_base.pyi +52 -0
- numpy/typing/tests/data/reveal/stride_tricks.pyi +27 -0
- numpy/typing/tests/data/reveal/strings.pyi +196 -0
- numpy/typing/tests/data/reveal/testing.pyi +198 -0
- numpy/typing/tests/data/reveal/twodim_base.pyi +145 -0
- numpy/typing/tests/data/reveal/type_check.pyi +67 -0
- numpy/typing/tests/data/reveal/ufunc_config.pyi +30 -0
- numpy/typing/tests/data/reveal/ufunclike.pyi +31 -0
- numpy/typing/tests/data/reveal/ufuncs.pyi +123 -0
- numpy/typing/tests/data/reveal/warnings_and_errors.pyi +11 -0
- numpy/typing/tests/test_isfile.py +32 -0
- numpy/typing/tests/test_runtime.py +102 -0
- numpy/typing/tests/test_typing.py +205 -0
- numpy/version.py +11 -0
- numpy/version.pyi +18 -0
- numpy-2.3.5.dist-info/LICENSE.txt +971 -0
- numpy-2.3.5.dist-info/METADATA +1093 -0
- numpy-2.3.5.dist-info/RECORD +897 -0
- numpy-2.3.5.dist-info/WHEEL +6 -0
- numpy-2.3.5.dist-info/entry_points.txt +13 -0
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
import operator
|
|
3
|
+
import types
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
import numpy as np
|
|
7
|
+
from numpy._core import overrides
|
|
8
|
+
from numpy._core._multiarray_umath import _array_converter
|
|
9
|
+
from numpy._core.multiarray import add_docstring
|
|
10
|
+
|
|
11
|
+
from . import numeric as _nx
|
|
12
|
+
from .numeric import asanyarray, nan, ndim, result_type
|
|
13
|
+
|
|
14
|
+
__all__ = ['logspace', 'linspace', 'geomspace']
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
array_function_dispatch = functools.partial(
|
|
18
|
+
overrides.array_function_dispatch, module='numpy')
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def _linspace_dispatcher(start, stop, num=None, endpoint=None, retstep=None,
|
|
22
|
+
dtype=None, axis=None, *, device=None):
|
|
23
|
+
return (start, stop)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@array_function_dispatch(_linspace_dispatcher)
|
|
27
|
+
def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,
|
|
28
|
+
axis=0, *, device=None):
|
|
29
|
+
"""
|
|
30
|
+
Return evenly spaced numbers over a specified interval.
|
|
31
|
+
|
|
32
|
+
Returns `num` evenly spaced samples, calculated over the
|
|
33
|
+
interval [`start`, `stop`].
|
|
34
|
+
|
|
35
|
+
The endpoint of the interval can optionally be excluded.
|
|
36
|
+
|
|
37
|
+
.. versionchanged:: 1.20.0
|
|
38
|
+
Values are rounded towards ``-inf`` instead of ``0`` when an
|
|
39
|
+
integer ``dtype`` is specified. The old behavior can
|
|
40
|
+
still be obtained with ``np.linspace(start, stop, num).astype(int)``
|
|
41
|
+
|
|
42
|
+
Parameters
|
|
43
|
+
----------
|
|
44
|
+
start : array_like
|
|
45
|
+
The starting value of the sequence.
|
|
46
|
+
stop : array_like
|
|
47
|
+
The end value of the sequence, unless `endpoint` is set to False.
|
|
48
|
+
In that case, the sequence consists of all but the last of ``num + 1``
|
|
49
|
+
evenly spaced samples, so that `stop` is excluded. Note that the step
|
|
50
|
+
size changes when `endpoint` is False.
|
|
51
|
+
num : int, optional
|
|
52
|
+
Number of samples to generate. Default is 50. Must be non-negative.
|
|
53
|
+
endpoint : bool, optional
|
|
54
|
+
If True, `stop` is the last sample. Otherwise, it is not included.
|
|
55
|
+
Default is True.
|
|
56
|
+
retstep : bool, optional
|
|
57
|
+
If True, return (`samples`, `step`), where `step` is the spacing
|
|
58
|
+
between samples.
|
|
59
|
+
dtype : dtype, optional
|
|
60
|
+
The type of the output array. If `dtype` is not given, the data type
|
|
61
|
+
is inferred from `start` and `stop`. The inferred dtype will never be
|
|
62
|
+
an integer; `float` is chosen even if the arguments would produce an
|
|
63
|
+
array of integers.
|
|
64
|
+
axis : int, optional
|
|
65
|
+
The axis in the result to store the samples. Relevant only if start
|
|
66
|
+
or stop are array-like. By default (0), the samples will be along a
|
|
67
|
+
new axis inserted at the beginning. Use -1 to get an axis at the end.
|
|
68
|
+
device : str, optional
|
|
69
|
+
The device on which to place the created array. Default: None.
|
|
70
|
+
For Array-API interoperability only, so must be ``"cpu"`` if passed.
|
|
71
|
+
|
|
72
|
+
.. versionadded:: 2.0.0
|
|
73
|
+
|
|
74
|
+
Returns
|
|
75
|
+
-------
|
|
76
|
+
samples : ndarray
|
|
77
|
+
There are `num` equally spaced samples in the closed interval
|
|
78
|
+
``[start, stop]`` or the half-open interval ``[start, stop)``
|
|
79
|
+
(depending on whether `endpoint` is True or False).
|
|
80
|
+
step : float, optional
|
|
81
|
+
Only returned if `retstep` is True
|
|
82
|
+
|
|
83
|
+
Size of spacing between samples.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
See Also
|
|
87
|
+
--------
|
|
88
|
+
arange : Similar to `linspace`, but uses a step size (instead of the
|
|
89
|
+
number of samples).
|
|
90
|
+
geomspace : Similar to `linspace`, but with numbers spaced evenly on a log
|
|
91
|
+
scale (a geometric progression).
|
|
92
|
+
logspace : Similar to `geomspace`, but with the end points specified as
|
|
93
|
+
logarithms.
|
|
94
|
+
:ref:`how-to-partition`
|
|
95
|
+
|
|
96
|
+
Examples
|
|
97
|
+
--------
|
|
98
|
+
>>> import numpy as np
|
|
99
|
+
>>> np.linspace(2.0, 3.0, num=5)
|
|
100
|
+
array([2. , 2.25, 2.5 , 2.75, 3. ])
|
|
101
|
+
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
|
|
102
|
+
array([2. , 2.2, 2.4, 2.6, 2.8])
|
|
103
|
+
>>> np.linspace(2.0, 3.0, num=5, retstep=True)
|
|
104
|
+
(array([2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)
|
|
105
|
+
|
|
106
|
+
Graphical illustration:
|
|
107
|
+
|
|
108
|
+
>>> import matplotlib.pyplot as plt
|
|
109
|
+
>>> N = 8
|
|
110
|
+
>>> y = np.zeros(N)
|
|
111
|
+
>>> x1 = np.linspace(0, 10, N, endpoint=True)
|
|
112
|
+
>>> x2 = np.linspace(0, 10, N, endpoint=False)
|
|
113
|
+
>>> plt.plot(x1, y, 'o')
|
|
114
|
+
[<matplotlib.lines.Line2D object at 0x...>]
|
|
115
|
+
>>> plt.plot(x2, y + 0.5, 'o')
|
|
116
|
+
[<matplotlib.lines.Line2D object at 0x...>]
|
|
117
|
+
>>> plt.ylim([-0.5, 1])
|
|
118
|
+
(-0.5, 1)
|
|
119
|
+
>>> plt.show()
|
|
120
|
+
|
|
121
|
+
"""
|
|
122
|
+
num = operator.index(num)
|
|
123
|
+
if num < 0:
|
|
124
|
+
raise ValueError(
|
|
125
|
+
f"Number of samples, {num}, must be non-negative."
|
|
126
|
+
)
|
|
127
|
+
div = (num - 1) if endpoint else num
|
|
128
|
+
|
|
129
|
+
conv = _array_converter(start, stop)
|
|
130
|
+
start, stop = conv.as_arrays()
|
|
131
|
+
dt = conv.result_type(ensure_inexact=True)
|
|
132
|
+
|
|
133
|
+
if dtype is None:
|
|
134
|
+
dtype = dt
|
|
135
|
+
integer_dtype = False
|
|
136
|
+
else:
|
|
137
|
+
integer_dtype = _nx.issubdtype(dtype, _nx.integer)
|
|
138
|
+
|
|
139
|
+
# Use `dtype=type(dt)` to enforce a floating point evaluation:
|
|
140
|
+
delta = np.subtract(stop, start, dtype=type(dt))
|
|
141
|
+
y = _nx.arange(
|
|
142
|
+
0, num, dtype=dt, device=device
|
|
143
|
+
).reshape((-1,) + (1,) * ndim(delta))
|
|
144
|
+
|
|
145
|
+
# In-place multiplication y *= delta/div is faster, but prevents
|
|
146
|
+
# the multiplicant from overriding what class is produced, and thus
|
|
147
|
+
# prevents, e.g. use of Quantities, see gh-7142. Hence, we multiply
|
|
148
|
+
# in place only for standard scalar types.
|
|
149
|
+
if div > 0:
|
|
150
|
+
_mult_inplace = _nx.isscalar(delta)
|
|
151
|
+
step = delta / div
|
|
152
|
+
any_step_zero = (
|
|
153
|
+
step == 0 if _mult_inplace else _nx.asanyarray(step == 0).any())
|
|
154
|
+
if any_step_zero:
|
|
155
|
+
# Special handling for denormal numbers, gh-5437
|
|
156
|
+
y /= div
|
|
157
|
+
if _mult_inplace:
|
|
158
|
+
y *= delta
|
|
159
|
+
else:
|
|
160
|
+
y = y * delta
|
|
161
|
+
elif _mult_inplace:
|
|
162
|
+
y *= step
|
|
163
|
+
else:
|
|
164
|
+
y = y * step
|
|
165
|
+
else:
|
|
166
|
+
# sequences with 0 items or 1 item with endpoint=True (i.e. div <= 0)
|
|
167
|
+
# have an undefined step
|
|
168
|
+
step = nan
|
|
169
|
+
# Multiply with delta to allow possible override of output class.
|
|
170
|
+
y = y * delta
|
|
171
|
+
|
|
172
|
+
y += start
|
|
173
|
+
|
|
174
|
+
if endpoint and num > 1:
|
|
175
|
+
y[-1, ...] = stop
|
|
176
|
+
|
|
177
|
+
if axis != 0:
|
|
178
|
+
y = _nx.moveaxis(y, 0, axis)
|
|
179
|
+
|
|
180
|
+
if integer_dtype:
|
|
181
|
+
_nx.floor(y, out=y)
|
|
182
|
+
|
|
183
|
+
y = conv.wrap(y.astype(dtype, copy=False))
|
|
184
|
+
if retstep:
|
|
185
|
+
return y, step
|
|
186
|
+
else:
|
|
187
|
+
return y
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def _logspace_dispatcher(start, stop, num=None, endpoint=None, base=None,
|
|
191
|
+
dtype=None, axis=None):
|
|
192
|
+
return (start, stop, base)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
@array_function_dispatch(_logspace_dispatcher)
|
|
196
|
+
def logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,
|
|
197
|
+
axis=0):
|
|
198
|
+
"""
|
|
199
|
+
Return numbers spaced evenly on a log scale.
|
|
200
|
+
|
|
201
|
+
In linear space, the sequence starts at ``base ** start``
|
|
202
|
+
(`base` to the power of `start`) and ends with ``base ** stop``
|
|
203
|
+
(see `endpoint` below).
|
|
204
|
+
|
|
205
|
+
.. versionchanged:: 1.25.0
|
|
206
|
+
Non-scalar 'base` is now supported
|
|
207
|
+
|
|
208
|
+
Parameters
|
|
209
|
+
----------
|
|
210
|
+
start : array_like
|
|
211
|
+
``base ** start`` is the starting value of the sequence.
|
|
212
|
+
stop : array_like
|
|
213
|
+
``base ** stop`` is the final value of the sequence, unless `endpoint`
|
|
214
|
+
is False. In that case, ``num + 1`` values are spaced over the
|
|
215
|
+
interval in log-space, of which all but the last (a sequence of
|
|
216
|
+
length `num`) are returned.
|
|
217
|
+
num : integer, optional
|
|
218
|
+
Number of samples to generate. Default is 50.
|
|
219
|
+
endpoint : boolean, optional
|
|
220
|
+
If true, `stop` is the last sample. Otherwise, it is not included.
|
|
221
|
+
Default is True.
|
|
222
|
+
base : array_like, optional
|
|
223
|
+
The base of the log space. The step size between the elements in
|
|
224
|
+
``ln(samples) / ln(base)`` (or ``log_base(samples)``) is uniform.
|
|
225
|
+
Default is 10.0.
|
|
226
|
+
dtype : dtype
|
|
227
|
+
The type of the output array. If `dtype` is not given, the data type
|
|
228
|
+
is inferred from `start` and `stop`. The inferred type will never be
|
|
229
|
+
an integer; `float` is chosen even if the arguments would produce an
|
|
230
|
+
array of integers.
|
|
231
|
+
axis : int, optional
|
|
232
|
+
The axis in the result to store the samples. Relevant only if start,
|
|
233
|
+
stop, or base are array-like. By default (0), the samples will be
|
|
234
|
+
along a new axis inserted at the beginning. Use -1 to get an axis at
|
|
235
|
+
the end.
|
|
236
|
+
|
|
237
|
+
Returns
|
|
238
|
+
-------
|
|
239
|
+
samples : ndarray
|
|
240
|
+
`num` samples, equally spaced on a log scale.
|
|
241
|
+
|
|
242
|
+
See Also
|
|
243
|
+
--------
|
|
244
|
+
arange : Similar to linspace, with the step size specified instead of the
|
|
245
|
+
number of samples. Note that, when used with a float endpoint, the
|
|
246
|
+
endpoint may or may not be included.
|
|
247
|
+
linspace : Similar to logspace, but with the samples uniformly distributed
|
|
248
|
+
in linear space, instead of log space.
|
|
249
|
+
geomspace : Similar to logspace, but with endpoints specified directly.
|
|
250
|
+
:ref:`how-to-partition`
|
|
251
|
+
|
|
252
|
+
Notes
|
|
253
|
+
-----
|
|
254
|
+
If base is a scalar, logspace is equivalent to the code
|
|
255
|
+
|
|
256
|
+
>>> y = np.linspace(start, stop, num=num, endpoint=endpoint)
|
|
257
|
+
... # doctest: +SKIP
|
|
258
|
+
>>> power(base, y).astype(dtype)
|
|
259
|
+
... # doctest: +SKIP
|
|
260
|
+
|
|
261
|
+
Examples
|
|
262
|
+
--------
|
|
263
|
+
>>> import numpy as np
|
|
264
|
+
>>> np.logspace(2.0, 3.0, num=4)
|
|
265
|
+
array([ 100. , 215.443469 , 464.15888336, 1000. ])
|
|
266
|
+
>>> np.logspace(2.0, 3.0, num=4, endpoint=False)
|
|
267
|
+
array([100. , 177.827941 , 316.22776602, 562.34132519])
|
|
268
|
+
>>> np.logspace(2.0, 3.0, num=4, base=2.0)
|
|
269
|
+
array([4. , 5.0396842 , 6.34960421, 8. ])
|
|
270
|
+
>>> np.logspace(2.0, 3.0, num=4, base=[2.0, 3.0], axis=-1)
|
|
271
|
+
array([[ 4. , 5.0396842 , 6.34960421, 8. ],
|
|
272
|
+
[ 9. , 12.98024613, 18.72075441, 27. ]])
|
|
273
|
+
|
|
274
|
+
Graphical illustration:
|
|
275
|
+
|
|
276
|
+
>>> import matplotlib.pyplot as plt
|
|
277
|
+
>>> N = 10
|
|
278
|
+
>>> x1 = np.logspace(0.1, 1, N, endpoint=True)
|
|
279
|
+
>>> x2 = np.logspace(0.1, 1, N, endpoint=False)
|
|
280
|
+
>>> y = np.zeros(N)
|
|
281
|
+
>>> plt.plot(x1, y, 'o')
|
|
282
|
+
[<matplotlib.lines.Line2D object at 0x...>]
|
|
283
|
+
>>> plt.plot(x2, y + 0.5, 'o')
|
|
284
|
+
[<matplotlib.lines.Line2D object at 0x...>]
|
|
285
|
+
>>> plt.ylim([-0.5, 1])
|
|
286
|
+
(-0.5, 1)
|
|
287
|
+
>>> plt.show()
|
|
288
|
+
|
|
289
|
+
"""
|
|
290
|
+
if not isinstance(base, (float, int)) and np.ndim(base):
|
|
291
|
+
# If base is non-scalar, broadcast it with the others, since it
|
|
292
|
+
# may influence how axis is interpreted.
|
|
293
|
+
ndmax = np.broadcast(start, stop, base).ndim
|
|
294
|
+
start, stop, base = (
|
|
295
|
+
np.array(a, copy=None, subok=True, ndmin=ndmax)
|
|
296
|
+
for a in (start, stop, base)
|
|
297
|
+
)
|
|
298
|
+
base = np.expand_dims(base, axis=axis)
|
|
299
|
+
y = linspace(start, stop, num=num, endpoint=endpoint, axis=axis)
|
|
300
|
+
if dtype is None:
|
|
301
|
+
return _nx.power(base, y)
|
|
302
|
+
return _nx.power(base, y).astype(dtype, copy=False)
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
def _geomspace_dispatcher(start, stop, num=None, endpoint=None, dtype=None,
|
|
306
|
+
axis=None):
|
|
307
|
+
return (start, stop)
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
@array_function_dispatch(_geomspace_dispatcher)
|
|
311
|
+
def geomspace(start, stop, num=50, endpoint=True, dtype=None, axis=0):
|
|
312
|
+
"""
|
|
313
|
+
Return numbers spaced evenly on a log scale (a geometric progression).
|
|
314
|
+
|
|
315
|
+
This is similar to `logspace`, but with endpoints specified directly.
|
|
316
|
+
Each output sample is a constant multiple of the previous.
|
|
317
|
+
|
|
318
|
+
Parameters
|
|
319
|
+
----------
|
|
320
|
+
start : array_like
|
|
321
|
+
The starting value of the sequence.
|
|
322
|
+
stop : array_like
|
|
323
|
+
The final value of the sequence, unless `endpoint` is False.
|
|
324
|
+
In that case, ``num + 1`` values are spaced over the
|
|
325
|
+
interval in log-space, of which all but the last (a sequence of
|
|
326
|
+
length `num`) are returned.
|
|
327
|
+
num : integer, optional
|
|
328
|
+
Number of samples to generate. Default is 50.
|
|
329
|
+
endpoint : boolean, optional
|
|
330
|
+
If true, `stop` is the last sample. Otherwise, it is not included.
|
|
331
|
+
Default is True.
|
|
332
|
+
dtype : dtype
|
|
333
|
+
The type of the output array. If `dtype` is not given, the data type
|
|
334
|
+
is inferred from `start` and `stop`. The inferred dtype will never be
|
|
335
|
+
an integer; `float` is chosen even if the arguments would produce an
|
|
336
|
+
array of integers.
|
|
337
|
+
axis : int, optional
|
|
338
|
+
The axis in the result to store the samples. Relevant only if start
|
|
339
|
+
or stop are array-like. By default (0), the samples will be along a
|
|
340
|
+
new axis inserted at the beginning. Use -1 to get an axis at the end.
|
|
341
|
+
|
|
342
|
+
Returns
|
|
343
|
+
-------
|
|
344
|
+
samples : ndarray
|
|
345
|
+
`num` samples, equally spaced on a log scale.
|
|
346
|
+
|
|
347
|
+
See Also
|
|
348
|
+
--------
|
|
349
|
+
logspace : Similar to geomspace, but with endpoints specified using log
|
|
350
|
+
and base.
|
|
351
|
+
linspace : Similar to geomspace, but with arithmetic instead of geometric
|
|
352
|
+
progression.
|
|
353
|
+
arange : Similar to linspace, with the step size specified instead of the
|
|
354
|
+
number of samples.
|
|
355
|
+
:ref:`how-to-partition`
|
|
356
|
+
|
|
357
|
+
Notes
|
|
358
|
+
-----
|
|
359
|
+
If the inputs or dtype are complex, the output will follow a logarithmic
|
|
360
|
+
spiral in the complex plane. (There are an infinite number of spirals
|
|
361
|
+
passing through two points; the output will follow the shortest such path.)
|
|
362
|
+
|
|
363
|
+
Examples
|
|
364
|
+
--------
|
|
365
|
+
>>> import numpy as np
|
|
366
|
+
>>> np.geomspace(1, 1000, num=4)
|
|
367
|
+
array([ 1., 10., 100., 1000.])
|
|
368
|
+
>>> np.geomspace(1, 1000, num=3, endpoint=False)
|
|
369
|
+
array([ 1., 10., 100.])
|
|
370
|
+
>>> np.geomspace(1, 1000, num=4, endpoint=False)
|
|
371
|
+
array([ 1. , 5.62341325, 31.6227766 , 177.827941 ])
|
|
372
|
+
>>> np.geomspace(1, 256, num=9)
|
|
373
|
+
array([ 1., 2., 4., 8., 16., 32., 64., 128., 256.])
|
|
374
|
+
|
|
375
|
+
Note that the above may not produce exact integers:
|
|
376
|
+
|
|
377
|
+
>>> np.geomspace(1, 256, num=9, dtype=int)
|
|
378
|
+
array([ 1, 2, 4, 7, 16, 32, 63, 127, 256])
|
|
379
|
+
>>> np.around(np.geomspace(1, 256, num=9)).astype(int)
|
|
380
|
+
array([ 1, 2, 4, 8, 16, 32, 64, 128, 256])
|
|
381
|
+
|
|
382
|
+
Negative, decreasing, and complex inputs are allowed:
|
|
383
|
+
|
|
384
|
+
>>> np.geomspace(1000, 1, num=4)
|
|
385
|
+
array([1000., 100., 10., 1.])
|
|
386
|
+
>>> np.geomspace(-1000, -1, num=4)
|
|
387
|
+
array([-1000., -100., -10., -1.])
|
|
388
|
+
>>> np.geomspace(1j, 1000j, num=4) # Straight line
|
|
389
|
+
array([0. +1.j, 0. +10.j, 0. +100.j, 0.+1000.j])
|
|
390
|
+
>>> np.geomspace(-1+0j, 1+0j, num=5) # Circle
|
|
391
|
+
array([-1.00000000e+00+1.22464680e-16j, -7.07106781e-01+7.07106781e-01j,
|
|
392
|
+
6.12323400e-17+1.00000000e+00j, 7.07106781e-01+7.07106781e-01j,
|
|
393
|
+
1.00000000e+00+0.00000000e+00j])
|
|
394
|
+
|
|
395
|
+
Graphical illustration of `endpoint` parameter:
|
|
396
|
+
|
|
397
|
+
>>> import matplotlib.pyplot as plt
|
|
398
|
+
>>> N = 10
|
|
399
|
+
>>> y = np.zeros(N)
|
|
400
|
+
>>> plt.semilogx(np.geomspace(1, 1000, N, endpoint=True), y + 1, 'o')
|
|
401
|
+
[<matplotlib.lines.Line2D object at 0x...>]
|
|
402
|
+
>>> plt.semilogx(np.geomspace(1, 1000, N, endpoint=False), y + 2, 'o')
|
|
403
|
+
[<matplotlib.lines.Line2D object at 0x...>]
|
|
404
|
+
>>> plt.axis([0.5, 2000, 0, 3])
|
|
405
|
+
[0.5, 2000, 0, 3]
|
|
406
|
+
>>> plt.grid(True, color='0.7', linestyle='-', which='both', axis='both')
|
|
407
|
+
>>> plt.show()
|
|
408
|
+
|
|
409
|
+
"""
|
|
410
|
+
start = asanyarray(start)
|
|
411
|
+
stop = asanyarray(stop)
|
|
412
|
+
if _nx.any(start == 0) or _nx.any(stop == 0):
|
|
413
|
+
raise ValueError('Geometric sequence cannot include zero')
|
|
414
|
+
|
|
415
|
+
dt = result_type(start, stop, float(num), _nx.zeros((), dtype))
|
|
416
|
+
if dtype is None:
|
|
417
|
+
dtype = dt
|
|
418
|
+
else:
|
|
419
|
+
# complex to dtype('complex128'), for instance
|
|
420
|
+
dtype = _nx.dtype(dtype)
|
|
421
|
+
|
|
422
|
+
# Promote both arguments to the same dtype in case, for instance, one is
|
|
423
|
+
# complex and another is negative and log would produce NaN otherwise.
|
|
424
|
+
# Copy since we may change things in-place further down.
|
|
425
|
+
start = start.astype(dt, copy=True)
|
|
426
|
+
stop = stop.astype(dt, copy=True)
|
|
427
|
+
|
|
428
|
+
# Allow negative real values and ensure a consistent result for complex
|
|
429
|
+
# (including avoiding negligible real or imaginary parts in output) by
|
|
430
|
+
# rotating start to positive real, calculating, then undoing rotation.
|
|
431
|
+
out_sign = _nx.sign(start)
|
|
432
|
+
start /= out_sign
|
|
433
|
+
stop = stop / out_sign
|
|
434
|
+
|
|
435
|
+
log_start = _nx.log10(start)
|
|
436
|
+
log_stop = _nx.log10(stop)
|
|
437
|
+
result = logspace(log_start, log_stop, num=num,
|
|
438
|
+
endpoint=endpoint, base=10.0, dtype=dt)
|
|
439
|
+
|
|
440
|
+
# Make sure the endpoints match the start and stop arguments. This is
|
|
441
|
+
# necessary because np.exp(np.log(x)) is not necessarily equal to x.
|
|
442
|
+
if num > 0:
|
|
443
|
+
result[0] = start
|
|
444
|
+
if num > 1 and endpoint:
|
|
445
|
+
result[-1] = stop
|
|
446
|
+
|
|
447
|
+
result *= out_sign
|
|
448
|
+
|
|
449
|
+
if axis != 0:
|
|
450
|
+
result = _nx.moveaxis(result, 0, axis)
|
|
451
|
+
|
|
452
|
+
return result.astype(dtype, copy=False)
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
def _needs_add_docstring(obj):
|
|
456
|
+
"""
|
|
457
|
+
Returns true if the only way to set the docstring of `obj` from python is
|
|
458
|
+
via add_docstring.
|
|
459
|
+
|
|
460
|
+
This function errs on the side of being overly conservative.
|
|
461
|
+
"""
|
|
462
|
+
Py_TPFLAGS_HEAPTYPE = 1 << 9
|
|
463
|
+
|
|
464
|
+
if isinstance(obj, (types.FunctionType, types.MethodType, property)):
|
|
465
|
+
return False
|
|
466
|
+
|
|
467
|
+
if isinstance(obj, type) and obj.__flags__ & Py_TPFLAGS_HEAPTYPE:
|
|
468
|
+
return False
|
|
469
|
+
|
|
470
|
+
return True
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
def _add_docstring(obj, doc, warn_on_python):
|
|
474
|
+
if warn_on_python and not _needs_add_docstring(obj):
|
|
475
|
+
warnings.warn(
|
|
476
|
+
f"add_newdoc was used on a pure-python object {obj}. "
|
|
477
|
+
"Prefer to attach it directly to the source.",
|
|
478
|
+
UserWarning,
|
|
479
|
+
stacklevel=3)
|
|
480
|
+
try:
|
|
481
|
+
add_docstring(obj, doc)
|
|
482
|
+
except Exception:
|
|
483
|
+
pass
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
def add_newdoc(place, obj, doc, warn_on_python=True):
|
|
487
|
+
"""
|
|
488
|
+
Add documentation to an existing object, typically one defined in C
|
|
489
|
+
|
|
490
|
+
The purpose is to allow easier editing of the docstrings without requiring
|
|
491
|
+
a re-compile. This exists primarily for internal use within numpy itself.
|
|
492
|
+
|
|
493
|
+
Parameters
|
|
494
|
+
----------
|
|
495
|
+
place : str
|
|
496
|
+
The absolute name of the module to import from
|
|
497
|
+
obj : str or None
|
|
498
|
+
The name of the object to add documentation to, typically a class or
|
|
499
|
+
function name.
|
|
500
|
+
doc : {str, Tuple[str, str], List[Tuple[str, str]]}
|
|
501
|
+
If a string, the documentation to apply to `obj`
|
|
502
|
+
|
|
503
|
+
If a tuple, then the first element is interpreted as an attribute
|
|
504
|
+
of `obj` and the second as the docstring to apply -
|
|
505
|
+
``(method, docstring)``
|
|
506
|
+
|
|
507
|
+
If a list, then each element of the list should be a tuple of length
|
|
508
|
+
two - ``[(method1, docstring1), (method2, docstring2), ...]``
|
|
509
|
+
warn_on_python : bool
|
|
510
|
+
If True, the default, emit `UserWarning` if this is used to attach
|
|
511
|
+
documentation to a pure-python object.
|
|
512
|
+
|
|
513
|
+
Notes
|
|
514
|
+
-----
|
|
515
|
+
This routine never raises an error if the docstring can't be written, but
|
|
516
|
+
will raise an error if the object being documented does not exist.
|
|
517
|
+
|
|
518
|
+
This routine cannot modify read-only docstrings, as appear
|
|
519
|
+
in new-style classes or built-in functions. Because this
|
|
520
|
+
routine never raises an error the caller must check manually
|
|
521
|
+
that the docstrings were changed.
|
|
522
|
+
|
|
523
|
+
Since this function grabs the ``char *`` from a c-level str object and puts
|
|
524
|
+
it into the ``tp_doc`` slot of the type of `obj`, it violates a number of
|
|
525
|
+
C-API best-practices, by:
|
|
526
|
+
|
|
527
|
+
- modifying a `PyTypeObject` after calling `PyType_Ready`
|
|
528
|
+
- calling `Py_INCREF` on the str and losing the reference, so the str
|
|
529
|
+
will never be released
|
|
530
|
+
|
|
531
|
+
If possible it should be avoided.
|
|
532
|
+
"""
|
|
533
|
+
new = getattr(__import__(place, globals(), {}, [obj]), obj)
|
|
534
|
+
if isinstance(doc, str):
|
|
535
|
+
if "${ARRAY_FUNCTION_LIKE}" in doc:
|
|
536
|
+
doc = overrides.get_array_function_like_doc(new, doc)
|
|
537
|
+
_add_docstring(new, doc.strip(), warn_on_python)
|
|
538
|
+
elif isinstance(doc, tuple):
|
|
539
|
+
attr, docstring = doc
|
|
540
|
+
_add_docstring(getattr(new, attr), docstring.strip(), warn_on_python)
|
|
541
|
+
elif isinstance(doc, list):
|
|
542
|
+
for attr, docstring in doc:
|
|
543
|
+
_add_docstring(
|
|
544
|
+
getattr(new, attr), docstring.strip(), warn_on_python
|
|
545
|
+
)
|