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
numpy/ma/testutils.py
ADDED
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"""Miscellaneous functions for testing masked arrays and subclasses
|
|
2
|
+
|
|
3
|
+
:author: Pierre Gerard-Marchant
|
|
4
|
+
:contact: pierregm_at_uga_dot_edu
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
import operator
|
|
8
|
+
|
|
9
|
+
import numpy as np
|
|
10
|
+
import numpy._core.umath as umath
|
|
11
|
+
import numpy.testing
|
|
12
|
+
from numpy import ndarray
|
|
13
|
+
from numpy.testing import ( # noqa: F401
|
|
14
|
+
assert_,
|
|
15
|
+
assert_allclose,
|
|
16
|
+
assert_array_almost_equal_nulp,
|
|
17
|
+
assert_raises,
|
|
18
|
+
build_err_msg,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
from .core import filled, getmask, mask_or, masked, masked_array, nomask
|
|
22
|
+
|
|
23
|
+
__all__masked = [
|
|
24
|
+
'almost', 'approx', 'assert_almost_equal', 'assert_array_almost_equal',
|
|
25
|
+
'assert_array_approx_equal', 'assert_array_compare',
|
|
26
|
+
'assert_array_equal', 'assert_array_less', 'assert_close',
|
|
27
|
+
'assert_equal', 'assert_equal_records', 'assert_mask_equal',
|
|
28
|
+
'assert_not_equal', 'fail_if_array_equal',
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
# Include some normal test functions to avoid breaking other projects who
|
|
32
|
+
# have mistakenly included them from this file. SciPy is one. That is
|
|
33
|
+
# unfortunate, as some of these functions are not intended to work with
|
|
34
|
+
# masked arrays. But there was no way to tell before.
|
|
35
|
+
from unittest import TestCase # noqa: F401
|
|
36
|
+
|
|
37
|
+
__some__from_testing = [
|
|
38
|
+
'TestCase', 'assert_', 'assert_allclose', 'assert_array_almost_equal_nulp',
|
|
39
|
+
'assert_raises'
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
__all__ = __all__masked + __some__from_testing # noqa: PLE0605
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def approx(a, b, fill_value=True, rtol=1e-5, atol=1e-8):
|
|
46
|
+
"""
|
|
47
|
+
Returns true if all components of a and b are equal to given tolerances.
|
|
48
|
+
|
|
49
|
+
If fill_value is True, masked values considered equal. Otherwise,
|
|
50
|
+
masked values are considered unequal. The relative error rtol should
|
|
51
|
+
be positive and << 1.0 The absolute error atol comes into play for
|
|
52
|
+
those elements of b that are very small or zero; it says how small a
|
|
53
|
+
must be also.
|
|
54
|
+
|
|
55
|
+
"""
|
|
56
|
+
m = mask_or(getmask(a), getmask(b))
|
|
57
|
+
d1 = filled(a)
|
|
58
|
+
d2 = filled(b)
|
|
59
|
+
if d1.dtype.char == "O" or d2.dtype.char == "O":
|
|
60
|
+
return np.equal(d1, d2).ravel()
|
|
61
|
+
x = filled(
|
|
62
|
+
masked_array(d1, copy=False, mask=m), fill_value
|
|
63
|
+
).astype(np.float64)
|
|
64
|
+
y = filled(masked_array(d2, copy=False, mask=m), 1).astype(np.float64)
|
|
65
|
+
d = np.less_equal(umath.absolute(x - y), atol + rtol * umath.absolute(y))
|
|
66
|
+
return d.ravel()
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def almost(a, b, decimal=6, fill_value=True):
|
|
70
|
+
"""
|
|
71
|
+
Returns True if a and b are equal up to decimal places.
|
|
72
|
+
|
|
73
|
+
If fill_value is True, masked values considered equal. Otherwise,
|
|
74
|
+
masked values are considered unequal.
|
|
75
|
+
|
|
76
|
+
"""
|
|
77
|
+
m = mask_or(getmask(a), getmask(b))
|
|
78
|
+
d1 = filled(a)
|
|
79
|
+
d2 = filled(b)
|
|
80
|
+
if d1.dtype.char == "O" or d2.dtype.char == "O":
|
|
81
|
+
return np.equal(d1, d2).ravel()
|
|
82
|
+
x = filled(
|
|
83
|
+
masked_array(d1, copy=False, mask=m), fill_value
|
|
84
|
+
).astype(np.float64)
|
|
85
|
+
y = filled(masked_array(d2, copy=False, mask=m), 1).astype(np.float64)
|
|
86
|
+
d = np.around(np.abs(x - y), decimal) <= 10.0 ** (-decimal)
|
|
87
|
+
return d.ravel()
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def _assert_equal_on_sequences(actual, desired, err_msg=''):
|
|
91
|
+
"""
|
|
92
|
+
Asserts the equality of two non-array sequences.
|
|
93
|
+
|
|
94
|
+
"""
|
|
95
|
+
assert_equal(len(actual), len(desired), err_msg)
|
|
96
|
+
for k in range(len(desired)):
|
|
97
|
+
assert_equal(actual[k], desired[k], f'item={k!r}\n{err_msg}')
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def assert_equal_records(a, b):
|
|
101
|
+
"""
|
|
102
|
+
Asserts that two records are equal.
|
|
103
|
+
|
|
104
|
+
Pretty crude for now.
|
|
105
|
+
|
|
106
|
+
"""
|
|
107
|
+
assert_equal(a.dtype, b.dtype)
|
|
108
|
+
for f in a.dtype.names:
|
|
109
|
+
(af, bf) = (operator.getitem(a, f), operator.getitem(b, f))
|
|
110
|
+
if not (af is masked) and not (bf is masked):
|
|
111
|
+
assert_equal(operator.getitem(a, f), operator.getitem(b, f))
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def assert_equal(actual, desired, err_msg=''):
|
|
115
|
+
"""
|
|
116
|
+
Asserts that two items are equal.
|
|
117
|
+
|
|
118
|
+
"""
|
|
119
|
+
# Case #1: dictionary .....
|
|
120
|
+
if isinstance(desired, dict):
|
|
121
|
+
if not isinstance(actual, dict):
|
|
122
|
+
raise AssertionError(repr(type(actual)))
|
|
123
|
+
assert_equal(len(actual), len(desired), err_msg)
|
|
124
|
+
for k, i in desired.items():
|
|
125
|
+
if k not in actual:
|
|
126
|
+
raise AssertionError(f"{k} not in {actual}")
|
|
127
|
+
assert_equal(actual[k], desired[k], f'key={k!r}\n{err_msg}')
|
|
128
|
+
return
|
|
129
|
+
# Case #2: lists .....
|
|
130
|
+
if isinstance(desired, (list, tuple)) and isinstance(actual, (list, tuple)):
|
|
131
|
+
return _assert_equal_on_sequences(actual, desired, err_msg='')
|
|
132
|
+
if not (isinstance(actual, ndarray) or isinstance(desired, ndarray)):
|
|
133
|
+
msg = build_err_msg([actual, desired], err_msg,)
|
|
134
|
+
if not desired == actual:
|
|
135
|
+
raise AssertionError(msg)
|
|
136
|
+
return
|
|
137
|
+
# Case #4. arrays or equivalent
|
|
138
|
+
if ((actual is masked) and not (desired is masked)) or \
|
|
139
|
+
((desired is masked) and not (actual is masked)):
|
|
140
|
+
msg = build_err_msg([actual, desired],
|
|
141
|
+
err_msg, header='', names=('x', 'y'))
|
|
142
|
+
raise ValueError(msg)
|
|
143
|
+
actual = np.asanyarray(actual)
|
|
144
|
+
desired = np.asanyarray(desired)
|
|
145
|
+
(actual_dtype, desired_dtype) = (actual.dtype, desired.dtype)
|
|
146
|
+
if actual_dtype.char == "S" and desired_dtype.char == "S":
|
|
147
|
+
return _assert_equal_on_sequences(actual.tolist(),
|
|
148
|
+
desired.tolist(),
|
|
149
|
+
err_msg='')
|
|
150
|
+
return assert_array_equal(actual, desired, err_msg)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def fail_if_equal(actual, desired, err_msg='',):
|
|
154
|
+
"""
|
|
155
|
+
Raises an assertion error if two items are equal.
|
|
156
|
+
|
|
157
|
+
"""
|
|
158
|
+
if isinstance(desired, dict):
|
|
159
|
+
if not isinstance(actual, dict):
|
|
160
|
+
raise AssertionError(repr(type(actual)))
|
|
161
|
+
fail_if_equal(len(actual), len(desired), err_msg)
|
|
162
|
+
for k, i in desired.items():
|
|
163
|
+
if k not in actual:
|
|
164
|
+
raise AssertionError(repr(k))
|
|
165
|
+
fail_if_equal(actual[k], desired[k], f'key={k!r}\n{err_msg}')
|
|
166
|
+
return
|
|
167
|
+
if isinstance(desired, (list, tuple)) and isinstance(actual, (list, tuple)):
|
|
168
|
+
fail_if_equal(len(actual), len(desired), err_msg)
|
|
169
|
+
for k in range(len(desired)):
|
|
170
|
+
fail_if_equal(actual[k], desired[k], f'item={k!r}\n{err_msg}')
|
|
171
|
+
return
|
|
172
|
+
if isinstance(actual, np.ndarray) or isinstance(desired, np.ndarray):
|
|
173
|
+
return fail_if_array_equal(actual, desired, err_msg)
|
|
174
|
+
msg = build_err_msg([actual, desired], err_msg)
|
|
175
|
+
if not desired != actual:
|
|
176
|
+
raise AssertionError(msg)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
assert_not_equal = fail_if_equal
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
def assert_almost_equal(actual, desired, decimal=7, err_msg='', verbose=True):
|
|
183
|
+
"""
|
|
184
|
+
Asserts that two items are almost equal.
|
|
185
|
+
|
|
186
|
+
The test is equivalent to abs(desired-actual) < 0.5 * 10**(-decimal).
|
|
187
|
+
|
|
188
|
+
"""
|
|
189
|
+
if isinstance(actual, np.ndarray) or isinstance(desired, np.ndarray):
|
|
190
|
+
return assert_array_almost_equal(actual, desired, decimal=decimal,
|
|
191
|
+
err_msg=err_msg, verbose=verbose)
|
|
192
|
+
msg = build_err_msg([actual, desired],
|
|
193
|
+
err_msg=err_msg, verbose=verbose)
|
|
194
|
+
if not round(abs(desired - actual), decimal) == 0:
|
|
195
|
+
raise AssertionError(msg)
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
assert_close = assert_almost_equal
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
def assert_array_compare(comparison, x, y, err_msg='', verbose=True, header='',
|
|
202
|
+
fill_value=True):
|
|
203
|
+
"""
|
|
204
|
+
Asserts that comparison between two masked arrays is satisfied.
|
|
205
|
+
|
|
206
|
+
The comparison is elementwise.
|
|
207
|
+
|
|
208
|
+
"""
|
|
209
|
+
# Allocate a common mask and refill
|
|
210
|
+
m = mask_or(getmask(x), getmask(y))
|
|
211
|
+
x = masked_array(x, copy=False, mask=m, keep_mask=False, subok=False)
|
|
212
|
+
y = masked_array(y, copy=False, mask=m, keep_mask=False, subok=False)
|
|
213
|
+
if ((x is masked) and not (y is masked)) or \
|
|
214
|
+
((y is masked) and not (x is masked)):
|
|
215
|
+
msg = build_err_msg([x, y], err_msg=err_msg, verbose=verbose,
|
|
216
|
+
header=header, names=('x', 'y'))
|
|
217
|
+
raise ValueError(msg)
|
|
218
|
+
# OK, now run the basic tests on filled versions
|
|
219
|
+
return np.testing.assert_array_compare(comparison,
|
|
220
|
+
x.filled(fill_value),
|
|
221
|
+
y.filled(fill_value),
|
|
222
|
+
err_msg=err_msg,
|
|
223
|
+
verbose=verbose, header=header)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
def assert_array_equal(x, y, err_msg='', verbose=True):
|
|
227
|
+
"""
|
|
228
|
+
Checks the elementwise equality of two masked arrays.
|
|
229
|
+
|
|
230
|
+
"""
|
|
231
|
+
assert_array_compare(operator.__eq__, x, y,
|
|
232
|
+
err_msg=err_msg, verbose=verbose,
|
|
233
|
+
header='Arrays are not equal')
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
def fail_if_array_equal(x, y, err_msg='', verbose=True):
|
|
237
|
+
"""
|
|
238
|
+
Raises an assertion error if two masked arrays are not equal elementwise.
|
|
239
|
+
|
|
240
|
+
"""
|
|
241
|
+
def compare(x, y):
|
|
242
|
+
return (not np.all(approx(x, y)))
|
|
243
|
+
assert_array_compare(compare, x, y, err_msg=err_msg, verbose=verbose,
|
|
244
|
+
header='Arrays are not equal')
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
def assert_array_approx_equal(x, y, decimal=6, err_msg='', verbose=True):
|
|
248
|
+
"""
|
|
249
|
+
Checks the equality of two masked arrays, up to given number odecimals.
|
|
250
|
+
|
|
251
|
+
The equality is checked elementwise.
|
|
252
|
+
|
|
253
|
+
"""
|
|
254
|
+
def compare(x, y):
|
|
255
|
+
"Returns the result of the loose comparison between x and y)."
|
|
256
|
+
return approx(x, y, rtol=10. ** -decimal)
|
|
257
|
+
assert_array_compare(compare, x, y, err_msg=err_msg, verbose=verbose,
|
|
258
|
+
header='Arrays are not almost equal')
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
def assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True):
|
|
262
|
+
"""
|
|
263
|
+
Checks the equality of two masked arrays, up to given number odecimals.
|
|
264
|
+
|
|
265
|
+
The equality is checked elementwise.
|
|
266
|
+
|
|
267
|
+
"""
|
|
268
|
+
def compare(x, y):
|
|
269
|
+
"Returns the result of the loose comparison between x and y)."
|
|
270
|
+
return almost(x, y, decimal)
|
|
271
|
+
assert_array_compare(compare, x, y, err_msg=err_msg, verbose=verbose,
|
|
272
|
+
header='Arrays are not almost equal')
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
def assert_array_less(x, y, err_msg='', verbose=True):
|
|
276
|
+
"""
|
|
277
|
+
Checks that x is smaller than y elementwise.
|
|
278
|
+
|
|
279
|
+
"""
|
|
280
|
+
assert_array_compare(operator.__lt__, x, y,
|
|
281
|
+
err_msg=err_msg, verbose=verbose,
|
|
282
|
+
header='Arrays are not less-ordered')
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
def assert_mask_equal(m1, m2, err_msg=''):
|
|
286
|
+
"""
|
|
287
|
+
Asserts the equality of two masks.
|
|
288
|
+
|
|
289
|
+
"""
|
|
290
|
+
if m1 is nomask:
|
|
291
|
+
assert_(m2 is nomask)
|
|
292
|
+
if m2 is nomask:
|
|
293
|
+
assert_(m1 is nomask)
|
|
294
|
+
assert_array_equal(m1, m2, err_msg=err_msg)
|
numpy/matlib.py
ADDED
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
# 2018-05-29, PendingDeprecationWarning added to matrix.__new__
|
|
4
|
+
# 2020-01-23, numpy 1.19.0 PendingDeprecatonWarning
|
|
5
|
+
warnings.warn("Importing from numpy.matlib is deprecated since 1.19.0. "
|
|
6
|
+
"The matrix subclass is not the recommended way to represent "
|
|
7
|
+
"matrices or deal with linear algebra (see "
|
|
8
|
+
"https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). "
|
|
9
|
+
"Please adjust your code to use regular ndarray. ",
|
|
10
|
+
PendingDeprecationWarning, stacklevel=2)
|
|
11
|
+
|
|
12
|
+
import numpy as np
|
|
13
|
+
|
|
14
|
+
# Matlib.py contains all functions in the numpy namespace with a few
|
|
15
|
+
# replacements. See doc/source/reference/routines.matlib.rst for details.
|
|
16
|
+
# Need * as we're copying the numpy namespace.
|
|
17
|
+
from numpy import * # noqa: F403
|
|
18
|
+
from numpy.matrixlib.defmatrix import asmatrix, matrix
|
|
19
|
+
|
|
20
|
+
__version__ = np.__version__
|
|
21
|
+
|
|
22
|
+
__all__ = ['rand', 'randn', 'repmat']
|
|
23
|
+
__all__ += np.__all__
|
|
24
|
+
|
|
25
|
+
def empty(shape, dtype=None, order='C'):
|
|
26
|
+
"""Return a new matrix of given shape and type, without initializing entries.
|
|
27
|
+
|
|
28
|
+
Parameters
|
|
29
|
+
----------
|
|
30
|
+
shape : int or tuple of int
|
|
31
|
+
Shape of the empty matrix.
|
|
32
|
+
dtype : data-type, optional
|
|
33
|
+
Desired output data-type.
|
|
34
|
+
order : {'C', 'F'}, optional
|
|
35
|
+
Whether to store multi-dimensional data in row-major
|
|
36
|
+
(C-style) or column-major (Fortran-style) order in
|
|
37
|
+
memory.
|
|
38
|
+
|
|
39
|
+
See Also
|
|
40
|
+
--------
|
|
41
|
+
numpy.empty : Equivalent array function.
|
|
42
|
+
matlib.zeros : Return a matrix of zeros.
|
|
43
|
+
matlib.ones : Return a matrix of ones.
|
|
44
|
+
|
|
45
|
+
Notes
|
|
46
|
+
-----
|
|
47
|
+
Unlike other matrix creation functions (e.g. `matlib.zeros`,
|
|
48
|
+
`matlib.ones`), `matlib.empty` does not initialize the values of the
|
|
49
|
+
matrix, and may therefore be marginally faster. However, the values
|
|
50
|
+
stored in the newly allocated matrix are arbitrary. For reproducible
|
|
51
|
+
behavior, be sure to set each element of the matrix before reading.
|
|
52
|
+
|
|
53
|
+
Examples
|
|
54
|
+
--------
|
|
55
|
+
>>> import numpy.matlib
|
|
56
|
+
>>> np.matlib.empty((2, 2)) # filled with random data
|
|
57
|
+
matrix([[ 6.76425276e-320, 9.79033856e-307], # random
|
|
58
|
+
[ 7.39337286e-309, 3.22135945e-309]])
|
|
59
|
+
>>> np.matlib.empty((2, 2), dtype=int)
|
|
60
|
+
matrix([[ 6600475, 0], # random
|
|
61
|
+
[ 6586976, 22740995]])
|
|
62
|
+
|
|
63
|
+
"""
|
|
64
|
+
return ndarray.__new__(matrix, shape, dtype, order=order)
|
|
65
|
+
|
|
66
|
+
def ones(shape, dtype=None, order='C'):
|
|
67
|
+
"""
|
|
68
|
+
Matrix of ones.
|
|
69
|
+
|
|
70
|
+
Return a matrix of given shape and type, filled with ones.
|
|
71
|
+
|
|
72
|
+
Parameters
|
|
73
|
+
----------
|
|
74
|
+
shape : {sequence of ints, int}
|
|
75
|
+
Shape of the matrix
|
|
76
|
+
dtype : data-type, optional
|
|
77
|
+
The desired data-type for the matrix, default is np.float64.
|
|
78
|
+
order : {'C', 'F'}, optional
|
|
79
|
+
Whether to store matrix in C- or Fortran-contiguous order,
|
|
80
|
+
default is 'C'.
|
|
81
|
+
|
|
82
|
+
Returns
|
|
83
|
+
-------
|
|
84
|
+
out : matrix
|
|
85
|
+
Matrix of ones of given shape, dtype, and order.
|
|
86
|
+
|
|
87
|
+
See Also
|
|
88
|
+
--------
|
|
89
|
+
ones : Array of ones.
|
|
90
|
+
matlib.zeros : Zero matrix.
|
|
91
|
+
|
|
92
|
+
Notes
|
|
93
|
+
-----
|
|
94
|
+
If `shape` has length one i.e. ``(N,)``, or is a scalar ``N``,
|
|
95
|
+
`out` becomes a single row matrix of shape ``(1,N)``.
|
|
96
|
+
|
|
97
|
+
Examples
|
|
98
|
+
--------
|
|
99
|
+
>>> np.matlib.ones((2,3))
|
|
100
|
+
matrix([[1., 1., 1.],
|
|
101
|
+
[1., 1., 1.]])
|
|
102
|
+
|
|
103
|
+
>>> np.matlib.ones(2)
|
|
104
|
+
matrix([[1., 1.]])
|
|
105
|
+
|
|
106
|
+
"""
|
|
107
|
+
a = ndarray.__new__(matrix, shape, dtype, order=order)
|
|
108
|
+
a.fill(1)
|
|
109
|
+
return a
|
|
110
|
+
|
|
111
|
+
def zeros(shape, dtype=None, order='C'):
|
|
112
|
+
"""
|
|
113
|
+
Return a matrix of given shape and type, filled with zeros.
|
|
114
|
+
|
|
115
|
+
Parameters
|
|
116
|
+
----------
|
|
117
|
+
shape : int or sequence of ints
|
|
118
|
+
Shape of the matrix
|
|
119
|
+
dtype : data-type, optional
|
|
120
|
+
The desired data-type for the matrix, default is float.
|
|
121
|
+
order : {'C', 'F'}, optional
|
|
122
|
+
Whether to store the result in C- or Fortran-contiguous order,
|
|
123
|
+
default is 'C'.
|
|
124
|
+
|
|
125
|
+
Returns
|
|
126
|
+
-------
|
|
127
|
+
out : matrix
|
|
128
|
+
Zero matrix of given shape, dtype, and order.
|
|
129
|
+
|
|
130
|
+
See Also
|
|
131
|
+
--------
|
|
132
|
+
numpy.zeros : Equivalent array function.
|
|
133
|
+
matlib.ones : Return a matrix of ones.
|
|
134
|
+
|
|
135
|
+
Notes
|
|
136
|
+
-----
|
|
137
|
+
If `shape` has length one i.e. ``(N,)``, or is a scalar ``N``,
|
|
138
|
+
`out` becomes a single row matrix of shape ``(1,N)``.
|
|
139
|
+
|
|
140
|
+
Examples
|
|
141
|
+
--------
|
|
142
|
+
>>> import numpy.matlib
|
|
143
|
+
>>> np.matlib.zeros((2, 3))
|
|
144
|
+
matrix([[0., 0., 0.],
|
|
145
|
+
[0., 0., 0.]])
|
|
146
|
+
|
|
147
|
+
>>> np.matlib.zeros(2)
|
|
148
|
+
matrix([[0., 0.]])
|
|
149
|
+
|
|
150
|
+
"""
|
|
151
|
+
a = ndarray.__new__(matrix, shape, dtype, order=order)
|
|
152
|
+
a.fill(0)
|
|
153
|
+
return a
|
|
154
|
+
|
|
155
|
+
def identity(n, dtype=None):
|
|
156
|
+
"""
|
|
157
|
+
Returns the square identity matrix of given size.
|
|
158
|
+
|
|
159
|
+
Parameters
|
|
160
|
+
----------
|
|
161
|
+
n : int
|
|
162
|
+
Size of the returned identity matrix.
|
|
163
|
+
dtype : data-type, optional
|
|
164
|
+
Data-type of the output. Defaults to ``float``.
|
|
165
|
+
|
|
166
|
+
Returns
|
|
167
|
+
-------
|
|
168
|
+
out : matrix
|
|
169
|
+
`n` x `n` matrix with its main diagonal set to one,
|
|
170
|
+
and all other elements zero.
|
|
171
|
+
|
|
172
|
+
See Also
|
|
173
|
+
--------
|
|
174
|
+
numpy.identity : Equivalent array function.
|
|
175
|
+
matlib.eye : More general matrix identity function.
|
|
176
|
+
|
|
177
|
+
Examples
|
|
178
|
+
--------
|
|
179
|
+
>>> import numpy.matlib
|
|
180
|
+
>>> np.matlib.identity(3, dtype=int)
|
|
181
|
+
matrix([[1, 0, 0],
|
|
182
|
+
[0, 1, 0],
|
|
183
|
+
[0, 0, 1]])
|
|
184
|
+
|
|
185
|
+
"""
|
|
186
|
+
a = array([1] + n * [0], dtype=dtype)
|
|
187
|
+
b = empty((n, n), dtype=dtype)
|
|
188
|
+
b.flat = a
|
|
189
|
+
return b
|
|
190
|
+
|
|
191
|
+
def eye(n, M=None, k=0, dtype=float, order='C'):
|
|
192
|
+
"""
|
|
193
|
+
Return a matrix with ones on the diagonal and zeros elsewhere.
|
|
194
|
+
|
|
195
|
+
Parameters
|
|
196
|
+
----------
|
|
197
|
+
n : int
|
|
198
|
+
Number of rows in the output.
|
|
199
|
+
M : int, optional
|
|
200
|
+
Number of columns in the output, defaults to `n`.
|
|
201
|
+
k : int, optional
|
|
202
|
+
Index of the diagonal: 0 refers to the main diagonal,
|
|
203
|
+
a positive value refers to an upper diagonal,
|
|
204
|
+
and a negative value to a lower diagonal.
|
|
205
|
+
dtype : dtype, optional
|
|
206
|
+
Data-type of the returned matrix.
|
|
207
|
+
order : {'C', 'F'}, optional
|
|
208
|
+
Whether the output should be stored in row-major (C-style) or
|
|
209
|
+
column-major (Fortran-style) order in memory.
|
|
210
|
+
|
|
211
|
+
Returns
|
|
212
|
+
-------
|
|
213
|
+
I : matrix
|
|
214
|
+
A `n` x `M` matrix where all elements are equal to zero,
|
|
215
|
+
except for the `k`-th diagonal, whose values are equal to one.
|
|
216
|
+
|
|
217
|
+
See Also
|
|
218
|
+
--------
|
|
219
|
+
numpy.eye : Equivalent array function.
|
|
220
|
+
identity : Square identity matrix.
|
|
221
|
+
|
|
222
|
+
Examples
|
|
223
|
+
--------
|
|
224
|
+
>>> import numpy.matlib
|
|
225
|
+
>>> np.matlib.eye(3, k=1, dtype=float)
|
|
226
|
+
matrix([[0., 1., 0.],
|
|
227
|
+
[0., 0., 1.],
|
|
228
|
+
[0., 0., 0.]])
|
|
229
|
+
|
|
230
|
+
"""
|
|
231
|
+
return asmatrix(np.eye(n, M=M, k=k, dtype=dtype, order=order))
|
|
232
|
+
|
|
233
|
+
def rand(*args):
|
|
234
|
+
"""
|
|
235
|
+
Return a matrix of random values with given shape.
|
|
236
|
+
|
|
237
|
+
Create a matrix of the given shape and propagate it with
|
|
238
|
+
random samples from a uniform distribution over ``[0, 1)``.
|
|
239
|
+
|
|
240
|
+
Parameters
|
|
241
|
+
----------
|
|
242
|
+
\\*args : Arguments
|
|
243
|
+
Shape of the output.
|
|
244
|
+
If given as N integers, each integer specifies the size of one
|
|
245
|
+
dimension.
|
|
246
|
+
If given as a tuple, this tuple gives the complete shape.
|
|
247
|
+
|
|
248
|
+
Returns
|
|
249
|
+
-------
|
|
250
|
+
out : ndarray
|
|
251
|
+
The matrix of random values with shape given by `\\*args`.
|
|
252
|
+
|
|
253
|
+
See Also
|
|
254
|
+
--------
|
|
255
|
+
randn, numpy.random.RandomState.rand
|
|
256
|
+
|
|
257
|
+
Examples
|
|
258
|
+
--------
|
|
259
|
+
>>> np.random.seed(123)
|
|
260
|
+
>>> import numpy.matlib
|
|
261
|
+
>>> np.matlib.rand(2, 3)
|
|
262
|
+
matrix([[0.69646919, 0.28613933, 0.22685145],
|
|
263
|
+
[0.55131477, 0.71946897, 0.42310646]])
|
|
264
|
+
>>> np.matlib.rand((2, 3))
|
|
265
|
+
matrix([[0.9807642 , 0.68482974, 0.4809319 ],
|
|
266
|
+
[0.39211752, 0.34317802, 0.72904971]])
|
|
267
|
+
|
|
268
|
+
If the first argument is a tuple, other arguments are ignored:
|
|
269
|
+
|
|
270
|
+
>>> np.matlib.rand((2, 3), 4)
|
|
271
|
+
matrix([[0.43857224, 0.0596779 , 0.39804426],
|
|
272
|
+
[0.73799541, 0.18249173, 0.17545176]])
|
|
273
|
+
|
|
274
|
+
"""
|
|
275
|
+
if isinstance(args[0], tuple):
|
|
276
|
+
args = args[0]
|
|
277
|
+
return asmatrix(np.random.rand(*args))
|
|
278
|
+
|
|
279
|
+
def randn(*args):
|
|
280
|
+
"""
|
|
281
|
+
Return a random matrix with data from the "standard normal" distribution.
|
|
282
|
+
|
|
283
|
+
`randn` generates a matrix filled with random floats sampled from a
|
|
284
|
+
univariate "normal" (Gaussian) distribution of mean 0 and variance 1.
|
|
285
|
+
|
|
286
|
+
Parameters
|
|
287
|
+
----------
|
|
288
|
+
\\*args : Arguments
|
|
289
|
+
Shape of the output.
|
|
290
|
+
If given as N integers, each integer specifies the size of one
|
|
291
|
+
dimension. If given as a tuple, this tuple gives the complete shape.
|
|
292
|
+
|
|
293
|
+
Returns
|
|
294
|
+
-------
|
|
295
|
+
Z : matrix of floats
|
|
296
|
+
A matrix of floating-point samples drawn from the standard normal
|
|
297
|
+
distribution.
|
|
298
|
+
|
|
299
|
+
See Also
|
|
300
|
+
--------
|
|
301
|
+
rand, numpy.random.RandomState.randn
|
|
302
|
+
|
|
303
|
+
Notes
|
|
304
|
+
-----
|
|
305
|
+
For random samples from the normal distribution with mean ``mu`` and
|
|
306
|
+
standard deviation ``sigma``, use::
|
|
307
|
+
|
|
308
|
+
sigma * np.matlib.randn(...) + mu
|
|
309
|
+
|
|
310
|
+
Examples
|
|
311
|
+
--------
|
|
312
|
+
>>> np.random.seed(123)
|
|
313
|
+
>>> import numpy.matlib
|
|
314
|
+
>>> np.matlib.randn(1)
|
|
315
|
+
matrix([[-1.0856306]])
|
|
316
|
+
>>> np.matlib.randn(1, 2, 3)
|
|
317
|
+
matrix([[ 0.99734545, 0.2829785 , -1.50629471],
|
|
318
|
+
[-0.57860025, 1.65143654, -2.42667924]])
|
|
319
|
+
|
|
320
|
+
Two-by-four matrix of samples from the normal distribution with
|
|
321
|
+
mean 3 and standard deviation 2.5:
|
|
322
|
+
|
|
323
|
+
>>> 2.5 * np.matlib.randn((2, 4)) + 3
|
|
324
|
+
matrix([[1.92771843, 6.16484065, 0.83314899, 1.30278462],
|
|
325
|
+
[2.76322758, 6.72847407, 1.40274501, 1.8900451 ]])
|
|
326
|
+
|
|
327
|
+
"""
|
|
328
|
+
if isinstance(args[0], tuple):
|
|
329
|
+
args = args[0]
|
|
330
|
+
return asmatrix(np.random.randn(*args))
|
|
331
|
+
|
|
332
|
+
def repmat(a, m, n):
|
|
333
|
+
"""
|
|
334
|
+
Repeat a 0-D to 2-D array or matrix MxN times.
|
|
335
|
+
|
|
336
|
+
Parameters
|
|
337
|
+
----------
|
|
338
|
+
a : array_like
|
|
339
|
+
The array or matrix to be repeated.
|
|
340
|
+
m, n : int
|
|
341
|
+
The number of times `a` is repeated along the first and second axes.
|
|
342
|
+
|
|
343
|
+
Returns
|
|
344
|
+
-------
|
|
345
|
+
out : ndarray
|
|
346
|
+
The result of repeating `a`.
|
|
347
|
+
|
|
348
|
+
Examples
|
|
349
|
+
--------
|
|
350
|
+
>>> import numpy.matlib
|
|
351
|
+
>>> a0 = np.array(1)
|
|
352
|
+
>>> np.matlib.repmat(a0, 2, 3)
|
|
353
|
+
array([[1, 1, 1],
|
|
354
|
+
[1, 1, 1]])
|
|
355
|
+
|
|
356
|
+
>>> a1 = np.arange(4)
|
|
357
|
+
>>> np.matlib.repmat(a1, 2, 2)
|
|
358
|
+
array([[0, 1, 2, 3, 0, 1, 2, 3],
|
|
359
|
+
[0, 1, 2, 3, 0, 1, 2, 3]])
|
|
360
|
+
|
|
361
|
+
>>> a2 = np.asmatrix(np.arange(6).reshape(2, 3))
|
|
362
|
+
>>> np.matlib.repmat(a2, 2, 3)
|
|
363
|
+
matrix([[0, 1, 2, 0, 1, 2, 0, 1, 2],
|
|
364
|
+
[3, 4, 5, 3, 4, 5, 3, 4, 5],
|
|
365
|
+
[0, 1, 2, 0, 1, 2, 0, 1, 2],
|
|
366
|
+
[3, 4, 5, 3, 4, 5, 3, 4, 5]])
|
|
367
|
+
|
|
368
|
+
"""
|
|
369
|
+
a = asanyarray(a)
|
|
370
|
+
ndim = a.ndim
|
|
371
|
+
if ndim == 0:
|
|
372
|
+
origrows, origcols = (1, 1)
|
|
373
|
+
elif ndim == 1:
|
|
374
|
+
origrows, origcols = (1, a.shape[0])
|
|
375
|
+
else:
|
|
376
|
+
origrows, origcols = a.shape
|
|
377
|
+
rows = origrows * m
|
|
378
|
+
cols = origcols * n
|
|
379
|
+
c = a.reshape(1, a.size).repeat(m, 0).reshape(rows, origcols).repeat(n, 0)
|
|
380
|
+
return c.reshape(rows, cols)
|