numpy 1.9.2__zip → 1.10.0__zip
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-1.10.0.post2/INSTALL.txt +200 -0
- numpy-1.10.0.post2/LICENSE.txt +30 -0
- numpy-1.10.0.post2/MANIFEST.in +31 -0
- numpy-1.10.0.post2/PKG-INFO +47 -0
- numpy-1.10.0.post2/cnew.txt +117 -0
- numpy-1.10.0.post2/cold.txt +44 -0
- numpy-1.10.0.post2/committers.txt +160 -0
- numpy-1.10.0.post2/cpre.txt +283 -0
- numpy-1.10.0.post2/crel.txt +161 -0
- numpy-1.10.0.post2/doc/release/1.10.0-notes.rst +439 -0
- numpy-1.10.0.post2/doc/scipy-sphinx-theme/.git +1 -0
- numpy-1.10.0.post2/doc/source/conf.py +331 -0
- numpy-1.10.0.post2/doc/source/dev/development_environment.rst +211 -0
- numpy-1.10.0.post2/doc/source/dev/gitwash/development_workflow.rst +534 -0
- numpy-1.10.0.post2/doc/source/dev/gitwash/git_links.inc +95 -0
- numpy-1.10.0.post2/doc/source/dev/gitwash/index.rst +14 -0
- numpy-1.10.0.post2/doc/source/dev/index.rst +11 -0
- numpy-1.10.0.post2/doc/source/reference/arrays.classes.rst +490 -0
- numpy-1.10.0.post2/doc/source/reference/arrays.dtypes.rst +536 -0
- numpy-1.10.0.post2/doc/source/reference/arrays.indexing.rst +549 -0
- numpy-1.10.0.post2/doc/source/reference/arrays.interface.rst +337 -0
- numpy-1.10.0.post2/doc/source/reference/arrays.ndarray.rst +622 -0
- numpy-1.10.0.post2/doc/source/reference/arrays.scalars.rst +291 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.array.rst +3393 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.config.rst +103 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.coremath.rst +420 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.dtype.rst +376 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.generalized-ufuncs.rst +191 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.iterator.rst +1300 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.types-and-structures.rst +1240 -0
- numpy-1.10.0.post2/doc/source/reference/c-api.ufunc.rst +413 -0
- numpy-1.10.0.post2/doc/source/reference/index.rst +43 -0
- numpy-1.10.0.post2/doc/source/reference/internals.code-explanations.rst +615 -0
- numpy-1.10.0.post2/doc/source/reference/routines.array-manipulation.rst +115 -0
- numpy-1.10.0.post2/doc/source/reference/routines.io.rst +78 -0
- numpy-1.10.0.post2/doc/source/reference/routines.linalg.rst +91 -0
- numpy-1.10.0.post2/doc/source/reference/routines.ma.rst +407 -0
- numpy-1.10.0.post2/doc/source/reference/routines.sort.rst +41 -0
- numpy-1.10.0.post2/doc/source/reference/routines.statistics.rst +57 -0
- numpy-1.10.0.post2/doc/source/reference/swig.interface-file.rst +1066 -0
- numpy-1.10.0.post2/doc/source/reference/swig.testing.rst +167 -0
- numpy-1.10.0.post2/doc/source/reference/ufuncs.rst +666 -0
- numpy-1.10.0.post2/doc/source/release.rst +20 -0
- numpy-1.10.0.post2/doc/source/user/basics.io.genfromtxt.rst +531 -0
- numpy-1.10.0.post2/doc/source/user/basics.rec.rst +7 -0
- numpy-1.10.0.post2/doc/source/user/c-info.beyond-basics.rst +560 -0
- numpy-1.10.0.post2/doc/source/user/c-info.how-to-extend.rst +642 -0
- numpy-1.10.0.post2/doc/source/user/c-info.python-as-glue.rst +1177 -0
- numpy-1.10.0.post2/doc/source/user/c-info.ufunc-tutorial.rst +1211 -0
- numpy-1.10.0.post2/doc/source/user/install.rst +194 -0
- numpy-1.10.0.post2/doc/sphinxext/.git +1 -0
- numpy-1.10.0.post2/numpy/__init__.py +227 -0
- numpy-1.10.0.post2/numpy/_build_utils/README +8 -0
- numpy-1.10.0.post2/numpy/_build_utils/apple_accelerate.py +21 -0
- numpy-1.10.0.post2/numpy/_build_utils/common.py +138 -0
- numpy-1.10.0.post2/numpy/_build_utils/src/apple_sgemv_fix.c +227 -0
- numpy-1.10.0.post2/numpy/_build_utils/waf.py +531 -0
- numpy-1.10.0.post2/numpy/_import_tools.py +353 -0
- numpy-1.10.0.post2/numpy/add_newdocs.py +7611 -0
- numpy-1.10.0.post2/numpy/compat/_inspect.py +194 -0
- numpy-1.10.0.post2/numpy/compat/py3k.py +88 -0
- numpy-1.10.0.post2/numpy/compat/setup.py +12 -0
- numpy-1.10.0.post2/numpy/core/__init__.py +89 -0
- numpy-1.10.0.post2/numpy/core/_internal.py +761 -0
- numpy-1.10.0.post2/numpy/core/_methods.py +133 -0
- numpy-1.10.0.post2/numpy/core/arrayprint.py +760 -0
- numpy-1.10.0.post2/numpy/core/code_generators/cversions.txt +34 -0
- numpy-1.10.0.post2/numpy/core/code_generators/generate_ufunc_api.py +219 -0
- numpy-1.10.0.post2/numpy/core/code_generators/generate_umath.py +1017 -0
- numpy-1.10.0.post2/numpy/core/code_generators/numpy_api.py +415 -0
- numpy-1.10.0.post2/numpy/core/code_generators/ufunc_docstrings.py +3442 -0
- numpy-1.10.0.post2/numpy/core/defchararray.py +2689 -0
- numpy-1.10.0.post2/numpy/core/fromnumeric.py +3089 -0
- numpy-1.10.0.post2/numpy/core/function_base.py +203 -0
- numpy-1.10.0.post2/numpy/core/getlimits.py +308 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/ndarrayobject.h +246 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/ndarraytypes.h +1797 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/npy_3kcompat.h +448 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/npy_common.h +1051 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/npy_cpu.h +92 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/npy_endian.h +61 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/npy_math.h +525 -0
- numpy-1.10.0.post2/numpy/core/include/numpy/numpyconfig.h +36 -0
- numpy-1.10.0.post2/numpy/core/machar.py +342 -0
- numpy-1.10.0.post2/numpy/core/memmap.py +311 -0
- numpy-1.10.0.post2/numpy/core/numeric.py +2893 -0
- numpy-1.10.0.post2/numpy/core/numerictypes.py +1036 -0
- numpy-1.10.0.post2/numpy/core/records.py +846 -0
- numpy-1.10.0.post2/numpy/core/setup.py +983 -0
- numpy-1.10.0.post2/numpy/core/setup_common.py +352 -0
- numpy-1.10.0.post2/numpy/core/shape_base.py +350 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/alloc.c +244 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/arrayobject.c +1858 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.c.src +4738 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.h +37 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/buffer.c +981 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/calculation.c +1224 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.c +812 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.h +10 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/common.c +911 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/common.h +250 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.c +1664 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.h +24 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/conversion_utils.c +1217 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/convert.c +590 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/convert_datatype.c +2155 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/ctors.c +3838 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/datetime.c +3821 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busday.c +1322 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busdaycal.c +552 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_strings.c +1772 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/descriptor.c +3719 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/dtype_transfer.c +4239 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/einsum.c.src +3005 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/getset.c +986 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/hashdescr.c +318 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/item_selection.c +2413 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/iterators.c +2192 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +1769 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.c +3380 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.h +77 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/methods.c +2514 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/multiarray_tests.c.src +1035 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.c +4628 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.h +15 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_api.c +2809 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_constr.c +3160 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_pywrap.c +2499 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/number.c +1106 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/number.h +77 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/numpymemoryview.c +308 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/numpyos.c +683 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/scalarapi.c +870 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.c.src +4343 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.h +55 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/shape.c +1131 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/ucsnarrow.c +174 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.c +180 -0
- numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.h +18 -0
- numpy-1.10.0.post2/numpy/core/src/npymath/ieee754.c.src +808 -0
- numpy-1.10.0.post2/numpy/core/src/npymath/npy_math.c.src +597 -0
- numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_complex.c.src +1788 -0
- numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_private.h +544 -0
- numpy-1.10.0.post2/numpy/core/src/npysort/heapsort.c.src +402 -0
- numpy-1.10.0.post2/numpy/core/src/npysort/mergesort.c.src +488 -0
- numpy-1.10.0.post2/numpy/core/src/npysort/npysort_common.h +360 -0
- numpy-1.10.0.post2/numpy/core/src/npysort/quicksort.c.src +523 -0
- numpy-1.10.0.post2/numpy/core/src/npysort/selection.c.src +426 -0
- numpy-1.10.0.post2/numpy/core/src/private/npy_cblas.h +584 -0
- numpy-1.10.0.post2/numpy/core/src/private/npy_config.h +101 -0
- numpy-1.10.0.post2/numpy/core/src/private/npy_import.h +32 -0
- numpy-1.10.0.post2/numpy/core/src/private/npy_partition.h.src +122 -0
- numpy-1.10.0.post2/numpy/core/src/private/npy_sort.h +196 -0
- numpy-1.10.0.post2/numpy/core/src/private/templ_common.h.src +43 -0
- numpy-1.10.0.post2/numpy/core/src/private/ufunc_override.h +397 -0
- numpy-1.10.0.post2/numpy/core/src/umath/funcs.inc.src +356 -0
- numpy-1.10.0.post2/numpy/core/src/umath/loops.c.src +2675 -0
- numpy-1.10.0.post2/numpy/core/src/umath/loops.h.src +497 -0
- numpy-1.10.0.post2/numpy/core/src/umath/operand_flag_tests.c.src +105 -0
- numpy-1.10.0.post2/numpy/core/src/umath/scalarmath.c.src +1738 -0
- numpy-1.10.0.post2/numpy/core/src/umath/simd.inc.src +903 -0
- numpy-1.10.0.post2/numpy/core/src/umath/test_rational.c.src +1404 -0
- numpy-1.10.0.post2/numpy/core/src/umath/ufunc_object.c +5703 -0
- numpy-1.10.0.post2/numpy/core/src/umath/ufunc_type_resolution.c +2159 -0
- numpy-1.10.0.post2/numpy/core/src/umath/umath_tests.c.src +392 -0
- numpy-1.10.0.post2/numpy/core/src/umath/umathmodule.c +443 -0
- numpy-1.10.0.post2/numpy/core/tests/test_abc.py +47 -0
- numpy-1.10.0.post2/numpy/core/tests/test_api.py +515 -0
- numpy-1.10.0.post2/numpy/core/tests/test_arrayprint.py +171 -0
- numpy-1.10.0.post2/numpy/core/tests/test_datetime.py +1820 -0
- numpy-1.10.0.post2/numpy/core/tests/test_defchararray.py +703 -0
- numpy-1.10.0.post2/numpy/core/tests/test_deprecations.py +619 -0
- numpy-1.10.0.post2/numpy/core/tests/test_dtype.py +578 -0
- numpy-1.10.0.post2/numpy/core/tests/test_einsum.py +627 -0
- numpy-1.10.0.post2/numpy/core/tests/test_errstate.py +52 -0
- numpy-1.10.0.post2/numpy/core/tests/test_function_base.py +142 -0
- numpy-1.10.0.post2/numpy/core/tests/test_getlimits.py +77 -0
- numpy-1.10.0.post2/numpy/core/tests/test_half.py +436 -0
- numpy-1.10.0.post2/numpy/core/tests/test_indexerrors.py +126 -0
- numpy-1.10.0.post2/numpy/core/tests/test_indexing.py +1047 -0
- numpy-1.10.0.post2/numpy/core/tests/test_item_selection.py +73 -0
- numpy-1.10.0.post2/numpy/core/tests/test_machar.py +29 -0
- numpy-1.10.0.post2/numpy/core/tests/test_memmap.py +130 -0
- numpy-1.10.0.post2/numpy/core/tests/test_multiarray.py +5924 -0
- numpy-1.10.0.post2/numpy/core/tests/test_multiarray_assignment.py +84 -0
- numpy-1.10.0.post2/numpy/core/tests/test_nditer.py +2638 -0
- numpy-1.10.0.post2/numpy/core/tests/test_numeric.py +2204 -0
- numpy-1.10.0.post2/numpy/core/tests/test_numerictypes.py +382 -0
- numpy-1.10.0.post2/numpy/core/tests/test_print.py +248 -0
- numpy-1.10.0.post2/numpy/core/tests/test_records.py +299 -0
- numpy-1.10.0.post2/numpy/core/tests/test_regression.py +2177 -0
- numpy-1.10.0.post2/numpy/core/tests/test_scalarinherit.py +41 -0
- numpy-1.10.0.post2/numpy/core/tests/test_scalarmath.py +316 -0
- numpy-1.10.0.post2/numpy/core/tests/test_shape_base.py +319 -0
- numpy-1.10.0.post2/numpy/core/tests/test_ufunc.py +1227 -0
- numpy-1.10.0.post2/numpy/core/tests/test_umath.py +1933 -0
- numpy-1.10.0.post2/numpy/core/tests/test_umath_complex.py +538 -0
- numpy-1.10.0.post2/numpy/core/tests/test_unicode.py +360 -0
- numpy-1.10.0.post2/numpy/distutils/__init__.py +23 -0
- numpy-1.10.0.post2/numpy/distutils/ccompiler.py +690 -0
- numpy-1.10.0.post2/numpy/distutils/command/autodist.py +94 -0
- numpy-1.10.0.post2/numpy/distutils/command/build.py +47 -0
- numpy-1.10.0.post2/numpy/distutils/command/build_clib.py +295 -0
- numpy-1.10.0.post2/numpy/distutils/command/build_ext.py +522 -0
- numpy-1.10.0.post2/numpy/distutils/command/config.py +437 -0
- numpy-1.10.0.post2/numpy/distutils/exec_command.py +651 -0
- numpy-1.10.0.post2/numpy/distutils/fcompiler/compaq.py +128 -0
- numpy-1.10.0.post2/numpy/distutils/fcompiler/gnu.py +403 -0
- numpy-1.10.0.post2/numpy/distutils/fcompiler/intel.py +217 -0
- numpy-1.10.0.post2/numpy/distutils/fcompiler/pg.py +63 -0
- numpy-1.10.0.post2/numpy/distutils/fcompiler/sun.py +55 -0
- numpy-1.10.0.post2/numpy/distutils/intelccompiler.py +95 -0
- numpy-1.10.0.post2/numpy/distutils/lib2def.py +116 -0
- numpy-1.10.0.post2/numpy/distutils/mingw32ccompiler.py +599 -0
- numpy-1.10.0.post2/numpy/distutils/misc_util.py +2306 -0
- numpy-1.10.0.post2/numpy/distutils/msvc9compiler.py +23 -0
- numpy-1.10.0.post2/numpy/distutils/msvccompiler.py +17 -0
- numpy-1.10.0.post2/numpy/distutils/npy_pkg_config.py +451 -0
- numpy-1.10.0.post2/numpy/distutils/system_info.py +2397 -0
- numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +12 -0
- numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +11 -0
- numpy-1.10.0.post2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +11 -0
- numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +13 -0
- numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/__init__.py +1 -0
- numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example.py +17 -0
- numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example2.py +15 -0
- numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_gnu.py +60 -0
- numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_intel.py +36 -0
- numpy-1.10.0.post2/numpy/distutils/tests/test_misc_util.py +79 -0
- numpy-1.10.0.post2/numpy/distutils/tests/test_npy_pkg_config.py +102 -0
- numpy-1.10.0.post2/numpy/distutils/tests/test_system_info.py +209 -0
- numpy-1.10.0.post2/numpy/distutils/unixccompiler.py +125 -0
- numpy-1.10.0.post2/numpy/doc/byteswapping.py +156 -0
- numpy-1.10.0.post2/numpy/doc/creation.py +144 -0
- numpy-1.10.0.post2/numpy/doc/glossary.py +423 -0
- numpy-1.10.0.post2/numpy/doc/indexing.py +439 -0
- numpy-1.10.0.post2/numpy/doc/structured_arrays.py +290 -0
- numpy-1.10.0.post2/numpy/f2py/__init__.py +49 -0
- numpy-1.10.0.post2/numpy/f2py/__main__.py +25 -0
- numpy-1.10.0.post2/numpy/f2py/auxfuncs.py +858 -0
- numpy-1.10.0.post2/numpy/f2py/capi_maps.py +851 -0
- numpy-1.10.0.post2/numpy/f2py/cb_rules.py +554 -0
- numpy-1.10.0.post2/numpy/f2py/cfuncs.py +1261 -0
- numpy-1.10.0.post2/numpy/f2py/common_rules.py +150 -0
- numpy-1.10.0.post2/numpy/f2py/crackfortran.py +3314 -0
- numpy-1.10.0.post2/numpy/f2py/diagnose.py +156 -0
- numpy-1.10.0.post2/numpy/f2py/f2py2e.py +656 -0
- numpy-1.10.0.post2/numpy/f2py/f2py_testing.py +48 -0
- numpy-1.10.0.post2/numpy/f2py/f90mod_rules.py +272 -0
- numpy-1.10.0.post2/numpy/f2py/func2subr.py +299 -0
- numpy-1.10.0.post2/numpy/f2py/rules.py +1475 -0
- numpy-1.10.0.post2/numpy/f2py/setup.py +117 -0
- numpy-1.10.0.post2/numpy/f2py/src/fortranobject.c +1037 -0
- numpy-1.10.0.post2/numpy/f2py/src/fortranobject.h +162 -0
- numpy-1.10.0.post2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +223 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_array_from_pyobj.py +593 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_assumed_shape.py +35 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_callback.py +136 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_kind.py +36 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_mixed.py +40 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_regression.py +34 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_return_character.py +148 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_return_complex.py +170 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_return_integer.py +180 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_return_logical.py +189 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_return_real.py +206 -0
- numpy-1.10.0.post2/numpy/f2py/tests/test_size.py +44 -0
- numpy-1.10.0.post2/numpy/f2py/tests/util.py +367 -0
- numpy-1.10.0.post2/numpy/f2py/use_rules.py +115 -0
- numpy-1.10.0.post2/numpy/fft/fftpack.c +1501 -0
- numpy-1.10.0.post2/numpy/fft/fftpack.h +28 -0
- numpy-1.10.0.post2/numpy/fft/fftpack.py +1241 -0
- numpy-1.10.0.post2/numpy/fft/fftpack_litemodule.c +363 -0
- numpy-1.10.0.post2/numpy/fft/info.py +187 -0
- numpy-1.10.0.post2/numpy/fft/setup.py +19 -0
- numpy-1.10.0.post2/numpy/fft/tests/test_fftpack.py +166 -0
- numpy-1.10.0.post2/numpy/fft/tests/test_helper.py +78 -0
- numpy-1.10.0.post2/numpy/lib/_iotools.py +917 -0
- numpy-1.10.0.post2/numpy/lib/arraypad.py +1497 -0
- numpy-1.10.0.post2/numpy/lib/arraysetops.py +480 -0
- numpy-1.10.0.post2/numpy/lib/arrayterator.py +226 -0
- numpy-1.10.0.post2/numpy/lib/financial.py +737 -0
- numpy-1.10.0.post2/numpy/lib/format.py +814 -0
- numpy-1.10.0.post2/numpy/lib/function_base.py +4150 -0
- numpy-1.10.0.post2/numpy/lib/index_tricks.py +874 -0
- numpy-1.10.0.post2/numpy/lib/info.py +152 -0
- numpy-1.10.0.post2/numpy/lib/nanfunctions.py +1237 -0
- numpy-1.10.0.post2/numpy/lib/npyio.py +1992 -0
- numpy-1.10.0.post2/numpy/lib/polynomial.py +1277 -0
- numpy-1.10.0.post2/numpy/lib/recfunctions.py +1003 -0
- numpy-1.10.0.post2/numpy/lib/setup.py +12 -0
- numpy-1.10.0.post2/numpy/lib/shape_base.py +872 -0
- numpy-1.10.0.post2/numpy/lib/stride_tricks.py +200 -0
- numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npy +0 -0
- numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npz +0 -0
- numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npy +0 -0
- numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npz +0 -0
- numpy-1.10.0.post2/numpy/lib/tests/test__iotools.py +348 -0
- numpy-1.10.0.post2/numpy/lib/tests/test__version.py +70 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_arraypad.py +1047 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_arraysetops.py +309 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_financial.py +163 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_format.py +841 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_function_base.py +2555 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_index_tricks.py +326 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_io.py +1916 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_nanfunctions.py +707 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_packbits.py +26 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_polynomial.py +188 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_recfunctions.py +734 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_shape_base.py +386 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_stride_tricks.py +405 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_twodim_base.py +535 -0
- numpy-1.10.0.post2/numpy/lib/tests/test_type_check.py +332 -0
- numpy-1.10.0.post2/numpy/lib/twodim_base.py +1007 -0
- numpy-1.10.0.post2/numpy/lib/type_check.py +596 -0
- numpy-1.10.0.post2/numpy/lib/utils.py +1122 -0
- numpy-1.10.0.post2/numpy/linalg/lapack_lite/python_xerbla.c +46 -0
- numpy-1.10.0.post2/numpy/linalg/lapack_litemodule.c +358 -0
- numpy-1.10.0.post2/numpy/linalg/linalg.py +2406 -0
- numpy-1.10.0.post2/numpy/linalg/tests/test_build.py +59 -0
- numpy-1.10.0.post2/numpy/linalg/tests/test_linalg.py +1351 -0
- numpy-1.10.0.post2/numpy/linalg/tests/test_regression.py +95 -0
- numpy-1.10.0.post2/numpy/linalg/umath_linalg.c.src +3236 -0
- numpy-1.10.0.post2/numpy/ma/__init__.py +56 -0
- numpy-1.10.0.post2/numpy/ma/bench.py +131 -0
- numpy-1.10.0.post2/numpy/ma/core.py +7608 -0
- numpy-1.10.0.post2/numpy/ma/extras.py +1953 -0
- numpy-1.10.0.post2/numpy/ma/mrecords.py +796 -0
- numpy-1.10.0.post2/numpy/ma/setup.py +13 -0
- numpy-1.10.0.post2/numpy/ma/tests/test_core.py +4100 -0
- numpy-1.10.0.post2/numpy/ma/tests/test_extras.py +1132 -0
- numpy-1.10.0.post2/numpy/ma/tests/test_mrecords.py +520 -0
- numpy-1.10.0.post2/numpy/ma/tests/test_old_ma.py +879 -0
- numpy-1.10.0.post2/numpy/ma/tests/test_regression.py +80 -0
- numpy-1.10.0.post2/numpy/ma/tests/test_subclassing.py +338 -0
- numpy-1.10.0.post2/numpy/ma/testutils.py +289 -0
- numpy-1.10.0.post2/numpy/ma/timer_comparison.py +440 -0
- numpy-1.10.0.post2/numpy/matlib.py +358 -0
- numpy-1.10.0.post2/numpy/matrixlib/defmatrix.py +1232 -0
- numpy-1.10.0.post2/numpy/matrixlib/tests/test_defmatrix.py +449 -0
- numpy-1.10.0.post2/numpy/matrixlib/tests/test_multiarray.py +23 -0
- numpy-1.10.0.post2/numpy/matrixlib/tests/test_numeric.py +23 -0
- numpy-1.10.0.post2/numpy/matrixlib/tests/test_regression.py +37 -0
- numpy-1.10.0.post2/numpy/polynomial/_polybase.py +962 -0
- numpy-1.10.0.post2/numpy/polynomial/chebyshev.py +2056 -0
- numpy-1.10.0.post2/numpy/polynomial/hermite.py +1831 -0
- numpy-1.10.0.post2/numpy/polynomial/hermite_e.py +1828 -0
- numpy-1.10.0.post2/numpy/polynomial/laguerre.py +1780 -0
- numpy-1.10.0.post2/numpy/polynomial/legendre.py +1808 -0
- numpy-1.10.0.post2/numpy/polynomial/polyutils.py +403 -0
- numpy-1.10.0.post2/numpy/random/mtrand/distributions.c +912 -0
- numpy-1.10.0.post2/numpy/random/mtrand/mtrand.c +34805 -0
- numpy-1.10.0.post2/numpy/random/mtrand/mtrand.pyx +4766 -0
- numpy-1.10.0.post2/numpy/random/setup.py +61 -0
- numpy-1.10.0.post2/numpy/random/tests/test_random.py +723 -0
- numpy-1.10.0.post2/numpy/random/tests/test_regression.py +117 -0
- numpy-1.10.0.post2/numpy/setup.py +29 -0
- numpy-1.10.0.post2/numpy/testing/__init__.py +15 -0
- numpy-1.10.0.post2/numpy/testing/decorators.py +271 -0
- numpy-1.10.0.post2/numpy/testing/noseclasses.py +353 -0
- numpy-1.10.0.post2/numpy/testing/nosetester.py +511 -0
- numpy-1.10.0.post2/numpy/testing/print_coercion_tables.py +91 -0
- numpy-1.10.0.post2/numpy/testing/setup.py +20 -0
- numpy-1.10.0.post2/numpy/testing/tests/test_decorators.py +182 -0
- numpy-1.10.0.post2/numpy/testing/tests/test_utils.py +781 -0
- numpy-1.10.0.post2/numpy/testing/utils.py +1831 -0
- numpy-1.10.0.post2/numpy/tests/test_ctypeslib.py +106 -0
- numpy-1.10.0.post2/numpy/tests/test_matlib.py +55 -0
- numpy-1.10.0.post2/numpy/tests/test_scripts.py +69 -0
- numpy-1.10.0.post2/numpy/version.py +10 -0
- numpy-1.10.0.post2/setup.py +260 -0
- numpy-1.10.0.post2/site.cfg.example +193 -0
- numpy-1.10.0.post2/tmp.txt +789 -0
- numpy-1.10.0.post2/tools/swig/README +145 -0
- numpy-1.10.0.post2/tools/swig/numpy.i +3161 -0
- numpy-1.10.0.post2/tools/swig/test/Array.i +135 -0
- numpy-1.10.0.post2/tools/swig/test/ArrayZ.cxx +131 -0
- numpy-1.10.0.post2/tools/swig/test/ArrayZ.h +56 -0
- numpy-1.10.0.post2/tools/swig/test/Flat.cxx +36 -0
- numpy-1.10.0.post2/tools/swig/test/Flat.h +34 -0
- numpy-1.10.0.post2/tools/swig/test/Flat.i +36 -0
- numpy-1.10.0.post2/tools/swig/test/Makefile +37 -0
- numpy-1.10.0.post2/tools/swig/test/setup.py +71 -0
- numpy-1.10.0.post2/tools/swig/test/testArray.py +385 -0
- numpy-1.10.0.post2/tools/swig/test/testFarray.py +159 -0
- numpy-1.10.0.post2/tools/swig/test/testFlat.py +200 -0
- numpy-1.10.0.post2/tools/swig/test/testFortran.py +173 -0
- numpy-1.10.0.post2/tools/swig/test/testMatrix.py +362 -0
- numpy-1.10.0.post2/tools/swig/test/testSuperTensor.py +388 -0
- numpy-1.10.0.post2/tools/swig/test/testTensor.py +402 -0
- numpy-1.10.0.post2/tools/swig/test/testVector.py +381 -0
- numpy-1.9.2/INSTALL.txt +0 -138
- numpy-1.9.2/LICENSE.txt +0 -30
- numpy-1.9.2/MANIFEST.in +0 -26
- numpy-1.9.2/PKG-INFO +0 -39
- numpy-1.9.2/doc/scipy-sphinx-theme/.git +0 -1
- numpy-1.9.2/doc/source/conf.py +0 -331
- numpy-1.9.2/doc/source/dev/gitwash/branch_list.png +0 -0
- numpy-1.9.2/doc/source/dev/gitwash/branch_list_compare.png +0 -0
- numpy-1.9.2/doc/source/dev/gitwash/development_workflow.rst +0 -568
- numpy-1.9.2/doc/source/dev/gitwash/git_links.inc +0 -88
- numpy-1.9.2/doc/source/dev/gitwash/index.rst +0 -14
- numpy-1.9.2/doc/source/dev/index.rst +0 -10
- numpy-1.9.2/doc/source/reference/arrays.classes.rst +0 -427
- numpy-1.9.2/doc/source/reference/arrays.dtypes.rst +0 -534
- numpy-1.9.2/doc/source/reference/arrays.indexing.rst +0 -550
- numpy-1.9.2/doc/source/reference/arrays.interface.rst +0 -336
- numpy-1.9.2/doc/source/reference/arrays.ndarray.rst +0 -609
- numpy-1.9.2/doc/source/reference/arrays.scalars.rst +0 -291
- numpy-1.9.2/doc/source/reference/c-api.array.rst +0 -3362
- numpy-1.9.2/doc/source/reference/c-api.config.rst +0 -103
- numpy-1.9.2/doc/source/reference/c-api.coremath.rst +0 -420
- numpy-1.9.2/doc/source/reference/c-api.dtype.rst +0 -376
- numpy-1.9.2/doc/source/reference/c-api.generalized-ufuncs.rst +0 -171
- numpy-1.9.2/doc/source/reference/c-api.iterator.rst +0 -1298
- numpy-1.9.2/doc/source/reference/c-api.types-and-structures.rst +0 -1204
- numpy-1.9.2/doc/source/reference/c-api.ufunc.rst +0 -399
- numpy-1.9.2/doc/source/reference/index.rst +0 -44
- numpy-1.9.2/doc/source/reference/internals.code-explanations.rst +0 -666
- numpy-1.9.2/doc/source/reference/routines.array-manipulation.rst +0 -113
- numpy-1.9.2/doc/source/reference/routines.io.rst +0 -74
- numpy-1.9.2/doc/source/reference/routines.linalg.rst +0 -88
- numpy-1.9.2/doc/source/reference/routines.ma.rst +0 -405
- numpy-1.9.2/doc/source/reference/routines.sort.rst +0 -42
- numpy-1.9.2/doc/source/reference/routines.statistics.rst +0 -55
- numpy-1.9.2/doc/source/reference/swig.interface-file.rst +0 -1055
- numpy-1.9.2/doc/source/reference/swig.testing.rst +0 -166
- numpy-1.9.2/doc/source/reference/ufuncs.rst +0 -651
- numpy-1.9.2/doc/source/release.rst +0 -19
- numpy-1.9.2/doc/source/user/basics.io.genfromtxt.rst +0 -531
- numpy-1.9.2/doc/source/user/basics.rec.rst +0 -7
- numpy-1.9.2/doc/source/user/c-info.beyond-basics.rst +0 -560
- numpy-1.9.2/doc/source/user/c-info.how-to-extend.rst +0 -642
- numpy-1.9.2/doc/source/user/c-info.python-as-glue.rst +0 -1528
- numpy-1.9.2/doc/source/user/c-info.ufunc-tutorial.rst +0 -1211
- numpy-1.9.2/doc/source/user/install.rst +0 -180
- numpy-1.9.2/doc/sphinxext/.git +0 -1
- numpy-1.9.2/numpy/__init__.py +0 -216
- numpy-1.9.2/numpy/_import_tools.py +0 -348
- numpy-1.9.2/numpy/add_newdocs.py +0 -7518
- numpy-1.9.2/numpy/compat/_inspect.py +0 -221
- numpy-1.9.2/numpy/compat/py3k.py +0 -89
- numpy-1.9.2/numpy/compat/setup.py +0 -12
- numpy-1.9.2/numpy/core/__init__.py +0 -78
- numpy-1.9.2/numpy/core/_internal.py +0 -570
- numpy-1.9.2/numpy/core/_methods.py +0 -134
- numpy-1.9.2/numpy/core/arrayprint.py +0 -752
- numpy-1.9.2/numpy/core/blasdot/_dotblas.c +0 -1255
- numpy-1.9.2/numpy/core/blasdot/apple_sgemv_patch.c +0 -216
- numpy-1.9.2/numpy/core/blasdot/cblas.h +0 -578
- numpy-1.9.2/numpy/core/code_generators/cversions.txt +0 -31
- numpy-1.9.2/numpy/core/code_generators/generate_ufunc_api.py +0 -219
- numpy-1.9.2/numpy/core/code_generators/generate_umath.py +0 -972
- numpy-1.9.2/numpy/core/code_generators/numpy_api.py +0 -412
- numpy-1.9.2/numpy/core/code_generators/ufunc_docstrings.py +0 -3419
- numpy-1.9.2/numpy/core/defchararray.py +0 -2687
- numpy-1.9.2/numpy/core/fromnumeric.py +0 -2938
- numpy-1.9.2/numpy/core/function_base.py +0 -190
- numpy-1.9.2/numpy/core/getlimits.py +0 -306
- numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.c +0 -38
- numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.h +0 -224
- numpy-1.9.2/numpy/core/include/numpy/ndarrayobject.h +0 -237
- numpy-1.9.2/numpy/core/include/numpy/ndarraytypes.h +0 -1820
- numpy-1.9.2/numpy/core/include/numpy/npy_3kcompat.h +0 -506
- numpy-1.9.2/numpy/core/include/numpy/npy_common.h +0 -1038
- numpy-1.9.2/numpy/core/include/numpy/npy_cpu.h +0 -122
- numpy-1.9.2/numpy/core/include/numpy/npy_endian.h +0 -49
- numpy-1.9.2/numpy/core/include/numpy/npy_math.h +0 -479
- numpy-1.9.2/numpy/core/include/numpy/numpyconfig.h +0 -35
- numpy-1.9.2/numpy/core/machar.py +0 -338
- numpy-1.9.2/numpy/core/memmap.py +0 -308
- numpy-1.9.2/numpy/core/numeric.py +0 -2842
- numpy-1.9.2/numpy/core/numerictypes.py +0 -1042
- numpy-1.9.2/numpy/core/records.py +0 -804
- numpy-1.9.2/numpy/core/setup.py +0 -1016
- numpy-1.9.2/numpy/core/setup_common.py +0 -321
- numpy-1.9.2/numpy/core/shape_base.py +0 -277
- numpy-1.9.2/numpy/core/src/multiarray/alloc.c +0 -241
- numpy-1.9.2/numpy/core/src/multiarray/arrayobject.c +0 -1791
- numpy-1.9.2/numpy/core/src/multiarray/arraytypes.c.src +0 -4372
- numpy-1.9.2/numpy/core/src/multiarray/arraytypes.h +0 -13
- numpy-1.9.2/numpy/core/src/multiarray/buffer.c +0 -954
- numpy-1.9.2/numpy/core/src/multiarray/calculation.c +0 -1229
- numpy-1.9.2/numpy/core/src/multiarray/common.c +0 -798
- numpy-1.9.2/numpy/core/src/multiarray/common.h +0 -328
- numpy-1.9.2/numpy/core/src/multiarray/conversion_utils.c +0 -1240
- numpy-1.9.2/numpy/core/src/multiarray/convert.c +0 -589
- numpy-1.9.2/numpy/core/src/multiarray/convert_datatype.c +0 -2199
- numpy-1.9.2/numpy/core/src/multiarray/ctors.c +0 -3785
- numpy-1.9.2/numpy/core/src/multiarray/datetime.c +0 -3823
- numpy-1.9.2/numpy/core/src/multiarray/datetime_busday.c +0 -1322
- numpy-1.9.2/numpy/core/src/multiarray/datetime_busdaycal.c +0 -552
- numpy-1.9.2/numpy/core/src/multiarray/datetime_strings.c +0 -1772
- numpy-1.9.2/numpy/core/src/multiarray/descriptor.c +0 -3658
- numpy-1.9.2/numpy/core/src/multiarray/dtype_transfer.c +0 -4232
- numpy-1.9.2/numpy/core/src/multiarray/einsum.c.src +0 -3013
- numpy-1.9.2/numpy/core/src/multiarray/getset.c +0 -984
- numpy-1.9.2/numpy/core/src/multiarray/hashdescr.c +0 -319
- numpy-1.9.2/numpy/core/src/multiarray/item_selection.c +0 -2711
- numpy-1.9.2/numpy/core/src/multiarray/iterators.c +0 -2160
- numpy-1.9.2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +0 -1767
- numpy-1.9.2/numpy/core/src/multiarray/mapping.c +0 -3316
- numpy-1.9.2/numpy/core/src/multiarray/mapping.h +0 -73
- numpy-1.9.2/numpy/core/src/multiarray/methods.c +0 -2497
- numpy-1.9.2/numpy/core/src/multiarray/multiarray_tests.c.src +0 -977
- numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.c +0 -4202
- numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.h +0 -4
- numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule_onefile.c +0 -58
- numpy-1.9.2/numpy/core/src/multiarray/nditer_api.c +0 -2809
- numpy-1.9.2/numpy/core/src/multiarray/nditer_constr.c +0 -3159
- numpy-1.9.2/numpy/core/src/multiarray/nditer_pywrap.c +0 -2492
- numpy-1.9.2/numpy/core/src/multiarray/number.c +0 -1057
- numpy-1.9.2/numpy/core/src/multiarray/number.h +0 -76
- numpy-1.9.2/numpy/core/src/multiarray/numpymemoryview.c +0 -309
- numpy-1.9.2/numpy/core/src/multiarray/numpyos.c +0 -683
- numpy-1.9.2/numpy/core/src/multiarray/scalarapi.c +0 -861
- numpy-1.9.2/numpy/core/src/multiarray/scalartypes.c.src +0 -4270
- numpy-1.9.2/numpy/core/src/multiarray/scalartypes.h +0 -52
- numpy-1.9.2/numpy/core/src/multiarray/shape.c +0 -1141
- numpy-1.9.2/numpy/core/src/multiarray/ucsnarrow.c +0 -173
- numpy-1.9.2/numpy/core/src/npymath/ieee754.c.src +0 -814
- numpy-1.9.2/numpy/core/src/npymath/npy_math.c.src +0 -527
- numpy-1.9.2/numpy/core/src/npymath/npy_math_complex.c.src +0 -291
- numpy-1.9.2/numpy/core/src/npymath/npy_math_private.h +0 -539
- numpy-1.9.2/numpy/core/src/npysort/heapsort.c.src +0 -341
- numpy-1.9.2/numpy/core/src/npysort/mergesort.c.src +0 -428
- numpy-1.9.2/numpy/core/src/npysort/npysort_common.h +0 -367
- numpy-1.9.2/numpy/core/src/npysort/quicksort.c.src +0 -363
- numpy-1.9.2/numpy/core/src/npysort/selection.c.src +0 -474
- numpy-1.9.2/numpy/core/src/private/npy_config.h +0 -44
- numpy-1.9.2/numpy/core/src/private/npy_partition.h.src +0 -138
- numpy-1.9.2/numpy/core/src/private/npy_sort.h +0 -194
- numpy-1.9.2/numpy/core/src/private/scalarmathmodule.h.src +0 -42
- numpy-1.9.2/numpy/core/src/private/ufunc_override.h +0 -384
- numpy-1.9.2/numpy/core/src/scalarmathmodule.c.src +0 -1980
- numpy-1.9.2/numpy/core/src/umath/funcs.inc.src +0 -715
- numpy-1.9.2/numpy/core/src/umath/loops.c.src +0 -2654
- numpy-1.9.2/numpy/core/src/umath/loops.h.src +0 -501
- numpy-1.9.2/numpy/core/src/umath/operand_flag_tests.c.src +0 -105
- numpy-1.9.2/numpy/core/src/umath/simd.inc.src +0 -881
- numpy-1.9.2/numpy/core/src/umath/test_rational.c.src +0 -1404
- numpy-1.9.2/numpy/core/src/umath/ufunc_object.c +0 -5520
- numpy-1.9.2/numpy/core/src/umath/ufunc_type_resolution.c +0 -2164
- numpy-1.9.2/numpy/core/src/umath/umath_tests.c.src +0 -341
- numpy-1.9.2/numpy/core/src/umath/umathmodule.c +0 -561
- numpy-1.9.2/numpy/core/src/umath/umathmodule_onefile.c +0 -6
- numpy-1.9.2/numpy/core/tests/test_abc.py +0 -45
- numpy-1.9.2/numpy/core/tests/test_api.py +0 -514
- numpy-1.9.2/numpy/core/tests/test_arrayprint.py +0 -167
- numpy-1.9.2/numpy/core/tests/test_blasdot.py +0 -249
- numpy-1.9.2/numpy/core/tests/test_datetime.py +0 -1781
- numpy-1.9.2/numpy/core/tests/test_defchararray.py +0 -642
- numpy-1.9.2/numpy/core/tests/test_deprecations.py +0 -512
- numpy-1.9.2/numpy/core/tests/test_dtype.py +0 -542
- numpy-1.9.2/numpy/core/tests/test_einsum.py +0 -583
- numpy-1.9.2/numpy/core/tests/test_errstate.py +0 -51
- numpy-1.9.2/numpy/core/tests/test_function_base.py +0 -111
- numpy-1.9.2/numpy/core/tests/test_getlimits.py +0 -86
- numpy-1.9.2/numpy/core/tests/test_half.py +0 -439
- numpy-1.9.2/numpy/core/tests/test_indexerrors.py +0 -127
- numpy-1.9.2/numpy/core/tests/test_indexing.py +0 -1014
- numpy-1.9.2/numpy/core/tests/test_item_selection.py +0 -70
- numpy-1.9.2/numpy/core/tests/test_machar.py +0 -30
- numpy-1.9.2/numpy/core/tests/test_memmap.py +0 -127
- numpy-1.9.2/numpy/core/tests/test_multiarray.py +0 -4645
- numpy-1.9.2/numpy/core/tests/test_multiarray_assignment.py +0 -80
- numpy-1.9.2/numpy/core/tests/test_nditer.py +0 -2630
- numpy-1.9.2/numpy/core/tests/test_numeric.py +0 -2117
- numpy-1.9.2/numpy/core/tests/test_numerictypes.py +0 -377
- numpy-1.9.2/numpy/core/tests/test_print.py +0 -245
- numpy-1.9.2/numpy/core/tests/test_records.py +0 -185
- numpy-1.9.2/numpy/core/tests/test_regression.py +0 -2108
- numpy-1.9.2/numpy/core/tests/test_scalarinherit.py +0 -34
- numpy-1.9.2/numpy/core/tests/test_scalarmath.py +0 -275
- numpy-1.9.2/numpy/core/tests/test_shape_base.py +0 -250
- numpy-1.9.2/numpy/core/tests/test_ufunc.py +0 -1153
- numpy-1.9.2/numpy/core/tests/test_umath.py +0 -1695
- numpy-1.9.2/numpy/core/tests/test_umath_complex.py +0 -537
- numpy-1.9.2/numpy/core/tests/test_unicode.py +0 -357
- numpy-1.9.2/numpy/distutils/__init__.py +0 -39
- numpy-1.9.2/numpy/distutils/ccompiler.py +0 -656
- numpy-1.9.2/numpy/distutils/command/autodist.py +0 -43
- numpy-1.9.2/numpy/distutils/command/build.py +0 -39
- numpy-1.9.2/numpy/distutils/command/build_clib.py +0 -284
- numpy-1.9.2/numpy/distutils/command/build_ext.py +0 -503
- numpy-1.9.2/numpy/distutils/command/config.py +0 -476
- numpy-1.9.2/numpy/distutils/exec_command.py +0 -618
- numpy-1.9.2/numpy/distutils/fcompiler/compaq.py +0 -128
- numpy-1.9.2/numpy/distutils/fcompiler/gnu.py +0 -390
- numpy-1.9.2/numpy/distutils/fcompiler/intel.py +0 -205
- numpy-1.9.2/numpy/distutils/fcompiler/pg.py +0 -60
- numpy-1.9.2/numpy/distutils/fcompiler/sun.py +0 -52
- numpy-1.9.2/numpy/distutils/intelccompiler.py +0 -45
- numpy-1.9.2/numpy/distutils/lib2def.py +0 -116
- numpy-1.9.2/numpy/distutils/mingw32ccompiler.py +0 -582
- numpy-1.9.2/numpy/distutils/misc_util.py +0 -2271
- numpy-1.9.2/numpy/distutils/npy_pkg_config.py +0 -464
- numpy-1.9.2/numpy/distutils/system_info.py +0 -2319
- numpy-1.9.2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +0 -13
- numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +0 -12
- numpy-1.9.2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +0 -12
- numpy-1.9.2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +0 -14
- numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example.py +0 -18
- numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example2.py +0 -16
- numpy-1.9.2/numpy/distutils/tests/test_fcompiler_gnu.py +0 -53
- numpy-1.9.2/numpy/distutils/tests/test_fcompiler_intel.py +0 -36
- numpy-1.9.2/numpy/distutils/tests/test_misc_util.py +0 -75
- numpy-1.9.2/numpy/distutils/tests/test_npy_pkg_config.py +0 -98
- numpy-1.9.2/numpy/distutils/unixccompiler.py +0 -113
- numpy-1.9.2/numpy/doc/byteswapping.py +0 -147
- numpy-1.9.2/numpy/doc/creation.py +0 -144
- numpy-1.9.2/numpy/doc/glossary.py +0 -418
- numpy-1.9.2/numpy/doc/indexing.py +0 -437
- numpy-1.9.2/numpy/doc/structured_arrays.py +0 -223
- numpy-1.9.2/numpy/f2py/__init__.py +0 -49
- numpy-1.9.2/numpy/f2py/auxfuncs.py +0 -711
- numpy-1.9.2/numpy/f2py/capi_maps.py +0 -773
- numpy-1.9.2/numpy/f2py/cb_rules.py +0 -539
- numpy-1.9.2/numpy/f2py/cfuncs.py +0 -1224
- numpy-1.9.2/numpy/f2py/common_rules.py +0 -132
- numpy-1.9.2/numpy/f2py/crackfortran.py +0 -2870
- numpy-1.9.2/numpy/f2py/diagnose.py +0 -149
- numpy-1.9.2/numpy/f2py/f2py2e.py +0 -598
- numpy-1.9.2/numpy/f2py/f2py_testing.py +0 -46
- numpy-1.9.2/numpy/f2py/f90mod_rules.py +0 -246
- numpy-1.9.2/numpy/f2py/func2subr.py +0 -291
- numpy-1.9.2/numpy/f2py/rules.py +0 -1448
- numpy-1.9.2/numpy/f2py/setup.py +0 -129
- numpy-1.9.2/numpy/f2py/src/fortranobject.c +0 -972
- numpy-1.9.2/numpy/f2py/src/fortranobject.h +0 -162
- numpy-1.9.2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +0 -223
- numpy-1.9.2/numpy/f2py/tests/test_array_from_pyobj.py +0 -559
- numpy-1.9.2/numpy/f2py/tests/test_assumed_shape.py +0 -37
- numpy-1.9.2/numpy/f2py/tests/test_callback.py +0 -132
- numpy-1.9.2/numpy/f2py/tests/test_kind.py +0 -36
- numpy-1.9.2/numpy/f2py/tests/test_mixed.py +0 -41
- numpy-1.9.2/numpy/f2py/tests/test_regression.py +0 -32
- numpy-1.9.2/numpy/f2py/tests/test_return_character.py +0 -142
- numpy-1.9.2/numpy/f2py/tests/test_return_complex.py +0 -169
- numpy-1.9.2/numpy/f2py/tests/test_return_integer.py +0 -178
- numpy-1.9.2/numpy/f2py/tests/test_return_logical.py +0 -187
- numpy-1.9.2/numpy/f2py/tests/test_return_real.py +0 -203
- numpy-1.9.2/numpy/f2py/tests/test_size.py +0 -47
- numpy-1.9.2/numpy/f2py/tests/util.py +0 -353
- numpy-1.9.2/numpy/f2py/use_rules.py +0 -109
- numpy-1.9.2/numpy/fft/fftpack.c +0 -1501
- numpy-1.9.2/numpy/fft/fftpack.h +0 -28
- numpy-1.9.2/numpy/fft/fftpack.py +0 -1169
- numpy-1.9.2/numpy/fft/fftpack_litemodule.c +0 -371
- numpy-1.9.2/numpy/fft/info.py +0 -179
- numpy-1.9.2/numpy/fft/setup.py +0 -20
- numpy-1.9.2/numpy/fft/tests/test_fftpack.py +0 -75
- numpy-1.9.2/numpy/fft/tests/test_helper.py +0 -78
- numpy-1.9.2/numpy/lib/_iotools.py +0 -891
- numpy-1.9.2/numpy/lib/arraypad.py +0 -1475
- numpy-1.9.2/numpy/lib/arraysetops.py +0 -464
- numpy-1.9.2/numpy/lib/arrayterator.py +0 -226
- numpy-1.9.2/numpy/lib/financial.py +0 -737
- numpy-1.9.2/numpy/lib/format.py +0 -771
- numpy-1.9.2/numpy/lib/function_base.py +0 -3884
- numpy-1.9.2/numpy/lib/index_tricks.py +0 -869
- numpy-1.9.2/numpy/lib/info.py +0 -151
- numpy-1.9.2/numpy/lib/nanfunctions.py +0 -1158
- numpy-1.9.2/numpy/lib/npyio.py +0 -1918
- numpy-1.9.2/numpy/lib/polynomial.py +0 -1271
- numpy-1.9.2/numpy/lib/recfunctions.py +0 -1003
- numpy-1.9.2/numpy/lib/setup.py +0 -23
- numpy-1.9.2/numpy/lib/shape_base.py +0 -865
- numpy-1.9.2/numpy/lib/src/_compiled_base.c +0 -1761
- numpy-1.9.2/numpy/lib/stride_tricks.py +0 -123
- numpy-1.9.2/numpy/lib/tests/test__iotools.py +0 -326
- numpy-1.9.2/numpy/lib/tests/test__version.py +0 -57
- numpy-1.9.2/numpy/lib/tests/test_arraypad.py +0 -560
- numpy-1.9.2/numpy/lib/tests/test_arraysetops.py +0 -301
- numpy-1.9.2/numpy/lib/tests/test_financial.py +0 -160
- numpy-1.9.2/numpy/lib/tests/test_format.py +0 -716
- numpy-1.9.2/numpy/lib/tests/test_function_base.py +0 -2145
- numpy-1.9.2/numpy/lib/tests/test_index_tricks.py +0 -289
- numpy-1.9.2/numpy/lib/tests/test_io.py +0 -1754
- numpy-1.9.2/numpy/lib/tests/test_nanfunctions.py +0 -774
- numpy-1.9.2/numpy/lib/tests/test_polynomial.py +0 -177
- numpy-1.9.2/numpy/lib/tests/test_recfunctions.py +0 -705
- numpy-1.9.2/numpy/lib/tests/test_shape_base.py +0 -368
- numpy-1.9.2/numpy/lib/tests/test_stride_tricks.py +0 -238
- numpy-1.9.2/numpy/lib/tests/test_twodim_base.py +0 -504
- numpy-1.9.2/numpy/lib/tests/test_type_check.py +0 -328
- numpy-1.9.2/numpy/lib/twodim_base.py +0 -1003
- numpy-1.9.2/numpy/lib/type_check.py +0 -605
- numpy-1.9.2/numpy/lib/utils.py +0 -1176
- numpy-1.9.2/numpy/linalg/lapack_lite/python_xerbla.c +0 -47
- numpy-1.9.2/numpy/linalg/lapack_litemodule.c +0 -362
- numpy-1.9.2/numpy/linalg/linalg.py +0 -2136
- numpy-1.9.2/numpy/linalg/tests/test_build.py +0 -53
- numpy-1.9.2/numpy/linalg/tests/test_linalg.py +0 -1156
- numpy-1.9.2/numpy/linalg/tests/test_regression.py +0 -90
- numpy-1.9.2/numpy/linalg/umath_linalg.c.src +0 -3210
- numpy-1.9.2/numpy/ma/__init__.py +0 -58
- numpy-1.9.2/numpy/ma/bench.py +0 -166
- numpy-1.9.2/numpy/ma/core.py +0 -7374
- numpy-1.9.2/numpy/ma/extras.py +0 -1932
- numpy-1.9.2/numpy/ma/mrecords.py +0 -734
- numpy-1.9.2/numpy/ma/setup.py +0 -20
- numpy-1.9.2/numpy/ma/tests/test_core.py +0 -3706
- numpy-1.9.2/numpy/ma/tests/test_extras.py +0 -954
- numpy-1.9.2/numpy/ma/tests/test_mrecords.py +0 -521
- numpy-1.9.2/numpy/ma/tests/test_old_ma.py +0 -869
- numpy-1.9.2/numpy/ma/tests/test_regression.py +0 -75
- numpy-1.9.2/numpy/ma/tests/test_subclassing.py +0 -236
- numpy-1.9.2/numpy/ma/testutils.py +0 -240
- numpy-1.9.2/numpy/ma/timer_comparison.py +0 -459
- numpy-1.9.2/numpy/matlib.py +0 -358
- numpy-1.9.2/numpy/matrixlib/defmatrix.py +0 -1094
- numpy-1.9.2/numpy/matrixlib/tests/test_defmatrix.py +0 -400
- numpy-1.9.2/numpy/matrixlib/tests/test_multiarray.py +0 -18
- numpy-1.9.2/numpy/matrixlib/tests/test_numeric.py +0 -10
- numpy-1.9.2/numpy/matrixlib/tests/test_regression.py +0 -34
- numpy-1.9.2/numpy/polynomial/_polybase.py +0 -962
- numpy-1.9.2/numpy/polynomial/chebyshev.py +0 -2056
- numpy-1.9.2/numpy/polynomial/hermite.py +0 -1789
- numpy-1.9.2/numpy/polynomial/hermite_e.py +0 -1786
- numpy-1.9.2/numpy/polynomial/laguerre.py +0 -1781
- numpy-1.9.2/numpy/polynomial/legendre.py +0 -1809
- numpy-1.9.2/numpy/polynomial/polytemplate.py +0 -927
- numpy-1.9.2/numpy/polynomial/polyutils.py +0 -403
- numpy-1.9.2/numpy/random/mtrand/distributions.c +0 -892
- numpy-1.9.2/numpy/random/mtrand/mtrand.c +0 -31204
- numpy-1.9.2/numpy/random/mtrand/mtrand.pyx +0 -4706
- numpy-1.9.2/numpy/random/setup.py +0 -74
- numpy-1.9.2/numpy/random/tests/test_random.py +0 -707
- numpy-1.9.2/numpy/random/tests/test_regression.py +0 -86
- numpy-1.9.2/numpy/setup.py +0 -27
- numpy-1.9.2/numpy/testing/__init__.py +0 -16
- numpy-1.9.2/numpy/testing/decorators.py +0 -271
- numpy-1.9.2/numpy/testing/noseclasses.py +0 -353
- numpy-1.9.2/numpy/testing/nosetester.py +0 -504
- numpy-1.9.2/numpy/testing/print_coercion_tables.py +0 -89
- numpy-1.9.2/numpy/testing/setup.py +0 -20
- numpy-1.9.2/numpy/testing/tests/test_decorators.py +0 -185
- numpy-1.9.2/numpy/testing/tests/test_utils.py +0 -558
- numpy-1.9.2/numpy/testing/utils.py +0 -1715
- numpy-1.9.2/numpy/tests/test_ctypeslib.py +0 -102
- numpy-1.9.2/numpy/tests/test_matlib.py +0 -55
- numpy-1.9.2/numpy/version.py +0 -10
- numpy-1.9.2/setup.py +0 -251
- numpy-1.9.2/site.cfg.example +0 -157
- numpy-1.9.2/tools/swig/README +0 -135
- numpy-1.9.2/tools/swig/numpy.i +0 -3085
- numpy-1.9.2/tools/swig/test/Array.i +0 -102
- numpy-1.9.2/tools/swig/test/Makefile +0 -34
- numpy-1.9.2/tools/swig/test/setup.py +0 -64
- numpy-1.9.2/tools/swig/test/testArray.py +0 -284
- numpy-1.9.2/tools/swig/test/testFarray.py +0 -159
- numpy-1.9.2/tools/swig/test/testFortran.py +0 -173
- numpy-1.9.2/tools/swig/test/testMatrix.py +0 -362
- numpy-1.9.2/tools/swig/test/testSuperTensor.py +0 -388
- numpy-1.9.2/tools/swig/test/testTensor.py +0 -402
- numpy-1.9.2/tools/swig/test/testVector.py +0 -381
- {numpy-1.9.2 → numpy-1.10.0.post2}/BENTO_BUILD.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/COMPATIBILITY +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/DEV_README.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/README.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/THANKS.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/Makefile +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/BUGS.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/FAQ.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/HISTORY.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Makefile +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/OLDNEWS.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/README.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-1.x.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-2.x.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-3.x.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-4.x.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TESTING.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/THANKS.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TODO.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/apps.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/bugs.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/collectinput.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/commands.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/default.css +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/docutils.conf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/arr.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/bar.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foo.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar-smart.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobarmodule.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/runme +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py.1 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py2e.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/README.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/aerostructure.jpg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/flow.jpg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_html.sh +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_pdf.sh +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_ps.sh +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1mess.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1session.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foo.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foom.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/structure.jpg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/fortranobject.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/hello.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/index.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/intro.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/array_from_pyobj.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/bar.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/foo.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fortran_array_from_pyobj.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fun.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/run.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/transpose.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarrays.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/notes.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/oldnews.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/options.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pyforttest.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pytest.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/python9.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/signaturefile.tex +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/using_F_compiler.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/win32_notes.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/postprocess.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.3.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.4.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.5.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.1-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.2-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.1-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.2-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.1-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.2-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.0-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.1-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.2-notes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/time_based_proposal.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.gitignore +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/Makefile +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/README.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_static/scipyshiny_small.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/layout.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/searchbox.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/sourcelink.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/extend.css +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/pygments.css +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/scipy-central.css +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-bootstrap.css +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-extend.css +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/all-icons.svg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/contents.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/create-new-account-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon-shrunk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.svg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiniest.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiny.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ad.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ae.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-af.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ag.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ai.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-al.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-am.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ao.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aq.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ar.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-as.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-at.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-au.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-az.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ba.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bb.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bd.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-be.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bh.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bi.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bj.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bo.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-br.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bs.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bt.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-by.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ca.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cd.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ch.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ci.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ck.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-co.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cv.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cx.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cy.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-de.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dj.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-do.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ec.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ee.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-eg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-er.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-es.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-et.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fi.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fj.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fo.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ga.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gb.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gd.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ge.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gh.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gi.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gq.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gs.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gt.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gy.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ht.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-id.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ie.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-il.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-im.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-in.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-io.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-iq.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ir.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-is.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-it.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-je.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jo.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jp.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ke.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kh.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ki.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-km.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kp.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ky.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-la.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lb.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-li.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ls.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lt.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lv.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ly.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ma.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-md.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-me.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mh.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ml.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mo.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mp.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mq.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ms.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mt.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mv.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mx.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-my.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-na.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ne.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ng.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ni.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-no.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-np.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-om.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pa.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pe.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ph.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ps.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pt.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-py.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-qa.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-re.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ro.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rs.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ru.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sa.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sb.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sd.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-se.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sh.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-si.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sj.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-so.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-st.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sv.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sy.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-td.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-th.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tj.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tl.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-to.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tr.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tt.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tv.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ua.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ug.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-um.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-us.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uy.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uz.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-va.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vc.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ve.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vg.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vi.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vn.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vu.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-wf.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ws.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ye.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-za.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zm.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zw.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings-white.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/important-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/information-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/internet-web-browser.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon-shrunk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.svg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon-tiny.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/navigation.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon-tiny.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy-logo.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy_org_logo.gif +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipycentral_logo.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipyshiny_small.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/send-email-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon-shrunk.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.svg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiniest.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiny.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/transparent-pixel.gif +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/ui-anim_basic_16x16.gif +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/js/copybutton.js +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/accordion.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/alerts.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/bootstrap.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/breadcrumbs.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/button-groups.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/buttons.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/carousel.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/close.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/code.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/component-animations.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/dropdowns.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/forms.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/grid.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/hero-unit.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/labels-badges.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/layouts.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/media.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/mixins.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/modals.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navbar.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navs.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pager.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pagination.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/popovers.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/progress-bars.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/reset.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-1200px-min.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-767px-max.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-768px-979px.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-navbar.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-utilities.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/scaffolding.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/sprites.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tables.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/thumbnails.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tooltip.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/type.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/utilities.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/variables.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/wells.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-bootstrap.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-content.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-extend.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-footer.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-header.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-rightsidebar.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-utils.less +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/scipy.css_t +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/theme.conf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/conf.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/index.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_2.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_3.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_4.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_optimize.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/autosummary/class.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexcontent.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexsidebar.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/layout.html +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/about.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/bugs.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/contents.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/configure_git.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/development_setup.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/dot2_dot3.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/following_latest.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/forking_button.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_development.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_intro.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_resources.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/pull_button.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash_links.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/advanced.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback2.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/compile_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/distutils.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib2.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib3.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/getting-started.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/index.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/python-usage.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/run_main_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/setup_example.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/signature-file.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/usage.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var.pyf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var_session.dat +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/glossary.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/license.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal3.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/deferred-ufunc-evaluation.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/generalized-ufuncs.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/groupby_additions.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/index.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/math_config_clean.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/missing-data.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/new-iterator-ufunc.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/newbugtracker.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/npy-format.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/structured_array_extensions.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/ufunc-overrides.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/warnfix.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.datetime.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.nditer.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.deprecations.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/distutils.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.dia +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.pdf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.fig +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.pdf +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.png +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/internals.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.baseclass.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.generic.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.array-creation.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.bitwise.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.char.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.ctypeslib.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.datetime.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dtype.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dual.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.emath.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.err.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.fft.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.financial.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.functional.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.help.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.indexing.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.logic.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.math.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.matlib.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.numarray.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.oldnumeric.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.other.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.padding.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.chebyshev.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.classes.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite_e.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.laguerre.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.legendre.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.package.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.poly1d.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.polynomial.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.random.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.set.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.testing.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.window.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/swig.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.broadcasting.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.byteswapping.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.creation.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.indexing.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.io.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.subclassing.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.types.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/c-info.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/howtofind.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/index.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/introduction.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/misc.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/performance.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/whatisnumpy.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.gitignore +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.travis.yml +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/LICENSE.txt +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/MANIFEST.in +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/README.rst +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/comment_eater.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/compiler_unparse.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape_sphinx.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/linkcode.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/numpydoc.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/phantom_import.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/plot_directive.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_docscrape.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_linkcode.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_phantom_import.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_plot_directive.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_traitsdoc.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/traitsdoc.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/setup.py +0 -0
- {numpy-1.9.2/numpy/core/code_generators → numpy-1.10.0.post2/numpy/_build_utils}/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/compat/__init__.py +0 -0
- {numpy-1.9.2/numpy/distutils/tests/f2py_ext → numpy-1.10.0.post2/numpy/core/code_generators}/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/genapi.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/generate_numpy_api.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/cversions.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_neighborhood_iterator_imp.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_numpyconfig.h.in +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayobject.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayscalars.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/halffloat.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/noprefix.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_1_7_deprecated_api.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_interrupt.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_no_deprecated_api.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_os.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/old_defines.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/oldnumeric.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/ufuncobject.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/utils.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/info.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/mlib.ini.in +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/npymath.ini.in +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/dummymodule.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/_datetime.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/alloc.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_array.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_scalar.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/arrayobject.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/buffer.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/calculation.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/conversion_utils.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert_datatype.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ctors.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busday.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busdaycal.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_strings.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/descriptor.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/flagsobject.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/getset.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/hashdescr.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/item_selection.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/iterators.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/methods.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_impl.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_pywrap.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_templ.c.src +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpymemoryview.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpyos.h +0 -0
- {numpy-1.9.2/numpy/core/blasdot → numpy-1.10.0.post2/numpy/core/src/multiarray}/python_xerbla.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/shape.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ucsnarrow.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/_signbit.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/halffloat.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/npy_math_common.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npysort/binsearch.c.src +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/lowlevel_strided_loops.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_binsearch.h.src +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_fpmath.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_pycompat.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/struct_ufunc_test.c.src +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_object.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_type_resolution.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/astype_copy.pkl +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/recarray_from_file.fits +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/test_scalarprint.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ctypeslib.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/__version__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/bdist_rpm.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_py.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_scripts.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_src.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/config_compiler.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/develop.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/egg_info.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_clib.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_data.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_headers.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/sdist.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/compat.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/conv_template.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/core.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/cpuinfo.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/environment.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/extension.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/absoft.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/g95.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/hpux.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/ibm.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/lahey.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/mips.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/nag.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/none.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/pathf95.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/vast.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/from_template.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/info.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/line_endings.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/log.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/mingw/gfortran_vs2003_hack.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/numpy_distribution.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/pathccompiler.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/setup.py +0 -0
- {numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext}/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib1.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib2.pyf +0 -0
- {numpy-1.9.2/numpy/distutils/tests/gen_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext}/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/include/body.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/src/foo_free.f90 +0 -0
- {numpy-1.9.2/numpy/distutils/tests/pyrex_ext → numpy-1.10.0.post2/numpy/distutils/tests/gen_ext}/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/gen_ext/setup.py +0 -0
- {numpy-1.9.2/numpy/distutils/tests/swig_ext → numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext}/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/primes.pyx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.cc +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/test_exec_command.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/basics.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/broadcasting.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/constants.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/howtofind.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/internals.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/io.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/jargon.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/methods_vs_functions.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/misc.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/performance.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/subclassing.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/ufuncs.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/dual.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/__version__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/info.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_free.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_use.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/precision.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/kind/foo.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo.f +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_fixed.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_free.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/regression/inout.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/size/foo.f90 +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/helper.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_datasource.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_version.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/scimath.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/python3.npy +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/win64python2.npy +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test__datasource.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_arrayterator.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_regression.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_ufunclike.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_utils.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/ufunclike.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/user_array.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/info.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/blas_lite.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlamch.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlapack_lite.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c_lite.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/zlapack_lite.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/tests/test_deprecations.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ma/version.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/polynomial.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/setup.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_chebyshev.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_classes.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite_e.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_laguerre.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_legendre.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polynomial.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polyutils.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_printing.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/__init__.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/info.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/Python.pxi +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/distributions.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/generate_mtrand_c.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/mtrand_py_helper.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/numpy.pxd +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.c +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/testing/tests/test_doctesting.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/setupegg.py +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/Makefile +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/pyfragments.swg +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.i +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.cxx +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.h +0 -0
- {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.i +0 -0
|
@@ -0,0 +1,1831 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Utility function to facilitate testing.
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
from __future__ import division, absolute_import, print_function
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import re
|
|
10
|
+
import operator
|
|
11
|
+
import warnings
|
|
12
|
+
from functools import partial
|
|
13
|
+
import shutil
|
|
14
|
+
import contextlib
|
|
15
|
+
from tempfile import mkdtemp
|
|
16
|
+
from .nosetester import import_nose
|
|
17
|
+
from numpy.core import float32, empty, arange, array_repr, ndarray
|
|
18
|
+
|
|
19
|
+
if sys.version_info[0] >= 3:
|
|
20
|
+
from io import StringIO
|
|
21
|
+
else:
|
|
22
|
+
from StringIO import StringIO
|
|
23
|
+
|
|
24
|
+
__all__ = ['assert_equal', 'assert_almost_equal', 'assert_approx_equal',
|
|
25
|
+
'assert_array_equal', 'assert_array_less', 'assert_string_equal',
|
|
26
|
+
'assert_array_almost_equal', 'assert_raises', 'build_err_msg',
|
|
27
|
+
'decorate_methods', 'jiffies', 'memusage', 'print_assert_equal',
|
|
28
|
+
'raises', 'rand', 'rundocs', 'runstring', 'verbose', 'measure',
|
|
29
|
+
'assert_', 'assert_array_almost_equal_nulp', 'assert_raises_regex',
|
|
30
|
+
'assert_array_max_ulp', 'assert_warns', 'assert_no_warnings',
|
|
31
|
+
'assert_allclose', 'IgnoreException', 'clear_and_catch_warnings']
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
verbose = 0
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def assert_(val, msg=''):
|
|
38
|
+
"""
|
|
39
|
+
Assert that works in release mode.
|
|
40
|
+
Accepts callable msg to allow deferring evaluation until failure.
|
|
41
|
+
|
|
42
|
+
The Python built-in ``assert`` does not work when executing code in
|
|
43
|
+
optimized mode (the ``-O`` flag) - no byte-code is generated for it.
|
|
44
|
+
|
|
45
|
+
For documentation on usage, refer to the Python documentation.
|
|
46
|
+
|
|
47
|
+
"""
|
|
48
|
+
if not val:
|
|
49
|
+
try:
|
|
50
|
+
smsg = msg()
|
|
51
|
+
except TypeError:
|
|
52
|
+
smsg = msg
|
|
53
|
+
raise AssertionError(smsg)
|
|
54
|
+
|
|
55
|
+
def gisnan(x):
|
|
56
|
+
"""like isnan, but always raise an error if type not supported instead of
|
|
57
|
+
returning a TypeError object.
|
|
58
|
+
|
|
59
|
+
Notes
|
|
60
|
+
-----
|
|
61
|
+
isnan and other ufunc sometimes return a NotImplementedType object instead
|
|
62
|
+
of raising any exception. This function is a wrapper to make sure an
|
|
63
|
+
exception is always raised.
|
|
64
|
+
|
|
65
|
+
This should be removed once this problem is solved at the Ufunc level."""
|
|
66
|
+
from numpy.core import isnan
|
|
67
|
+
st = isnan(x)
|
|
68
|
+
if isinstance(st, type(NotImplemented)):
|
|
69
|
+
raise TypeError("isnan not supported for this type")
|
|
70
|
+
return st
|
|
71
|
+
|
|
72
|
+
def gisfinite(x):
|
|
73
|
+
"""like isfinite, but always raise an error if type not supported instead of
|
|
74
|
+
returning a TypeError object.
|
|
75
|
+
|
|
76
|
+
Notes
|
|
77
|
+
-----
|
|
78
|
+
isfinite and other ufunc sometimes return a NotImplementedType object instead
|
|
79
|
+
of raising any exception. This function is a wrapper to make sure an
|
|
80
|
+
exception is always raised.
|
|
81
|
+
|
|
82
|
+
This should be removed once this problem is solved at the Ufunc level."""
|
|
83
|
+
from numpy.core import isfinite, errstate
|
|
84
|
+
with errstate(invalid='ignore'):
|
|
85
|
+
st = isfinite(x)
|
|
86
|
+
if isinstance(st, type(NotImplemented)):
|
|
87
|
+
raise TypeError("isfinite not supported for this type")
|
|
88
|
+
return st
|
|
89
|
+
|
|
90
|
+
def gisinf(x):
|
|
91
|
+
"""like isinf, but always raise an error if type not supported instead of
|
|
92
|
+
returning a TypeError object.
|
|
93
|
+
|
|
94
|
+
Notes
|
|
95
|
+
-----
|
|
96
|
+
isinf and other ufunc sometimes return a NotImplementedType object instead
|
|
97
|
+
of raising any exception. This function is a wrapper to make sure an
|
|
98
|
+
exception is always raised.
|
|
99
|
+
|
|
100
|
+
This should be removed once this problem is solved at the Ufunc level."""
|
|
101
|
+
from numpy.core import isinf, errstate
|
|
102
|
+
with errstate(invalid='ignore'):
|
|
103
|
+
st = isinf(x)
|
|
104
|
+
if isinstance(st, type(NotImplemented)):
|
|
105
|
+
raise TypeError("isinf not supported for this type")
|
|
106
|
+
return st
|
|
107
|
+
|
|
108
|
+
def rand(*args):
|
|
109
|
+
"""Returns an array of random numbers with the given shape.
|
|
110
|
+
|
|
111
|
+
This only uses the standard library, so it is useful for testing purposes.
|
|
112
|
+
"""
|
|
113
|
+
import random
|
|
114
|
+
from numpy.core import zeros, float64
|
|
115
|
+
results = zeros(args, float64)
|
|
116
|
+
f = results.flat
|
|
117
|
+
for i in range(len(f)):
|
|
118
|
+
f[i] = random.random()
|
|
119
|
+
return results
|
|
120
|
+
|
|
121
|
+
if os.name == 'nt':
|
|
122
|
+
# Code "stolen" from enthought/debug/memusage.py
|
|
123
|
+
def GetPerformanceAttributes(object, counter, instance=None,
|
|
124
|
+
inum=-1, format=None, machine=None):
|
|
125
|
+
# NOTE: Many counters require 2 samples to give accurate results,
|
|
126
|
+
# including "% Processor Time" (as by definition, at any instant, a
|
|
127
|
+
# thread's CPU usage is either 0 or 100). To read counters like this,
|
|
128
|
+
# you should copy this function, but keep the counter open, and call
|
|
129
|
+
# CollectQueryData() each time you need to know.
|
|
130
|
+
# See http://msdn.microsoft.com/library/en-us/dnperfmo/html/perfmonpt2.asp
|
|
131
|
+
# My older explanation for this was that the "AddCounter" process forced
|
|
132
|
+
# the CPU to 100%, but the above makes more sense :)
|
|
133
|
+
import win32pdh
|
|
134
|
+
if format is None:
|
|
135
|
+
format = win32pdh.PDH_FMT_LONG
|
|
136
|
+
path = win32pdh.MakeCounterPath( (machine, object, instance, None, inum, counter))
|
|
137
|
+
hq = win32pdh.OpenQuery()
|
|
138
|
+
try:
|
|
139
|
+
hc = win32pdh.AddCounter(hq, path)
|
|
140
|
+
try:
|
|
141
|
+
win32pdh.CollectQueryData(hq)
|
|
142
|
+
type, val = win32pdh.GetFormattedCounterValue(hc, format)
|
|
143
|
+
return val
|
|
144
|
+
finally:
|
|
145
|
+
win32pdh.RemoveCounter(hc)
|
|
146
|
+
finally:
|
|
147
|
+
win32pdh.CloseQuery(hq)
|
|
148
|
+
|
|
149
|
+
def memusage(processName="python", instance=0):
|
|
150
|
+
# from win32pdhutil, part of the win32all package
|
|
151
|
+
import win32pdh
|
|
152
|
+
return GetPerformanceAttributes("Process", "Virtual Bytes",
|
|
153
|
+
processName, instance,
|
|
154
|
+
win32pdh.PDH_FMT_LONG, None)
|
|
155
|
+
elif sys.platform[:5] == 'linux':
|
|
156
|
+
|
|
157
|
+
def memusage(_proc_pid_stat='/proc/%s/stat' % (os.getpid())):
|
|
158
|
+
"""
|
|
159
|
+
Return virtual memory size in bytes of the running python.
|
|
160
|
+
|
|
161
|
+
"""
|
|
162
|
+
try:
|
|
163
|
+
f = open(_proc_pid_stat, 'r')
|
|
164
|
+
l = f.readline().split(' ')
|
|
165
|
+
f.close()
|
|
166
|
+
return int(l[22])
|
|
167
|
+
except:
|
|
168
|
+
return
|
|
169
|
+
else:
|
|
170
|
+
def memusage():
|
|
171
|
+
"""
|
|
172
|
+
Return memory usage of running python. [Not implemented]
|
|
173
|
+
|
|
174
|
+
"""
|
|
175
|
+
raise NotImplementedError
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
if sys.platform[:5] == 'linux':
|
|
179
|
+
def jiffies(_proc_pid_stat='/proc/%s/stat' % (os.getpid()),
|
|
180
|
+
_load_time=[]):
|
|
181
|
+
"""
|
|
182
|
+
Return number of jiffies elapsed.
|
|
183
|
+
|
|
184
|
+
Return number of jiffies (1/100ths of a second) that this
|
|
185
|
+
process has been scheduled in user mode. See man 5 proc.
|
|
186
|
+
|
|
187
|
+
"""
|
|
188
|
+
import time
|
|
189
|
+
if not _load_time:
|
|
190
|
+
_load_time.append(time.time())
|
|
191
|
+
try:
|
|
192
|
+
f = open(_proc_pid_stat, 'r')
|
|
193
|
+
l = f.readline().split(' ')
|
|
194
|
+
f.close()
|
|
195
|
+
return int(l[13])
|
|
196
|
+
except:
|
|
197
|
+
return int(100*(time.time()-_load_time[0]))
|
|
198
|
+
else:
|
|
199
|
+
# os.getpid is not in all platforms available.
|
|
200
|
+
# Using time is safe but inaccurate, especially when process
|
|
201
|
+
# was suspended or sleeping.
|
|
202
|
+
def jiffies(_load_time=[]):
|
|
203
|
+
"""
|
|
204
|
+
Return number of jiffies elapsed.
|
|
205
|
+
|
|
206
|
+
Return number of jiffies (1/100ths of a second) that this
|
|
207
|
+
process has been scheduled in user mode. See man 5 proc.
|
|
208
|
+
|
|
209
|
+
"""
|
|
210
|
+
import time
|
|
211
|
+
if not _load_time:
|
|
212
|
+
_load_time.append(time.time())
|
|
213
|
+
return int(100*(time.time()-_load_time[0]))
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
def build_err_msg(arrays, err_msg, header='Items are not equal:',
|
|
217
|
+
verbose=True, names=('ACTUAL', 'DESIRED'), precision=8):
|
|
218
|
+
msg = ['\n' + header]
|
|
219
|
+
if err_msg:
|
|
220
|
+
if err_msg.find('\n') == -1 and len(err_msg) < 79-len(header):
|
|
221
|
+
msg = [msg[0] + ' ' + err_msg]
|
|
222
|
+
else:
|
|
223
|
+
msg.append(err_msg)
|
|
224
|
+
if verbose:
|
|
225
|
+
for i, a in enumerate(arrays):
|
|
226
|
+
|
|
227
|
+
if isinstance(a, ndarray):
|
|
228
|
+
# precision argument is only needed if the objects are ndarrays
|
|
229
|
+
r_func = partial(array_repr, precision=precision)
|
|
230
|
+
else:
|
|
231
|
+
r_func = repr
|
|
232
|
+
|
|
233
|
+
try:
|
|
234
|
+
r = r_func(a)
|
|
235
|
+
except:
|
|
236
|
+
r = '[repr failed]'
|
|
237
|
+
if r.count('\n') > 3:
|
|
238
|
+
r = '\n'.join(r.splitlines()[:3])
|
|
239
|
+
r += '...'
|
|
240
|
+
msg.append(' %s: %s' % (names[i], r))
|
|
241
|
+
return '\n'.join(msg)
|
|
242
|
+
|
|
243
|
+
def assert_equal(actual,desired,err_msg='',verbose=True):
|
|
244
|
+
"""
|
|
245
|
+
Raises an AssertionError if two objects are not equal.
|
|
246
|
+
|
|
247
|
+
Given two objects (scalars, lists, tuples, dictionaries or numpy arrays),
|
|
248
|
+
check that all elements of these objects are equal. An exception is raised
|
|
249
|
+
at the first conflicting values.
|
|
250
|
+
|
|
251
|
+
Parameters
|
|
252
|
+
----------
|
|
253
|
+
actual : array_like
|
|
254
|
+
The object to check.
|
|
255
|
+
desired : array_like
|
|
256
|
+
The expected object.
|
|
257
|
+
err_msg : str, optional
|
|
258
|
+
The error message to be printed in case of failure.
|
|
259
|
+
verbose : bool, optional
|
|
260
|
+
If True, the conflicting values are appended to the error message.
|
|
261
|
+
|
|
262
|
+
Raises
|
|
263
|
+
------
|
|
264
|
+
AssertionError
|
|
265
|
+
If actual and desired are not equal.
|
|
266
|
+
|
|
267
|
+
Examples
|
|
268
|
+
--------
|
|
269
|
+
>>> np.testing.assert_equal([4,5], [4,6])
|
|
270
|
+
...
|
|
271
|
+
<type 'exceptions.AssertionError'>:
|
|
272
|
+
Items are not equal:
|
|
273
|
+
item=1
|
|
274
|
+
ACTUAL: 5
|
|
275
|
+
DESIRED: 6
|
|
276
|
+
|
|
277
|
+
"""
|
|
278
|
+
if isinstance(desired, dict):
|
|
279
|
+
if not isinstance(actual, dict):
|
|
280
|
+
raise AssertionError(repr(type(actual)))
|
|
281
|
+
assert_equal(len(actual), len(desired), err_msg, verbose)
|
|
282
|
+
for k, i in desired.items():
|
|
283
|
+
if k not in actual:
|
|
284
|
+
raise AssertionError(repr(k))
|
|
285
|
+
assert_equal(actual[k], desired[k], 'key=%r\n%s' % (k, err_msg), verbose)
|
|
286
|
+
return
|
|
287
|
+
if isinstance(desired, (list, tuple)) and isinstance(actual, (list, tuple)):
|
|
288
|
+
assert_equal(len(actual), len(desired), err_msg, verbose)
|
|
289
|
+
for k in range(len(desired)):
|
|
290
|
+
assert_equal(actual[k], desired[k], 'item=%r\n%s' % (k, err_msg), verbose)
|
|
291
|
+
return
|
|
292
|
+
from numpy.core import ndarray, isscalar, signbit
|
|
293
|
+
from numpy.lib import iscomplexobj, real, imag
|
|
294
|
+
if isinstance(actual, ndarray) or isinstance(desired, ndarray):
|
|
295
|
+
return assert_array_equal(actual, desired, err_msg, verbose)
|
|
296
|
+
msg = build_err_msg([actual, desired], err_msg, verbose=verbose)
|
|
297
|
+
|
|
298
|
+
# Handle complex numbers: separate into real/imag to handle
|
|
299
|
+
# nan/inf/negative zero correctly
|
|
300
|
+
# XXX: catch ValueError for subclasses of ndarray where iscomplex fail
|
|
301
|
+
try:
|
|
302
|
+
usecomplex = iscomplexobj(actual) or iscomplexobj(desired)
|
|
303
|
+
except ValueError:
|
|
304
|
+
usecomplex = False
|
|
305
|
+
|
|
306
|
+
if usecomplex:
|
|
307
|
+
if iscomplexobj(actual):
|
|
308
|
+
actualr = real(actual)
|
|
309
|
+
actuali = imag(actual)
|
|
310
|
+
else:
|
|
311
|
+
actualr = actual
|
|
312
|
+
actuali = 0
|
|
313
|
+
if iscomplexobj(desired):
|
|
314
|
+
desiredr = real(desired)
|
|
315
|
+
desiredi = imag(desired)
|
|
316
|
+
else:
|
|
317
|
+
desiredr = desired
|
|
318
|
+
desiredi = 0
|
|
319
|
+
try:
|
|
320
|
+
assert_equal(actualr, desiredr)
|
|
321
|
+
assert_equal(actuali, desiredi)
|
|
322
|
+
except AssertionError:
|
|
323
|
+
raise AssertionError(msg)
|
|
324
|
+
|
|
325
|
+
# Inf/nan/negative zero handling
|
|
326
|
+
try:
|
|
327
|
+
# isscalar test to check cases such as [np.nan] != np.nan
|
|
328
|
+
if isscalar(desired) != isscalar(actual):
|
|
329
|
+
raise AssertionError(msg)
|
|
330
|
+
|
|
331
|
+
# If one of desired/actual is not finite, handle it specially here:
|
|
332
|
+
# check that both are nan if any is a nan, and test for equality
|
|
333
|
+
# otherwise
|
|
334
|
+
if not (gisfinite(desired) and gisfinite(actual)):
|
|
335
|
+
isdesnan = gisnan(desired)
|
|
336
|
+
isactnan = gisnan(actual)
|
|
337
|
+
if isdesnan or isactnan:
|
|
338
|
+
if not (isdesnan and isactnan):
|
|
339
|
+
raise AssertionError(msg)
|
|
340
|
+
else:
|
|
341
|
+
if not desired == actual:
|
|
342
|
+
raise AssertionError(msg)
|
|
343
|
+
return
|
|
344
|
+
elif desired == 0 and actual == 0:
|
|
345
|
+
if not signbit(desired) == signbit(actual):
|
|
346
|
+
raise AssertionError(msg)
|
|
347
|
+
# If TypeError or ValueError raised while using isnan and co, just handle
|
|
348
|
+
# as before
|
|
349
|
+
except (TypeError, ValueError, NotImplementedError):
|
|
350
|
+
pass
|
|
351
|
+
|
|
352
|
+
# Explicitly use __eq__ for comparison, ticket #2552
|
|
353
|
+
if not (desired == actual):
|
|
354
|
+
raise AssertionError(msg)
|
|
355
|
+
|
|
356
|
+
def print_assert_equal(test_string, actual, desired):
|
|
357
|
+
"""
|
|
358
|
+
Test if two objects are equal, and print an error message if test fails.
|
|
359
|
+
|
|
360
|
+
The test is performed with ``actual == desired``.
|
|
361
|
+
|
|
362
|
+
Parameters
|
|
363
|
+
----------
|
|
364
|
+
test_string : str
|
|
365
|
+
The message supplied to AssertionError.
|
|
366
|
+
actual : object
|
|
367
|
+
The object to test for equality against `desired`.
|
|
368
|
+
desired : object
|
|
369
|
+
The expected result.
|
|
370
|
+
|
|
371
|
+
Examples
|
|
372
|
+
--------
|
|
373
|
+
>>> np.testing.print_assert_equal('Test XYZ of func xyz', [0, 1], [0, 1])
|
|
374
|
+
>>> np.testing.print_assert_equal('Test XYZ of func xyz', [0, 1], [0, 2])
|
|
375
|
+
Traceback (most recent call last):
|
|
376
|
+
...
|
|
377
|
+
AssertionError: Test XYZ of func xyz failed
|
|
378
|
+
ACTUAL:
|
|
379
|
+
[0, 1]
|
|
380
|
+
DESIRED:
|
|
381
|
+
[0, 2]
|
|
382
|
+
|
|
383
|
+
"""
|
|
384
|
+
import pprint
|
|
385
|
+
|
|
386
|
+
if not (actual == desired):
|
|
387
|
+
msg = StringIO()
|
|
388
|
+
msg.write(test_string)
|
|
389
|
+
msg.write(' failed\nACTUAL: \n')
|
|
390
|
+
pprint.pprint(actual, msg)
|
|
391
|
+
msg.write('DESIRED: \n')
|
|
392
|
+
pprint.pprint(desired, msg)
|
|
393
|
+
raise AssertionError(msg.getvalue())
|
|
394
|
+
|
|
395
|
+
def assert_almost_equal(actual,desired,decimal=7,err_msg='',verbose=True):
|
|
396
|
+
"""
|
|
397
|
+
Raises an AssertionError if two items are not equal up to desired
|
|
398
|
+
precision.
|
|
399
|
+
|
|
400
|
+
.. note:: It is recommended to use one of `assert_allclose`,
|
|
401
|
+
`assert_array_almost_equal_nulp` or `assert_array_max_ulp`
|
|
402
|
+
instead of this function for more consistent floating point
|
|
403
|
+
comparisons.
|
|
404
|
+
|
|
405
|
+
The test is equivalent to ``abs(desired-actual) < 0.5 * 10**(-decimal)``.
|
|
406
|
+
|
|
407
|
+
Given two objects (numbers or ndarrays), check that all elements of these
|
|
408
|
+
objects are almost equal. An exception is raised at conflicting values.
|
|
409
|
+
For ndarrays this delegates to assert_array_almost_equal
|
|
410
|
+
|
|
411
|
+
Parameters
|
|
412
|
+
----------
|
|
413
|
+
actual : array_like
|
|
414
|
+
The object to check.
|
|
415
|
+
desired : array_like
|
|
416
|
+
The expected object.
|
|
417
|
+
decimal : int, optional
|
|
418
|
+
Desired precision, default is 7.
|
|
419
|
+
err_msg : str, optional
|
|
420
|
+
The error message to be printed in case of failure.
|
|
421
|
+
verbose : bool, optional
|
|
422
|
+
If True, the conflicting values are appended to the error message.
|
|
423
|
+
|
|
424
|
+
Raises
|
|
425
|
+
------
|
|
426
|
+
AssertionError
|
|
427
|
+
If actual and desired are not equal up to specified precision.
|
|
428
|
+
|
|
429
|
+
See Also
|
|
430
|
+
--------
|
|
431
|
+
assert_allclose: Compare two array_like objects for equality with desired
|
|
432
|
+
relative and/or absolute precision.
|
|
433
|
+
assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal
|
|
434
|
+
|
|
435
|
+
Examples
|
|
436
|
+
--------
|
|
437
|
+
>>> import numpy.testing as npt
|
|
438
|
+
>>> npt.assert_almost_equal(2.3333333333333, 2.33333334)
|
|
439
|
+
>>> npt.assert_almost_equal(2.3333333333333, 2.33333334, decimal=10)
|
|
440
|
+
...
|
|
441
|
+
<type 'exceptions.AssertionError'>:
|
|
442
|
+
Items are not equal:
|
|
443
|
+
ACTUAL: 2.3333333333333002
|
|
444
|
+
DESIRED: 2.3333333399999998
|
|
445
|
+
|
|
446
|
+
>>> npt.assert_almost_equal(np.array([1.0,2.3333333333333]),
|
|
447
|
+
... np.array([1.0,2.33333334]), decimal=9)
|
|
448
|
+
...
|
|
449
|
+
<type 'exceptions.AssertionError'>:
|
|
450
|
+
Arrays are not almost equal
|
|
451
|
+
<BLANKLINE>
|
|
452
|
+
(mismatch 50.0%)
|
|
453
|
+
x: array([ 1. , 2.33333333])
|
|
454
|
+
y: array([ 1. , 2.33333334])
|
|
455
|
+
|
|
456
|
+
"""
|
|
457
|
+
from numpy.core import ndarray
|
|
458
|
+
from numpy.lib import iscomplexobj, real, imag
|
|
459
|
+
|
|
460
|
+
# Handle complex numbers: separate into real/imag to handle
|
|
461
|
+
# nan/inf/negative zero correctly
|
|
462
|
+
# XXX: catch ValueError for subclasses of ndarray where iscomplex fail
|
|
463
|
+
try:
|
|
464
|
+
usecomplex = iscomplexobj(actual) or iscomplexobj(desired)
|
|
465
|
+
except ValueError:
|
|
466
|
+
usecomplex = False
|
|
467
|
+
|
|
468
|
+
def _build_err_msg():
|
|
469
|
+
header = ('Arrays are not almost equal to %d decimals' % decimal)
|
|
470
|
+
return build_err_msg([actual, desired], err_msg, verbose=verbose,
|
|
471
|
+
header=header)
|
|
472
|
+
|
|
473
|
+
if usecomplex:
|
|
474
|
+
if iscomplexobj(actual):
|
|
475
|
+
actualr = real(actual)
|
|
476
|
+
actuali = imag(actual)
|
|
477
|
+
else:
|
|
478
|
+
actualr = actual
|
|
479
|
+
actuali = 0
|
|
480
|
+
if iscomplexobj(desired):
|
|
481
|
+
desiredr = real(desired)
|
|
482
|
+
desiredi = imag(desired)
|
|
483
|
+
else:
|
|
484
|
+
desiredr = desired
|
|
485
|
+
desiredi = 0
|
|
486
|
+
try:
|
|
487
|
+
assert_almost_equal(actualr, desiredr, decimal=decimal)
|
|
488
|
+
assert_almost_equal(actuali, desiredi, decimal=decimal)
|
|
489
|
+
except AssertionError:
|
|
490
|
+
raise AssertionError(_build_err_msg())
|
|
491
|
+
|
|
492
|
+
if isinstance(actual, (ndarray, tuple, list)) \
|
|
493
|
+
or isinstance(desired, (ndarray, tuple, list)):
|
|
494
|
+
return assert_array_almost_equal(actual, desired, decimal, err_msg)
|
|
495
|
+
try:
|
|
496
|
+
# If one of desired/actual is not finite, handle it specially here:
|
|
497
|
+
# check that both are nan if any is a nan, and test for equality
|
|
498
|
+
# otherwise
|
|
499
|
+
if not (gisfinite(desired) and gisfinite(actual)):
|
|
500
|
+
if gisnan(desired) or gisnan(actual):
|
|
501
|
+
if not (gisnan(desired) and gisnan(actual)):
|
|
502
|
+
raise AssertionError(_build_err_msg())
|
|
503
|
+
else:
|
|
504
|
+
if not desired == actual:
|
|
505
|
+
raise AssertionError(_build_err_msg())
|
|
506
|
+
return
|
|
507
|
+
except (NotImplementedError, TypeError):
|
|
508
|
+
pass
|
|
509
|
+
if round(abs(desired - actual), decimal) != 0:
|
|
510
|
+
raise AssertionError(_build_err_msg())
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
def assert_approx_equal(actual,desired,significant=7,err_msg='',verbose=True):
|
|
514
|
+
"""
|
|
515
|
+
Raises an AssertionError if two items are not equal up to significant
|
|
516
|
+
digits.
|
|
517
|
+
|
|
518
|
+
.. note:: It is recommended to use one of `assert_allclose`,
|
|
519
|
+
`assert_array_almost_equal_nulp` or `assert_array_max_ulp`
|
|
520
|
+
instead of this function for more consistent floating point
|
|
521
|
+
comparisons.
|
|
522
|
+
|
|
523
|
+
Given two numbers, check that they are approximately equal.
|
|
524
|
+
Approximately equal is defined as the number of significant digits
|
|
525
|
+
that agree.
|
|
526
|
+
|
|
527
|
+
Parameters
|
|
528
|
+
----------
|
|
529
|
+
actual : scalar
|
|
530
|
+
The object to check.
|
|
531
|
+
desired : scalar
|
|
532
|
+
The expected object.
|
|
533
|
+
significant : int, optional
|
|
534
|
+
Desired precision, default is 7.
|
|
535
|
+
err_msg : str, optional
|
|
536
|
+
The error message to be printed in case of failure.
|
|
537
|
+
verbose : bool, optional
|
|
538
|
+
If True, the conflicting values are appended to the error message.
|
|
539
|
+
|
|
540
|
+
Raises
|
|
541
|
+
------
|
|
542
|
+
AssertionError
|
|
543
|
+
If actual and desired are not equal up to specified precision.
|
|
544
|
+
|
|
545
|
+
See Also
|
|
546
|
+
--------
|
|
547
|
+
assert_allclose: Compare two array_like objects for equality with desired
|
|
548
|
+
relative and/or absolute precision.
|
|
549
|
+
assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal
|
|
550
|
+
|
|
551
|
+
Examples
|
|
552
|
+
--------
|
|
553
|
+
>>> np.testing.assert_approx_equal(0.12345677777777e-20, 0.1234567e-20)
|
|
554
|
+
>>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345671e-20,
|
|
555
|
+
significant=8)
|
|
556
|
+
>>> np.testing.assert_approx_equal(0.12345670e-20, 0.12345672e-20,
|
|
557
|
+
significant=8)
|
|
558
|
+
...
|
|
559
|
+
<type 'exceptions.AssertionError'>:
|
|
560
|
+
Items are not equal to 8 significant digits:
|
|
561
|
+
ACTUAL: 1.234567e-021
|
|
562
|
+
DESIRED: 1.2345672000000001e-021
|
|
563
|
+
|
|
564
|
+
the evaluated condition that raises the exception is
|
|
565
|
+
|
|
566
|
+
>>> abs(0.12345670e-20/1e-21 - 0.12345672e-20/1e-21) >= 10**-(8-1)
|
|
567
|
+
True
|
|
568
|
+
|
|
569
|
+
"""
|
|
570
|
+
import numpy as np
|
|
571
|
+
|
|
572
|
+
(actual, desired) = map(float, (actual, desired))
|
|
573
|
+
if desired == actual:
|
|
574
|
+
return
|
|
575
|
+
# Normalized the numbers to be in range (-10.0,10.0)
|
|
576
|
+
# scale = float(pow(10,math.floor(math.log10(0.5*(abs(desired)+abs(actual))))))
|
|
577
|
+
with np.errstate(invalid='ignore'):
|
|
578
|
+
scale = 0.5*(np.abs(desired) + np.abs(actual))
|
|
579
|
+
scale = np.power(10, np.floor(np.log10(scale)))
|
|
580
|
+
try:
|
|
581
|
+
sc_desired = desired/scale
|
|
582
|
+
except ZeroDivisionError:
|
|
583
|
+
sc_desired = 0.0
|
|
584
|
+
try:
|
|
585
|
+
sc_actual = actual/scale
|
|
586
|
+
except ZeroDivisionError:
|
|
587
|
+
sc_actual = 0.0
|
|
588
|
+
msg = build_err_msg([actual, desired], err_msg,
|
|
589
|
+
header='Items are not equal to %d significant digits:' %
|
|
590
|
+
significant,
|
|
591
|
+
verbose=verbose)
|
|
592
|
+
try:
|
|
593
|
+
# If one of desired/actual is not finite, handle it specially here:
|
|
594
|
+
# check that both are nan if any is a nan, and test for equality
|
|
595
|
+
# otherwise
|
|
596
|
+
if not (gisfinite(desired) and gisfinite(actual)):
|
|
597
|
+
if gisnan(desired) or gisnan(actual):
|
|
598
|
+
if not (gisnan(desired) and gisnan(actual)):
|
|
599
|
+
raise AssertionError(msg)
|
|
600
|
+
else:
|
|
601
|
+
if not desired == actual:
|
|
602
|
+
raise AssertionError(msg)
|
|
603
|
+
return
|
|
604
|
+
except (TypeError, NotImplementedError):
|
|
605
|
+
pass
|
|
606
|
+
if np.abs(sc_desired - sc_actual) >= np.power(10., -(significant-1)):
|
|
607
|
+
raise AssertionError(msg)
|
|
608
|
+
|
|
609
|
+
def assert_array_compare(comparison, x, y, err_msg='', verbose=True,
|
|
610
|
+
header='', precision=6):
|
|
611
|
+
from numpy.core import array, isnan, isinf, any, all, inf
|
|
612
|
+
x = array(x, copy=False, subok=True)
|
|
613
|
+
y = array(y, copy=False, subok=True)
|
|
614
|
+
|
|
615
|
+
def safe_comparison(*args, **kwargs):
|
|
616
|
+
# There are a number of cases where comparing two arrays hits special
|
|
617
|
+
# cases in array_richcompare, specifically around strings and void
|
|
618
|
+
# dtypes. Basically, we just can't do comparisons involving these
|
|
619
|
+
# types, unless both arrays have exactly the *same* type. So
|
|
620
|
+
# e.g. you can apply == to two string arrays, or two arrays with
|
|
621
|
+
# identical structured dtypes. But if you compare a non-string array
|
|
622
|
+
# to a string array, or two arrays with non-identical structured
|
|
623
|
+
# dtypes, or anything like that, then internally stuff blows up.
|
|
624
|
+
# Currently, when things blow up, we just return a scalar False or
|
|
625
|
+
# True. But we also emit a DeprecationWarning, b/c eventually we
|
|
626
|
+
# should raise an error here. (Ideally we might even make this work
|
|
627
|
+
# properly, but since that will require rewriting a bunch of how
|
|
628
|
+
# ufuncs work then we are not counting on that.)
|
|
629
|
+
#
|
|
630
|
+
# The point of this little function is to let the DeprecationWarning
|
|
631
|
+
# pass (or maybe eventually catch the errors and return False, I
|
|
632
|
+
# dunno, that's a little trickier and we can figure that out when the
|
|
633
|
+
# time comes).
|
|
634
|
+
with warnings.catch_warnings():
|
|
635
|
+
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
|
636
|
+
return comparison(*args, **kwargs)
|
|
637
|
+
|
|
638
|
+
def isnumber(x):
|
|
639
|
+
return x.dtype.char in '?bhilqpBHILQPefdgFDG'
|
|
640
|
+
|
|
641
|
+
def chk_same_position(x_id, y_id, hasval='nan'):
|
|
642
|
+
"""Handling nan/inf: check that x and y have the nan/inf at the same
|
|
643
|
+
locations."""
|
|
644
|
+
try:
|
|
645
|
+
assert_array_equal(x_id, y_id)
|
|
646
|
+
except AssertionError:
|
|
647
|
+
msg = build_err_msg([x, y],
|
|
648
|
+
err_msg + '\nx and y %s location mismatch:'
|
|
649
|
+
% (hasval), verbose=verbose, header=header,
|
|
650
|
+
names=('x', 'y'), precision=precision)
|
|
651
|
+
raise AssertionError(msg)
|
|
652
|
+
|
|
653
|
+
try:
|
|
654
|
+
cond = (x.shape == () or y.shape == ()) or x.shape == y.shape
|
|
655
|
+
if not cond:
|
|
656
|
+
msg = build_err_msg([x, y],
|
|
657
|
+
err_msg
|
|
658
|
+
+ '\n(shapes %s, %s mismatch)' % (x.shape,
|
|
659
|
+
y.shape),
|
|
660
|
+
verbose=verbose, header=header,
|
|
661
|
+
names=('x', 'y'), precision=precision)
|
|
662
|
+
if not cond:
|
|
663
|
+
raise AssertionError(msg)
|
|
664
|
+
|
|
665
|
+
if isnumber(x) and isnumber(y):
|
|
666
|
+
x_isnan, y_isnan = isnan(x), isnan(y)
|
|
667
|
+
x_isinf, y_isinf = isinf(x), isinf(y)
|
|
668
|
+
|
|
669
|
+
# Validate that the special values are in the same place
|
|
670
|
+
if any(x_isnan) or any(y_isnan):
|
|
671
|
+
chk_same_position(x_isnan, y_isnan, hasval='nan')
|
|
672
|
+
if any(x_isinf) or any(y_isinf):
|
|
673
|
+
# Check +inf and -inf separately, since they are different
|
|
674
|
+
chk_same_position(x == +inf, y == +inf, hasval='+inf')
|
|
675
|
+
chk_same_position(x == -inf, y == -inf, hasval='-inf')
|
|
676
|
+
|
|
677
|
+
# Combine all the special values
|
|
678
|
+
x_id, y_id = x_isnan, y_isnan
|
|
679
|
+
x_id |= x_isinf
|
|
680
|
+
y_id |= y_isinf
|
|
681
|
+
|
|
682
|
+
# Only do the comparison if actual values are left
|
|
683
|
+
if all(x_id):
|
|
684
|
+
return
|
|
685
|
+
|
|
686
|
+
if any(x_id):
|
|
687
|
+
val = safe_comparison(x[~x_id], y[~y_id])
|
|
688
|
+
else:
|
|
689
|
+
val = safe_comparison(x, y)
|
|
690
|
+
else:
|
|
691
|
+
val = safe_comparison(x, y)
|
|
692
|
+
|
|
693
|
+
if isinstance(val, bool):
|
|
694
|
+
cond = val
|
|
695
|
+
reduced = [0]
|
|
696
|
+
else:
|
|
697
|
+
reduced = val.ravel()
|
|
698
|
+
cond = reduced.all()
|
|
699
|
+
reduced = reduced.tolist()
|
|
700
|
+
if not cond:
|
|
701
|
+
match = 100-100.0*reduced.count(1)/len(reduced)
|
|
702
|
+
msg = build_err_msg([x, y],
|
|
703
|
+
err_msg
|
|
704
|
+
+ '\n(mismatch %s%%)' % (match,),
|
|
705
|
+
verbose=verbose, header=header,
|
|
706
|
+
names=('x', 'y'), precision=precision)
|
|
707
|
+
if not cond:
|
|
708
|
+
raise AssertionError(msg)
|
|
709
|
+
except ValueError:
|
|
710
|
+
import traceback
|
|
711
|
+
efmt = traceback.format_exc()
|
|
712
|
+
header = 'error during assertion:\n\n%s\n\n%s' % (efmt, header)
|
|
713
|
+
|
|
714
|
+
msg = build_err_msg([x, y], err_msg, verbose=verbose, header=header,
|
|
715
|
+
names=('x', 'y'), precision=precision)
|
|
716
|
+
raise ValueError(msg)
|
|
717
|
+
|
|
718
|
+
def assert_array_equal(x, y, err_msg='', verbose=True):
|
|
719
|
+
"""
|
|
720
|
+
Raises an AssertionError if two array_like objects are not equal.
|
|
721
|
+
|
|
722
|
+
Given two array_like objects, check that the shape is equal and all
|
|
723
|
+
elements of these objects are equal. An exception is raised at
|
|
724
|
+
shape mismatch or conflicting values. In contrast to the standard usage
|
|
725
|
+
in numpy, NaNs are compared like numbers, no assertion is raised if
|
|
726
|
+
both objects have NaNs in the same positions.
|
|
727
|
+
|
|
728
|
+
The usual caution for verifying equality with floating point numbers is
|
|
729
|
+
advised.
|
|
730
|
+
|
|
731
|
+
Parameters
|
|
732
|
+
----------
|
|
733
|
+
x : array_like
|
|
734
|
+
The actual object to check.
|
|
735
|
+
y : array_like
|
|
736
|
+
The desired, expected object.
|
|
737
|
+
err_msg : str, optional
|
|
738
|
+
The error message to be printed in case of failure.
|
|
739
|
+
verbose : bool, optional
|
|
740
|
+
If True, the conflicting values are appended to the error message.
|
|
741
|
+
|
|
742
|
+
Raises
|
|
743
|
+
------
|
|
744
|
+
AssertionError
|
|
745
|
+
If actual and desired objects are not equal.
|
|
746
|
+
|
|
747
|
+
See Also
|
|
748
|
+
--------
|
|
749
|
+
assert_allclose: Compare two array_like objects for equality with desired
|
|
750
|
+
relative and/or absolute precision.
|
|
751
|
+
assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal
|
|
752
|
+
|
|
753
|
+
Examples
|
|
754
|
+
--------
|
|
755
|
+
The first assert does not raise an exception:
|
|
756
|
+
|
|
757
|
+
>>> np.testing.assert_array_equal([1.0,2.33333,np.nan],
|
|
758
|
+
... [np.exp(0),2.33333, np.nan])
|
|
759
|
+
|
|
760
|
+
Assert fails with numerical inprecision with floats:
|
|
761
|
+
|
|
762
|
+
>>> np.testing.assert_array_equal([1.0,np.pi,np.nan],
|
|
763
|
+
... [1, np.sqrt(np.pi)**2, np.nan])
|
|
764
|
+
...
|
|
765
|
+
<type 'exceptions.ValueError'>:
|
|
766
|
+
AssertionError:
|
|
767
|
+
Arrays are not equal
|
|
768
|
+
<BLANKLINE>
|
|
769
|
+
(mismatch 50.0%)
|
|
770
|
+
x: array([ 1. , 3.14159265, NaN])
|
|
771
|
+
y: array([ 1. , 3.14159265, NaN])
|
|
772
|
+
|
|
773
|
+
Use `assert_allclose` or one of the nulp (number of floating point values)
|
|
774
|
+
functions for these cases instead:
|
|
775
|
+
|
|
776
|
+
>>> np.testing.assert_allclose([1.0,np.pi,np.nan],
|
|
777
|
+
... [1, np.sqrt(np.pi)**2, np.nan],
|
|
778
|
+
... rtol=1e-10, atol=0)
|
|
779
|
+
|
|
780
|
+
"""
|
|
781
|
+
assert_array_compare(operator.__eq__, x, y, err_msg=err_msg,
|
|
782
|
+
verbose=verbose, header='Arrays are not equal')
|
|
783
|
+
|
|
784
|
+
def assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True):
|
|
785
|
+
"""
|
|
786
|
+
Raises an AssertionError if two objects are not equal up to desired
|
|
787
|
+
precision.
|
|
788
|
+
|
|
789
|
+
.. note:: It is recommended to use one of `assert_allclose`,
|
|
790
|
+
`assert_array_almost_equal_nulp` or `assert_array_max_ulp`
|
|
791
|
+
instead of this function for more consistent floating point
|
|
792
|
+
comparisons.
|
|
793
|
+
|
|
794
|
+
The test verifies identical shapes and verifies values with
|
|
795
|
+
``abs(desired-actual) < 0.5 * 10**(-decimal)``.
|
|
796
|
+
|
|
797
|
+
Given two array_like objects, check that the shape is equal and all
|
|
798
|
+
elements of these objects are almost equal. An exception is raised at
|
|
799
|
+
shape mismatch or conflicting values. In contrast to the standard usage
|
|
800
|
+
in numpy, NaNs are compared like numbers, no assertion is raised if
|
|
801
|
+
both objects have NaNs in the same positions.
|
|
802
|
+
|
|
803
|
+
Parameters
|
|
804
|
+
----------
|
|
805
|
+
x : array_like
|
|
806
|
+
The actual object to check.
|
|
807
|
+
y : array_like
|
|
808
|
+
The desired, expected object.
|
|
809
|
+
decimal : int, optional
|
|
810
|
+
Desired precision, default is 6.
|
|
811
|
+
err_msg : str, optional
|
|
812
|
+
The error message to be printed in case of failure.
|
|
813
|
+
verbose : bool, optional
|
|
814
|
+
If True, the conflicting values are appended to the error message.
|
|
815
|
+
|
|
816
|
+
Raises
|
|
817
|
+
------
|
|
818
|
+
AssertionError
|
|
819
|
+
If actual and desired are not equal up to specified precision.
|
|
820
|
+
|
|
821
|
+
See Also
|
|
822
|
+
--------
|
|
823
|
+
assert_allclose: Compare two array_like objects for equality with desired
|
|
824
|
+
relative and/or absolute precision.
|
|
825
|
+
assert_array_almost_equal_nulp, assert_array_max_ulp, assert_equal
|
|
826
|
+
|
|
827
|
+
Examples
|
|
828
|
+
--------
|
|
829
|
+
the first assert does not raise an exception
|
|
830
|
+
|
|
831
|
+
>>> np.testing.assert_array_almost_equal([1.0,2.333,np.nan],
|
|
832
|
+
[1.0,2.333,np.nan])
|
|
833
|
+
|
|
834
|
+
>>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
|
|
835
|
+
... [1.0,2.33339,np.nan], decimal=5)
|
|
836
|
+
...
|
|
837
|
+
<type 'exceptions.AssertionError'>:
|
|
838
|
+
AssertionError:
|
|
839
|
+
Arrays are not almost equal
|
|
840
|
+
<BLANKLINE>
|
|
841
|
+
(mismatch 50.0%)
|
|
842
|
+
x: array([ 1. , 2.33333, NaN])
|
|
843
|
+
y: array([ 1. , 2.33339, NaN])
|
|
844
|
+
|
|
845
|
+
>>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
|
|
846
|
+
... [1.0,2.33333, 5], decimal=5)
|
|
847
|
+
<type 'exceptions.ValueError'>:
|
|
848
|
+
ValueError:
|
|
849
|
+
Arrays are not almost equal
|
|
850
|
+
x: array([ 1. , 2.33333, NaN])
|
|
851
|
+
y: array([ 1. , 2.33333, 5. ])
|
|
852
|
+
|
|
853
|
+
"""
|
|
854
|
+
from numpy.core import around, number, float_, result_type, array
|
|
855
|
+
from numpy.core.numerictypes import issubdtype
|
|
856
|
+
from numpy.core.fromnumeric import any as npany
|
|
857
|
+
|
|
858
|
+
def compare(x, y):
|
|
859
|
+
try:
|
|
860
|
+
if npany(gisinf(x)) or npany( gisinf(y)):
|
|
861
|
+
xinfid = gisinf(x)
|
|
862
|
+
yinfid = gisinf(y)
|
|
863
|
+
if not xinfid == yinfid:
|
|
864
|
+
return False
|
|
865
|
+
# if one item, x and y is +- inf
|
|
866
|
+
if x.size == y.size == 1:
|
|
867
|
+
return x == y
|
|
868
|
+
x = x[~xinfid]
|
|
869
|
+
y = y[~yinfid]
|
|
870
|
+
except (TypeError, NotImplementedError):
|
|
871
|
+
pass
|
|
872
|
+
|
|
873
|
+
# make sure y is an inexact type to avoid abs(MIN_INT); will cause
|
|
874
|
+
# casting of x later.
|
|
875
|
+
dtype = result_type(y, 1.)
|
|
876
|
+
y = array(y, dtype=dtype, copy=False, subok=True)
|
|
877
|
+
z = abs(x-y)
|
|
878
|
+
|
|
879
|
+
if not issubdtype(z.dtype, number):
|
|
880
|
+
z = z.astype(float_) # handle object arrays
|
|
881
|
+
|
|
882
|
+
return around(z, decimal) <= 10.0**(-decimal)
|
|
883
|
+
|
|
884
|
+
assert_array_compare(compare, x, y, err_msg=err_msg, verbose=verbose,
|
|
885
|
+
header=('Arrays are not almost equal to %d decimals' % decimal),
|
|
886
|
+
precision=decimal)
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
def assert_array_less(x, y, err_msg='', verbose=True):
|
|
890
|
+
"""
|
|
891
|
+
Raises an AssertionError if two array_like objects are not ordered by less
|
|
892
|
+
than.
|
|
893
|
+
|
|
894
|
+
Given two array_like objects, check that the shape is equal and all
|
|
895
|
+
elements of the first object are strictly smaller than those of the
|
|
896
|
+
second object. An exception is raised at shape mismatch or incorrectly
|
|
897
|
+
ordered values. Shape mismatch does not raise if an object has zero
|
|
898
|
+
dimension. In contrast to the standard usage in numpy, NaNs are
|
|
899
|
+
compared, no assertion is raised if both objects have NaNs in the same
|
|
900
|
+
positions.
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
Parameters
|
|
905
|
+
----------
|
|
906
|
+
x : array_like
|
|
907
|
+
The smaller object to check.
|
|
908
|
+
y : array_like
|
|
909
|
+
The larger object to compare.
|
|
910
|
+
err_msg : string
|
|
911
|
+
The error message to be printed in case of failure.
|
|
912
|
+
verbose : bool
|
|
913
|
+
If True, the conflicting values are appended to the error message.
|
|
914
|
+
|
|
915
|
+
Raises
|
|
916
|
+
------
|
|
917
|
+
AssertionError
|
|
918
|
+
If actual and desired objects are not equal.
|
|
919
|
+
|
|
920
|
+
See Also
|
|
921
|
+
--------
|
|
922
|
+
assert_array_equal: tests objects for equality
|
|
923
|
+
assert_array_almost_equal: test objects for equality up to precision
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
Examples
|
|
928
|
+
--------
|
|
929
|
+
>>> np.testing.assert_array_less([1.0, 1.0, np.nan], [1.1, 2.0, np.nan])
|
|
930
|
+
>>> np.testing.assert_array_less([1.0, 1.0, np.nan], [1, 2.0, np.nan])
|
|
931
|
+
...
|
|
932
|
+
<type 'exceptions.ValueError'>:
|
|
933
|
+
Arrays are not less-ordered
|
|
934
|
+
(mismatch 50.0%)
|
|
935
|
+
x: array([ 1., 1., NaN])
|
|
936
|
+
y: array([ 1., 2., NaN])
|
|
937
|
+
|
|
938
|
+
>>> np.testing.assert_array_less([1.0, 4.0], 3)
|
|
939
|
+
...
|
|
940
|
+
<type 'exceptions.ValueError'>:
|
|
941
|
+
Arrays are not less-ordered
|
|
942
|
+
(mismatch 50.0%)
|
|
943
|
+
x: array([ 1., 4.])
|
|
944
|
+
y: array(3)
|
|
945
|
+
|
|
946
|
+
>>> np.testing.assert_array_less([1.0, 2.0, 3.0], [4])
|
|
947
|
+
...
|
|
948
|
+
<type 'exceptions.ValueError'>:
|
|
949
|
+
Arrays are not less-ordered
|
|
950
|
+
(shapes (3,), (1,) mismatch)
|
|
951
|
+
x: array([ 1., 2., 3.])
|
|
952
|
+
y: array([4])
|
|
953
|
+
|
|
954
|
+
"""
|
|
955
|
+
assert_array_compare(operator.__lt__, x, y, err_msg=err_msg,
|
|
956
|
+
verbose=verbose,
|
|
957
|
+
header='Arrays are not less-ordered')
|
|
958
|
+
|
|
959
|
+
def runstring(astr, dict):
|
|
960
|
+
exec(astr, dict)
|
|
961
|
+
|
|
962
|
+
def assert_string_equal(actual, desired):
|
|
963
|
+
"""
|
|
964
|
+
Test if two strings are equal.
|
|
965
|
+
|
|
966
|
+
If the given strings are equal, `assert_string_equal` does nothing.
|
|
967
|
+
If they are not equal, an AssertionError is raised, and the diff
|
|
968
|
+
between the strings is shown.
|
|
969
|
+
|
|
970
|
+
Parameters
|
|
971
|
+
----------
|
|
972
|
+
actual : str
|
|
973
|
+
The string to test for equality against the expected string.
|
|
974
|
+
desired : str
|
|
975
|
+
The expected string.
|
|
976
|
+
|
|
977
|
+
Examples
|
|
978
|
+
--------
|
|
979
|
+
>>> np.testing.assert_string_equal('abc', 'abc')
|
|
980
|
+
>>> np.testing.assert_string_equal('abc', 'abcd')
|
|
981
|
+
Traceback (most recent call last):
|
|
982
|
+
File "<stdin>", line 1, in <module>
|
|
983
|
+
...
|
|
984
|
+
AssertionError: Differences in strings:
|
|
985
|
+
- abc+ abcd? +
|
|
986
|
+
|
|
987
|
+
"""
|
|
988
|
+
# delay import of difflib to reduce startup time
|
|
989
|
+
import difflib
|
|
990
|
+
|
|
991
|
+
if not isinstance(actual, str):
|
|
992
|
+
raise AssertionError(repr(type(actual)))
|
|
993
|
+
if not isinstance(desired, str):
|
|
994
|
+
raise AssertionError(repr(type(desired)))
|
|
995
|
+
if re.match(r'\A'+desired+r'\Z', actual, re.M):
|
|
996
|
+
return
|
|
997
|
+
|
|
998
|
+
diff = list(difflib.Differ().compare(actual.splitlines(1), desired.splitlines(1)))
|
|
999
|
+
diff_list = []
|
|
1000
|
+
while diff:
|
|
1001
|
+
d1 = diff.pop(0)
|
|
1002
|
+
if d1.startswith(' '):
|
|
1003
|
+
continue
|
|
1004
|
+
if d1.startswith('- '):
|
|
1005
|
+
l = [d1]
|
|
1006
|
+
d2 = diff.pop(0)
|
|
1007
|
+
if d2.startswith('? '):
|
|
1008
|
+
l.append(d2)
|
|
1009
|
+
d2 = diff.pop(0)
|
|
1010
|
+
if not d2.startswith('+ '):
|
|
1011
|
+
raise AssertionError(repr(d2))
|
|
1012
|
+
l.append(d2)
|
|
1013
|
+
d3 = diff.pop(0)
|
|
1014
|
+
if d3.startswith('? '):
|
|
1015
|
+
l.append(d3)
|
|
1016
|
+
else:
|
|
1017
|
+
diff.insert(0, d3)
|
|
1018
|
+
if re.match(r'\A'+d2[2:]+r'\Z', d1[2:]):
|
|
1019
|
+
continue
|
|
1020
|
+
diff_list.extend(l)
|
|
1021
|
+
continue
|
|
1022
|
+
raise AssertionError(repr(d1))
|
|
1023
|
+
if not diff_list:
|
|
1024
|
+
return
|
|
1025
|
+
msg = 'Differences in strings:\n%s' % (''.join(diff_list)).rstrip()
|
|
1026
|
+
if actual != desired:
|
|
1027
|
+
raise AssertionError(msg)
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
def rundocs(filename=None, raise_on_error=True):
|
|
1031
|
+
"""
|
|
1032
|
+
Run doctests found in the given file.
|
|
1033
|
+
|
|
1034
|
+
By default `rundocs` raises an AssertionError on failure.
|
|
1035
|
+
|
|
1036
|
+
Parameters
|
|
1037
|
+
----------
|
|
1038
|
+
filename : str
|
|
1039
|
+
The path to the file for which the doctests are run.
|
|
1040
|
+
raise_on_error : bool
|
|
1041
|
+
Whether to raise an AssertionError when a doctest fails. Default is
|
|
1042
|
+
True.
|
|
1043
|
+
|
|
1044
|
+
Notes
|
|
1045
|
+
-----
|
|
1046
|
+
The doctests can be run by the user/developer by adding the ``doctests``
|
|
1047
|
+
argument to the ``test()`` call. For example, to run all tests (including
|
|
1048
|
+
doctests) for `numpy.lib`:
|
|
1049
|
+
|
|
1050
|
+
>>> np.lib.test(doctests=True) #doctest: +SKIP
|
|
1051
|
+
"""
|
|
1052
|
+
import doctest
|
|
1053
|
+
import imp
|
|
1054
|
+
if filename is None:
|
|
1055
|
+
f = sys._getframe(1)
|
|
1056
|
+
filename = f.f_globals['__file__']
|
|
1057
|
+
name = os.path.splitext(os.path.basename(filename))[0]
|
|
1058
|
+
path = [os.path.dirname(filename)]
|
|
1059
|
+
file, pathname, description = imp.find_module(name, path)
|
|
1060
|
+
try:
|
|
1061
|
+
m = imp.load_module(name, file, pathname, description)
|
|
1062
|
+
finally:
|
|
1063
|
+
file.close()
|
|
1064
|
+
|
|
1065
|
+
tests = doctest.DocTestFinder().find(m)
|
|
1066
|
+
runner = doctest.DocTestRunner(verbose=False)
|
|
1067
|
+
|
|
1068
|
+
msg = []
|
|
1069
|
+
if raise_on_error:
|
|
1070
|
+
out = lambda s: msg.append(s)
|
|
1071
|
+
else:
|
|
1072
|
+
out = None
|
|
1073
|
+
|
|
1074
|
+
for test in tests:
|
|
1075
|
+
runner.run(test, out=out)
|
|
1076
|
+
|
|
1077
|
+
if runner.failures > 0 and raise_on_error:
|
|
1078
|
+
raise AssertionError("Some doctests failed:\n%s" % "\n".join(msg))
|
|
1079
|
+
|
|
1080
|
+
|
|
1081
|
+
def raises(*args,**kwargs):
|
|
1082
|
+
nose = import_nose()
|
|
1083
|
+
return nose.tools.raises(*args,**kwargs)
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
def assert_raises(*args,**kwargs):
|
|
1087
|
+
"""
|
|
1088
|
+
assert_raises(exception_class, callable, *args, **kwargs)
|
|
1089
|
+
|
|
1090
|
+
Fail unless an exception of class exception_class is thrown
|
|
1091
|
+
by callable when invoked with arguments args and keyword
|
|
1092
|
+
arguments kwargs. If a different type of exception is
|
|
1093
|
+
thrown, it will not be caught, and the test case will be
|
|
1094
|
+
deemed to have suffered an error, exactly as for an
|
|
1095
|
+
unexpected exception.
|
|
1096
|
+
|
|
1097
|
+
"""
|
|
1098
|
+
nose = import_nose()
|
|
1099
|
+
return nose.tools.assert_raises(*args,**kwargs)
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
assert_raises_regex_impl = None
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
def assert_raises_regex(exception_class, expected_regexp,
|
|
1106
|
+
callable_obj=None, *args, **kwargs):
|
|
1107
|
+
"""
|
|
1108
|
+
Fail unless an exception of class exception_class and with message that
|
|
1109
|
+
matches expected_regexp is thrown by callable when invoked with arguments
|
|
1110
|
+
args and keyword arguments kwargs.
|
|
1111
|
+
|
|
1112
|
+
Name of this function adheres to Python 3.2+ reference, but should work in
|
|
1113
|
+
all versions down to 2.6.
|
|
1114
|
+
|
|
1115
|
+
"""
|
|
1116
|
+
nose = import_nose()
|
|
1117
|
+
|
|
1118
|
+
global assert_raises_regex_impl
|
|
1119
|
+
if assert_raises_regex_impl is None:
|
|
1120
|
+
try:
|
|
1121
|
+
# Python 3.2+
|
|
1122
|
+
assert_raises_regex_impl = nose.tools.assert_raises_regex
|
|
1123
|
+
except AttributeError:
|
|
1124
|
+
try:
|
|
1125
|
+
# 2.7+
|
|
1126
|
+
assert_raises_regex_impl = nose.tools.assert_raises_regexp
|
|
1127
|
+
except AttributeError:
|
|
1128
|
+
# 2.6
|
|
1129
|
+
|
|
1130
|
+
# This class is copied from Python2.7 stdlib almost verbatim
|
|
1131
|
+
class _AssertRaisesContext(object):
|
|
1132
|
+
"""A context manager used to implement TestCase.assertRaises* methods."""
|
|
1133
|
+
|
|
1134
|
+
def __init__(self, expected, expected_regexp=None):
|
|
1135
|
+
self.expected = expected
|
|
1136
|
+
self.expected_regexp = expected_regexp
|
|
1137
|
+
|
|
1138
|
+
def failureException(self, msg):
|
|
1139
|
+
return AssertionError(msg)
|
|
1140
|
+
|
|
1141
|
+
def __enter__(self):
|
|
1142
|
+
return self
|
|
1143
|
+
|
|
1144
|
+
def __exit__(self, exc_type, exc_value, tb):
|
|
1145
|
+
if exc_type is None:
|
|
1146
|
+
try:
|
|
1147
|
+
exc_name = self.expected.__name__
|
|
1148
|
+
except AttributeError:
|
|
1149
|
+
exc_name = str(self.expected)
|
|
1150
|
+
raise self.failureException(
|
|
1151
|
+
"{0} not raised".format(exc_name))
|
|
1152
|
+
if not issubclass(exc_type, self.expected):
|
|
1153
|
+
# let unexpected exceptions pass through
|
|
1154
|
+
return False
|
|
1155
|
+
self.exception = exc_value # store for later retrieval
|
|
1156
|
+
if self.expected_regexp is None:
|
|
1157
|
+
return True
|
|
1158
|
+
|
|
1159
|
+
expected_regexp = self.expected_regexp
|
|
1160
|
+
if isinstance(expected_regexp, basestring):
|
|
1161
|
+
expected_regexp = re.compile(expected_regexp)
|
|
1162
|
+
if not expected_regexp.search(str(exc_value)):
|
|
1163
|
+
raise self.failureException(
|
|
1164
|
+
'"%s" does not match "%s"' %
|
|
1165
|
+
(expected_regexp.pattern, str(exc_value)))
|
|
1166
|
+
return True
|
|
1167
|
+
|
|
1168
|
+
def impl(cls, regex, callable_obj, *a, **kw):
|
|
1169
|
+
mgr = _AssertRaisesContext(cls, regex)
|
|
1170
|
+
if callable_obj is None:
|
|
1171
|
+
return mgr
|
|
1172
|
+
with mgr:
|
|
1173
|
+
callable_obj(*a, **kw)
|
|
1174
|
+
assert_raises_regex_impl = impl
|
|
1175
|
+
|
|
1176
|
+
return assert_raises_regex_impl(exception_class, expected_regexp,
|
|
1177
|
+
callable_obj, *args, **kwargs)
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
def decorate_methods(cls, decorator, testmatch=None):
|
|
1181
|
+
"""
|
|
1182
|
+
Apply a decorator to all methods in a class matching a regular expression.
|
|
1183
|
+
|
|
1184
|
+
The given decorator is applied to all public methods of `cls` that are
|
|
1185
|
+
matched by the regular expression `testmatch`
|
|
1186
|
+
(``testmatch.search(methodname)``). Methods that are private, i.e. start
|
|
1187
|
+
with an underscore, are ignored.
|
|
1188
|
+
|
|
1189
|
+
Parameters
|
|
1190
|
+
----------
|
|
1191
|
+
cls : class
|
|
1192
|
+
Class whose methods to decorate.
|
|
1193
|
+
decorator : function
|
|
1194
|
+
Decorator to apply to methods
|
|
1195
|
+
testmatch : compiled regexp or str, optional
|
|
1196
|
+
The regular expression. Default value is None, in which case the
|
|
1197
|
+
nose default (``re.compile(r'(?:^|[\\b_\\.%s-])[Tt]est' % os.sep)``)
|
|
1198
|
+
is used.
|
|
1199
|
+
If `testmatch` is a string, it is compiled to a regular expression
|
|
1200
|
+
first.
|
|
1201
|
+
|
|
1202
|
+
"""
|
|
1203
|
+
if testmatch is None:
|
|
1204
|
+
testmatch = re.compile(r'(?:^|[\\b_\\.%s-])[Tt]est' % os.sep)
|
|
1205
|
+
else:
|
|
1206
|
+
testmatch = re.compile(testmatch)
|
|
1207
|
+
cls_attr = cls.__dict__
|
|
1208
|
+
|
|
1209
|
+
# delayed import to reduce startup time
|
|
1210
|
+
from inspect import isfunction
|
|
1211
|
+
|
|
1212
|
+
methods = [_m for _m in cls_attr.values() if isfunction(_m)]
|
|
1213
|
+
for function in methods:
|
|
1214
|
+
try:
|
|
1215
|
+
if hasattr(function, 'compat_func_name'):
|
|
1216
|
+
funcname = function.compat_func_name
|
|
1217
|
+
else:
|
|
1218
|
+
funcname = function.__name__
|
|
1219
|
+
except AttributeError:
|
|
1220
|
+
# not a function
|
|
1221
|
+
continue
|
|
1222
|
+
if testmatch.search(funcname) and not funcname.startswith('_'):
|
|
1223
|
+
setattr(cls, funcname, decorator(function))
|
|
1224
|
+
return
|
|
1225
|
+
|
|
1226
|
+
|
|
1227
|
+
def measure(code_str,times=1,label=None):
|
|
1228
|
+
"""
|
|
1229
|
+
Return elapsed time for executing code in the namespace of the caller.
|
|
1230
|
+
|
|
1231
|
+
The supplied code string is compiled with the Python builtin ``compile``.
|
|
1232
|
+
The precision of the timing is 10 milli-seconds. If the code will execute
|
|
1233
|
+
fast on this timescale, it can be executed many times to get reasonable
|
|
1234
|
+
timing accuracy.
|
|
1235
|
+
|
|
1236
|
+
Parameters
|
|
1237
|
+
----------
|
|
1238
|
+
code_str : str
|
|
1239
|
+
The code to be timed.
|
|
1240
|
+
times : int, optional
|
|
1241
|
+
The number of times the code is executed. Default is 1. The code is
|
|
1242
|
+
only compiled once.
|
|
1243
|
+
label : str, optional
|
|
1244
|
+
A label to identify `code_str` with. This is passed into ``compile``
|
|
1245
|
+
as the second argument (for run-time error messages).
|
|
1246
|
+
|
|
1247
|
+
Returns
|
|
1248
|
+
-------
|
|
1249
|
+
elapsed : float
|
|
1250
|
+
Total elapsed time in seconds for executing `code_str` `times` times.
|
|
1251
|
+
|
|
1252
|
+
Examples
|
|
1253
|
+
--------
|
|
1254
|
+
>>> etime = np.testing.measure('for i in range(1000): np.sqrt(i**2)',
|
|
1255
|
+
... times=times)
|
|
1256
|
+
>>> print "Time for a single execution : ", etime / times, "s"
|
|
1257
|
+
Time for a single execution : 0.005 s
|
|
1258
|
+
|
|
1259
|
+
"""
|
|
1260
|
+
frame = sys._getframe(1)
|
|
1261
|
+
locs, globs = frame.f_locals, frame.f_globals
|
|
1262
|
+
|
|
1263
|
+
code = compile(code_str,
|
|
1264
|
+
'Test name: %s ' % label,
|
|
1265
|
+
'exec')
|
|
1266
|
+
i = 0
|
|
1267
|
+
elapsed = jiffies()
|
|
1268
|
+
while i < times:
|
|
1269
|
+
i += 1
|
|
1270
|
+
exec(code, globs, locs)
|
|
1271
|
+
elapsed = jiffies() - elapsed
|
|
1272
|
+
return 0.01*elapsed
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
def _assert_valid_refcount(op):
|
|
1276
|
+
"""
|
|
1277
|
+
Check that ufuncs don't mishandle refcount of object `1`.
|
|
1278
|
+
Used in a few regression tests.
|
|
1279
|
+
"""
|
|
1280
|
+
import numpy as np
|
|
1281
|
+
|
|
1282
|
+
b = np.arange(100*100).reshape(100, 100)
|
|
1283
|
+
c = b
|
|
1284
|
+
i = 1
|
|
1285
|
+
|
|
1286
|
+
rc = sys.getrefcount(i)
|
|
1287
|
+
for j in range(15):
|
|
1288
|
+
d = op(b, c)
|
|
1289
|
+
assert_(sys.getrefcount(i) >= rc)
|
|
1290
|
+
del d # for pyflakes
|
|
1291
|
+
|
|
1292
|
+
|
|
1293
|
+
def assert_allclose(actual, desired, rtol=1e-7, atol=0, equal_nan=False,
|
|
1294
|
+
err_msg='', verbose=True):
|
|
1295
|
+
"""
|
|
1296
|
+
Raises an AssertionError if two objects are not equal up to desired
|
|
1297
|
+
tolerance.
|
|
1298
|
+
|
|
1299
|
+
The test is equivalent to ``allclose(actual, desired, rtol, atol)``.
|
|
1300
|
+
It compares the difference between `actual` and `desired` to
|
|
1301
|
+
``atol + rtol * abs(desired)``.
|
|
1302
|
+
|
|
1303
|
+
.. versionadded:: 1.5.0
|
|
1304
|
+
|
|
1305
|
+
Parameters
|
|
1306
|
+
----------
|
|
1307
|
+
actual : array_like
|
|
1308
|
+
Array obtained.
|
|
1309
|
+
desired : array_like
|
|
1310
|
+
Array desired.
|
|
1311
|
+
rtol : float, optional
|
|
1312
|
+
Relative tolerance.
|
|
1313
|
+
atol : float, optional
|
|
1314
|
+
Absolute tolerance.
|
|
1315
|
+
equal_nan : bool, optional.
|
|
1316
|
+
If True, NaNs will compare equal.
|
|
1317
|
+
err_msg : str, optional
|
|
1318
|
+
The error message to be printed in case of failure.
|
|
1319
|
+
verbose : bool, optional
|
|
1320
|
+
If True, the conflicting values are appended to the error message.
|
|
1321
|
+
|
|
1322
|
+
Raises
|
|
1323
|
+
------
|
|
1324
|
+
AssertionError
|
|
1325
|
+
If actual and desired are not equal up to specified precision.
|
|
1326
|
+
|
|
1327
|
+
See Also
|
|
1328
|
+
--------
|
|
1329
|
+
assert_array_almost_equal_nulp, assert_array_max_ulp
|
|
1330
|
+
|
|
1331
|
+
Examples
|
|
1332
|
+
--------
|
|
1333
|
+
>>> x = [1e-5, 1e-3, 1e-1]
|
|
1334
|
+
>>> y = np.arccos(np.cos(x))
|
|
1335
|
+
>>> assert_allclose(x, y, rtol=1e-5, atol=0)
|
|
1336
|
+
|
|
1337
|
+
"""
|
|
1338
|
+
import numpy as np
|
|
1339
|
+
|
|
1340
|
+
def compare(x, y):
|
|
1341
|
+
return np.core.numeric.isclose(x, y, rtol=rtol, atol=atol,
|
|
1342
|
+
equal_nan=equal_nan)
|
|
1343
|
+
|
|
1344
|
+
actual, desired = np.asanyarray(actual), np.asanyarray(desired)
|
|
1345
|
+
header = 'Not equal to tolerance rtol=%g, atol=%g' % (rtol, atol)
|
|
1346
|
+
assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
|
|
1347
|
+
verbose=verbose, header=header)
|
|
1348
|
+
|
|
1349
|
+
def assert_array_almost_equal_nulp(x, y, nulp=1):
|
|
1350
|
+
"""
|
|
1351
|
+
Compare two arrays relatively to their spacing.
|
|
1352
|
+
|
|
1353
|
+
This is a relatively robust method to compare two arrays whose amplitude
|
|
1354
|
+
is variable.
|
|
1355
|
+
|
|
1356
|
+
Parameters
|
|
1357
|
+
----------
|
|
1358
|
+
x, y : array_like
|
|
1359
|
+
Input arrays.
|
|
1360
|
+
nulp : int, optional
|
|
1361
|
+
The maximum number of unit in the last place for tolerance (see Notes).
|
|
1362
|
+
Default is 1.
|
|
1363
|
+
|
|
1364
|
+
Returns
|
|
1365
|
+
-------
|
|
1366
|
+
None
|
|
1367
|
+
|
|
1368
|
+
Raises
|
|
1369
|
+
------
|
|
1370
|
+
AssertionError
|
|
1371
|
+
If the spacing between `x` and `y` for one or more elements is larger
|
|
1372
|
+
than `nulp`.
|
|
1373
|
+
|
|
1374
|
+
See Also
|
|
1375
|
+
--------
|
|
1376
|
+
assert_array_max_ulp : Check that all items of arrays differ in at most
|
|
1377
|
+
N Units in the Last Place.
|
|
1378
|
+
spacing : Return the distance between x and the nearest adjacent number.
|
|
1379
|
+
|
|
1380
|
+
Notes
|
|
1381
|
+
-----
|
|
1382
|
+
An assertion is raised if the following condition is not met::
|
|
1383
|
+
|
|
1384
|
+
abs(x - y) <= nulps * spacing(maximum(abs(x), abs(y)))
|
|
1385
|
+
|
|
1386
|
+
Examples
|
|
1387
|
+
--------
|
|
1388
|
+
>>> x = np.array([1., 1e-10, 1e-20])
|
|
1389
|
+
>>> eps = np.finfo(x.dtype).eps
|
|
1390
|
+
>>> np.testing.assert_array_almost_equal_nulp(x, x*eps/2 + x)
|
|
1391
|
+
|
|
1392
|
+
>>> np.testing.assert_array_almost_equal_nulp(x, x*eps + x)
|
|
1393
|
+
Traceback (most recent call last):
|
|
1394
|
+
...
|
|
1395
|
+
AssertionError: X and Y are not equal to 1 ULP (max is 2)
|
|
1396
|
+
|
|
1397
|
+
"""
|
|
1398
|
+
import numpy as np
|
|
1399
|
+
ax = np.abs(x)
|
|
1400
|
+
ay = np.abs(y)
|
|
1401
|
+
ref = nulp * np.spacing(np.where(ax > ay, ax, ay))
|
|
1402
|
+
if not np.all(np.abs(x-y) <= ref):
|
|
1403
|
+
if np.iscomplexobj(x) or np.iscomplexobj(y):
|
|
1404
|
+
msg = "X and Y are not equal to %d ULP" % nulp
|
|
1405
|
+
else:
|
|
1406
|
+
max_nulp = np.max(nulp_diff(x, y))
|
|
1407
|
+
msg = "X and Y are not equal to %d ULP (max is %g)" % (nulp, max_nulp)
|
|
1408
|
+
raise AssertionError(msg)
|
|
1409
|
+
|
|
1410
|
+
def assert_array_max_ulp(a, b, maxulp=1, dtype=None):
|
|
1411
|
+
"""
|
|
1412
|
+
Check that all items of arrays differ in at most N Units in the Last Place.
|
|
1413
|
+
|
|
1414
|
+
Parameters
|
|
1415
|
+
----------
|
|
1416
|
+
a, b : array_like
|
|
1417
|
+
Input arrays to be compared.
|
|
1418
|
+
maxulp : int, optional
|
|
1419
|
+
The maximum number of units in the last place that elements of `a` and
|
|
1420
|
+
`b` can differ. Default is 1.
|
|
1421
|
+
dtype : dtype, optional
|
|
1422
|
+
Data-type to convert `a` and `b` to if given. Default is None.
|
|
1423
|
+
|
|
1424
|
+
Returns
|
|
1425
|
+
-------
|
|
1426
|
+
ret : ndarray
|
|
1427
|
+
Array containing number of representable floating point numbers between
|
|
1428
|
+
items in `a` and `b`.
|
|
1429
|
+
|
|
1430
|
+
Raises
|
|
1431
|
+
------
|
|
1432
|
+
AssertionError
|
|
1433
|
+
If one or more elements differ by more than `maxulp`.
|
|
1434
|
+
|
|
1435
|
+
See Also
|
|
1436
|
+
--------
|
|
1437
|
+
assert_array_almost_equal_nulp : Compare two arrays relatively to their
|
|
1438
|
+
spacing.
|
|
1439
|
+
|
|
1440
|
+
Examples
|
|
1441
|
+
--------
|
|
1442
|
+
>>> a = np.linspace(0., 1., 100)
|
|
1443
|
+
>>> res = np.testing.assert_array_max_ulp(a, np.arcsin(np.sin(a)))
|
|
1444
|
+
|
|
1445
|
+
"""
|
|
1446
|
+
import numpy as np
|
|
1447
|
+
ret = nulp_diff(a, b, dtype)
|
|
1448
|
+
if not np.all(ret <= maxulp):
|
|
1449
|
+
raise AssertionError("Arrays are not almost equal up to %g ULP" %
|
|
1450
|
+
maxulp)
|
|
1451
|
+
return ret
|
|
1452
|
+
|
|
1453
|
+
def nulp_diff(x, y, dtype=None):
|
|
1454
|
+
"""For each item in x and y, return the number of representable floating
|
|
1455
|
+
points between them.
|
|
1456
|
+
|
|
1457
|
+
Parameters
|
|
1458
|
+
----------
|
|
1459
|
+
x : array_like
|
|
1460
|
+
first input array
|
|
1461
|
+
y : array_like
|
|
1462
|
+
second input array
|
|
1463
|
+
dtype : dtype, optional
|
|
1464
|
+
Data-type to convert `x` and `y` to if given. Default is None.
|
|
1465
|
+
|
|
1466
|
+
Returns
|
|
1467
|
+
-------
|
|
1468
|
+
nulp : array_like
|
|
1469
|
+
number of representable floating point numbers between each item in x
|
|
1470
|
+
and y.
|
|
1471
|
+
|
|
1472
|
+
Examples
|
|
1473
|
+
--------
|
|
1474
|
+
# By definition, epsilon is the smallest number such as 1 + eps != 1, so
|
|
1475
|
+
# there should be exactly one ULP between 1 and 1 + eps
|
|
1476
|
+
>>> nulp_diff(1, 1 + np.finfo(x.dtype).eps)
|
|
1477
|
+
1.0
|
|
1478
|
+
"""
|
|
1479
|
+
import numpy as np
|
|
1480
|
+
if dtype:
|
|
1481
|
+
x = np.array(x, dtype=dtype)
|
|
1482
|
+
y = np.array(y, dtype=dtype)
|
|
1483
|
+
else:
|
|
1484
|
+
x = np.array(x)
|
|
1485
|
+
y = np.array(y)
|
|
1486
|
+
|
|
1487
|
+
t = np.common_type(x, y)
|
|
1488
|
+
if np.iscomplexobj(x) or np.iscomplexobj(y):
|
|
1489
|
+
raise NotImplementedError("_nulp not implemented for complex array")
|
|
1490
|
+
|
|
1491
|
+
x = np.array(x, dtype=t)
|
|
1492
|
+
y = np.array(y, dtype=t)
|
|
1493
|
+
|
|
1494
|
+
if not x.shape == y.shape:
|
|
1495
|
+
raise ValueError("x and y do not have the same shape: %s - %s" %
|
|
1496
|
+
(x.shape, y.shape))
|
|
1497
|
+
|
|
1498
|
+
def _diff(rx, ry, vdt):
|
|
1499
|
+
diff = np.array(rx-ry, dtype=vdt)
|
|
1500
|
+
return np.abs(diff)
|
|
1501
|
+
|
|
1502
|
+
rx = integer_repr(x)
|
|
1503
|
+
ry = integer_repr(y)
|
|
1504
|
+
return _diff(rx, ry, t)
|
|
1505
|
+
|
|
1506
|
+
def _integer_repr(x, vdt, comp):
|
|
1507
|
+
# Reinterpret binary representation of the float as sign-magnitude:
|
|
1508
|
+
# take into account two-complement representation
|
|
1509
|
+
# See also
|
|
1510
|
+
# http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
|
|
1511
|
+
rx = x.view(vdt)
|
|
1512
|
+
if not (rx.size == 1):
|
|
1513
|
+
rx[rx < 0] = comp - rx[rx < 0]
|
|
1514
|
+
else:
|
|
1515
|
+
if rx < 0:
|
|
1516
|
+
rx = comp - rx
|
|
1517
|
+
|
|
1518
|
+
return rx
|
|
1519
|
+
|
|
1520
|
+
def integer_repr(x):
|
|
1521
|
+
"""Return the signed-magnitude interpretation of the binary representation of
|
|
1522
|
+
x."""
|
|
1523
|
+
import numpy as np
|
|
1524
|
+
if x.dtype == np.float32:
|
|
1525
|
+
return _integer_repr(x, np.int32, np.int32(-2**31))
|
|
1526
|
+
elif x.dtype == np.float64:
|
|
1527
|
+
return _integer_repr(x, np.int64, np.int64(-2**63))
|
|
1528
|
+
else:
|
|
1529
|
+
raise ValueError("Unsupported dtype %s" % x.dtype)
|
|
1530
|
+
|
|
1531
|
+
# The following two classes are copied from python 2.6 warnings module (context
|
|
1532
|
+
# manager)
|
|
1533
|
+
class WarningMessage(object):
|
|
1534
|
+
|
|
1535
|
+
"""
|
|
1536
|
+
Holds the result of a single showwarning() call.
|
|
1537
|
+
|
|
1538
|
+
Deprecated in 1.8.0
|
|
1539
|
+
|
|
1540
|
+
Notes
|
|
1541
|
+
-----
|
|
1542
|
+
`WarningMessage` is copied from the Python 2.6 warnings module,
|
|
1543
|
+
so it can be used in NumPy with older Python versions.
|
|
1544
|
+
|
|
1545
|
+
"""
|
|
1546
|
+
|
|
1547
|
+
_WARNING_DETAILS = ("message", "category", "filename", "lineno", "file",
|
|
1548
|
+
"line")
|
|
1549
|
+
|
|
1550
|
+
def __init__(self, message, category, filename, lineno, file=None,
|
|
1551
|
+
line=None):
|
|
1552
|
+
local_values = locals()
|
|
1553
|
+
for attr in self._WARNING_DETAILS:
|
|
1554
|
+
setattr(self, attr, local_values[attr])
|
|
1555
|
+
if category:
|
|
1556
|
+
self._category_name = category.__name__
|
|
1557
|
+
else:
|
|
1558
|
+
self._category_name = None
|
|
1559
|
+
|
|
1560
|
+
def __str__(self):
|
|
1561
|
+
return ("{message : %r, category : %r, filename : %r, lineno : %s, "
|
|
1562
|
+
"line : %r}" % (self.message, self._category_name,
|
|
1563
|
+
self.filename, self.lineno, self.line))
|
|
1564
|
+
|
|
1565
|
+
class WarningManager(object):
|
|
1566
|
+
"""
|
|
1567
|
+
A context manager that copies and restores the warnings filter upon
|
|
1568
|
+
exiting the context.
|
|
1569
|
+
|
|
1570
|
+
The 'record' argument specifies whether warnings should be captured by a
|
|
1571
|
+
custom implementation of ``warnings.showwarning()`` and be appended to a
|
|
1572
|
+
list returned by the context manager. Otherwise None is returned by the
|
|
1573
|
+
context manager. The objects appended to the list are arguments whose
|
|
1574
|
+
attributes mirror the arguments to ``showwarning()``.
|
|
1575
|
+
|
|
1576
|
+
The 'module' argument is to specify an alternative module to the module
|
|
1577
|
+
named 'warnings' and imported under that name. This argument is only useful
|
|
1578
|
+
when testing the warnings module itself.
|
|
1579
|
+
|
|
1580
|
+
Deprecated in 1.8.0
|
|
1581
|
+
|
|
1582
|
+
Notes
|
|
1583
|
+
-----
|
|
1584
|
+
`WarningManager` is a copy of the ``catch_warnings`` context manager
|
|
1585
|
+
from the Python 2.6 warnings module, with slight modifications.
|
|
1586
|
+
It is copied so it can be used in NumPy with older Python versions.
|
|
1587
|
+
|
|
1588
|
+
"""
|
|
1589
|
+
|
|
1590
|
+
def __init__(self, record=False, module=None):
|
|
1591
|
+
self._record = record
|
|
1592
|
+
if module is None:
|
|
1593
|
+
self._module = sys.modules['warnings']
|
|
1594
|
+
else:
|
|
1595
|
+
self._module = module
|
|
1596
|
+
self._entered = False
|
|
1597
|
+
|
|
1598
|
+
def __enter__(self):
|
|
1599
|
+
if self._entered:
|
|
1600
|
+
raise RuntimeError("Cannot enter %r twice" % self)
|
|
1601
|
+
self._entered = True
|
|
1602
|
+
self._filters = self._module.filters
|
|
1603
|
+
self._module.filters = self._filters[:]
|
|
1604
|
+
self._showwarning = self._module.showwarning
|
|
1605
|
+
if self._record:
|
|
1606
|
+
log = []
|
|
1607
|
+
|
|
1608
|
+
def showwarning(*args, **kwargs):
|
|
1609
|
+
log.append(WarningMessage(*args, **kwargs))
|
|
1610
|
+
self._module.showwarning = showwarning
|
|
1611
|
+
return log
|
|
1612
|
+
else:
|
|
1613
|
+
return None
|
|
1614
|
+
|
|
1615
|
+
def __exit__(self):
|
|
1616
|
+
if not self._entered:
|
|
1617
|
+
raise RuntimeError("Cannot exit %r without entering first" % self)
|
|
1618
|
+
self._module.filters = self._filters
|
|
1619
|
+
self._module.showwarning = self._showwarning
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
def assert_warns(warning_class, func, *args, **kw):
|
|
1623
|
+
"""
|
|
1624
|
+
Fail unless the given callable throws the specified warning.
|
|
1625
|
+
|
|
1626
|
+
A warning of class warning_class should be thrown by the callable when
|
|
1627
|
+
invoked with arguments args and keyword arguments kwargs.
|
|
1628
|
+
If a different type of warning is thrown, it will not be caught, and the
|
|
1629
|
+
test case will be deemed to have suffered an error.
|
|
1630
|
+
|
|
1631
|
+
.. versionadded:: 1.4.0
|
|
1632
|
+
|
|
1633
|
+
Parameters
|
|
1634
|
+
----------
|
|
1635
|
+
warning_class : class
|
|
1636
|
+
The class defining the warning that `func` is expected to throw.
|
|
1637
|
+
func : callable
|
|
1638
|
+
The callable to test.
|
|
1639
|
+
\\*args : Arguments
|
|
1640
|
+
Arguments passed to `func`.
|
|
1641
|
+
\\*\\*kwargs : Kwargs
|
|
1642
|
+
Keyword arguments passed to `func`.
|
|
1643
|
+
|
|
1644
|
+
Returns
|
|
1645
|
+
-------
|
|
1646
|
+
The value returned by `func`.
|
|
1647
|
+
|
|
1648
|
+
"""
|
|
1649
|
+
with warnings.catch_warnings(record=True) as l:
|
|
1650
|
+
warnings.simplefilter('always')
|
|
1651
|
+
result = func(*args, **kw)
|
|
1652
|
+
if not len(l) > 0:
|
|
1653
|
+
raise AssertionError("No warning raised when calling %s"
|
|
1654
|
+
% func.__name__)
|
|
1655
|
+
if not l[0].category is warning_class:
|
|
1656
|
+
raise AssertionError("First warning for %s is not a "
|
|
1657
|
+
"%s( is %s)" % (func.__name__, warning_class, l[0]))
|
|
1658
|
+
return result
|
|
1659
|
+
|
|
1660
|
+
def assert_no_warnings(func, *args, **kw):
|
|
1661
|
+
"""
|
|
1662
|
+
Fail if the given callable produces any warnings.
|
|
1663
|
+
|
|
1664
|
+
.. versionadded:: 1.7.0
|
|
1665
|
+
|
|
1666
|
+
Parameters
|
|
1667
|
+
----------
|
|
1668
|
+
func : callable
|
|
1669
|
+
The callable to test.
|
|
1670
|
+
\\*args : Arguments
|
|
1671
|
+
Arguments passed to `func`.
|
|
1672
|
+
\\*\\*kwargs : Kwargs
|
|
1673
|
+
Keyword arguments passed to `func`.
|
|
1674
|
+
|
|
1675
|
+
Returns
|
|
1676
|
+
-------
|
|
1677
|
+
The value returned by `func`.
|
|
1678
|
+
|
|
1679
|
+
"""
|
|
1680
|
+
with warnings.catch_warnings(record=True) as l:
|
|
1681
|
+
warnings.simplefilter('always')
|
|
1682
|
+
result = func(*args, **kw)
|
|
1683
|
+
if len(l) > 0:
|
|
1684
|
+
raise AssertionError("Got warnings when calling %s: %s"
|
|
1685
|
+
% (func.__name__, l))
|
|
1686
|
+
return result
|
|
1687
|
+
|
|
1688
|
+
|
|
1689
|
+
def _gen_alignment_data(dtype=float32, type='binary', max_size=24):
|
|
1690
|
+
"""
|
|
1691
|
+
generator producing data with different alignment and offsets
|
|
1692
|
+
to test simd vectorization
|
|
1693
|
+
|
|
1694
|
+
Parameters
|
|
1695
|
+
----------
|
|
1696
|
+
dtype : dtype
|
|
1697
|
+
data type to produce
|
|
1698
|
+
type : string
|
|
1699
|
+
'unary': create data for unary operations, creates one input
|
|
1700
|
+
and output array
|
|
1701
|
+
'binary': create data for unary operations, creates two input
|
|
1702
|
+
and output array
|
|
1703
|
+
max_size : integer
|
|
1704
|
+
maximum size of data to produce
|
|
1705
|
+
|
|
1706
|
+
Returns
|
|
1707
|
+
-------
|
|
1708
|
+
if type is 'unary' yields one output, one input array and a message
|
|
1709
|
+
containing information on the data
|
|
1710
|
+
if type is 'binary' yields one output array, two input array and a message
|
|
1711
|
+
containing information on the data
|
|
1712
|
+
|
|
1713
|
+
"""
|
|
1714
|
+
ufmt = 'unary offset=(%d, %d), size=%d, dtype=%r, %s'
|
|
1715
|
+
bfmt = 'binary offset=(%d, %d, %d), size=%d, dtype=%r, %s'
|
|
1716
|
+
for o in range(3):
|
|
1717
|
+
for s in range(o + 2, max(o + 3, max_size)):
|
|
1718
|
+
if type == 'unary':
|
|
1719
|
+
inp = lambda: arange(s, dtype=dtype)[o:]
|
|
1720
|
+
out = empty((s,), dtype=dtype)[o:]
|
|
1721
|
+
yield out, inp(), ufmt % (o, o, s, dtype, 'out of place')
|
|
1722
|
+
yield inp(), inp(), ufmt % (o, o, s, dtype, 'in place')
|
|
1723
|
+
yield out[1:], inp()[:-1], ufmt % \
|
|
1724
|
+
(o + 1, o, s - 1, dtype, 'out of place')
|
|
1725
|
+
yield out[:-1], inp()[1:], ufmt % \
|
|
1726
|
+
(o, o + 1, s - 1, dtype, 'out of place')
|
|
1727
|
+
yield inp()[:-1], inp()[1:], ufmt % \
|
|
1728
|
+
(o, o + 1, s - 1, dtype, 'aliased')
|
|
1729
|
+
yield inp()[1:], inp()[:-1], ufmt % \
|
|
1730
|
+
(o + 1, o, s - 1, dtype, 'aliased')
|
|
1731
|
+
if type == 'binary':
|
|
1732
|
+
inp1 = lambda: arange(s, dtype=dtype)[o:]
|
|
1733
|
+
inp2 = lambda: arange(s, dtype=dtype)[o:]
|
|
1734
|
+
out = empty((s,), dtype=dtype)[o:]
|
|
1735
|
+
yield out, inp1(), inp2(), bfmt % \
|
|
1736
|
+
(o, o, o, s, dtype, 'out of place')
|
|
1737
|
+
yield inp1(), inp1(), inp2(), bfmt % \
|
|
1738
|
+
(o, o, o, s, dtype, 'in place1')
|
|
1739
|
+
yield inp2(), inp1(), inp2(), bfmt % \
|
|
1740
|
+
(o, o, o, s, dtype, 'in place2')
|
|
1741
|
+
yield out[1:], inp1()[:-1], inp2()[:-1], bfmt % \
|
|
1742
|
+
(o + 1, o, o, s - 1, dtype, 'out of place')
|
|
1743
|
+
yield out[:-1], inp1()[1:], inp2()[:-1], bfmt % \
|
|
1744
|
+
(o, o + 1, o, s - 1, dtype, 'out of place')
|
|
1745
|
+
yield out[:-1], inp1()[:-1], inp2()[1:], bfmt % \
|
|
1746
|
+
(o, o, o + 1, s - 1, dtype, 'out of place')
|
|
1747
|
+
yield inp1()[1:], inp1()[:-1], inp2()[:-1], bfmt % \
|
|
1748
|
+
(o + 1, o, o, s - 1, dtype, 'aliased')
|
|
1749
|
+
yield inp1()[:-1], inp1()[1:], inp2()[:-1], bfmt % \
|
|
1750
|
+
(o, o + 1, o, s - 1, dtype, 'aliased')
|
|
1751
|
+
yield inp1()[:-1], inp1()[:-1], inp2()[1:], bfmt % \
|
|
1752
|
+
(o, o, o + 1, s - 1, dtype, 'aliased')
|
|
1753
|
+
|
|
1754
|
+
|
|
1755
|
+
class IgnoreException(Exception):
|
|
1756
|
+
"Ignoring this exception due to disabled feature"
|
|
1757
|
+
|
|
1758
|
+
|
|
1759
|
+
@contextlib.contextmanager
|
|
1760
|
+
def tempdir(*args, **kwargs):
|
|
1761
|
+
"""Context manager to provide a temporary test folder.
|
|
1762
|
+
|
|
1763
|
+
All arguments are passed as this to the underlying tempfile.mkdtemp
|
|
1764
|
+
function.
|
|
1765
|
+
|
|
1766
|
+
"""
|
|
1767
|
+
tmpdir = mkdtemp(*args, **kwargs)
|
|
1768
|
+
yield tmpdir
|
|
1769
|
+
shutil.rmtree(tmpdir)
|
|
1770
|
+
|
|
1771
|
+
|
|
1772
|
+
class clear_and_catch_warnings(warnings.catch_warnings):
|
|
1773
|
+
""" Context manager that resets warning registry for catching warnings
|
|
1774
|
+
|
|
1775
|
+
Warnings can be slippery, because, whenever a warning is triggered, Python
|
|
1776
|
+
adds a ``__warningregistry__`` member to the *calling* module. This makes
|
|
1777
|
+
it impossible to retrigger the warning in this module, whatever you put in
|
|
1778
|
+
the warnings filters. This context manager accepts a sequence of `modules`
|
|
1779
|
+
as a keyword argument to its constructor and:
|
|
1780
|
+
|
|
1781
|
+
* stores and removes any ``__warningregistry__`` entries in given `modules`
|
|
1782
|
+
on entry;
|
|
1783
|
+
* resets ``__warningregistry__`` to its previous state on exit.
|
|
1784
|
+
|
|
1785
|
+
This makes it possible to trigger any warning afresh inside the context
|
|
1786
|
+
manager without disturbing the state of warnings outside.
|
|
1787
|
+
|
|
1788
|
+
For compatibility with Python 3.0, please consider all arguments to be
|
|
1789
|
+
keyword-only.
|
|
1790
|
+
|
|
1791
|
+
Parameters
|
|
1792
|
+
----------
|
|
1793
|
+
record : bool, optional
|
|
1794
|
+
Specifies whether warnings should be captured by a custom
|
|
1795
|
+
implementation of ``warnings.showwarning()`` and be appended to a list
|
|
1796
|
+
returned by the context manager. Otherwise None is returned by the
|
|
1797
|
+
context manager. The objects appended to the list are arguments whose
|
|
1798
|
+
attributes mirror the arguments to ``showwarning()``.
|
|
1799
|
+
modules : sequence, optional
|
|
1800
|
+
Sequence of modules for which to reset warnings registry on entry and
|
|
1801
|
+
restore on exit
|
|
1802
|
+
|
|
1803
|
+
Examples
|
|
1804
|
+
--------
|
|
1805
|
+
>>> import warnings
|
|
1806
|
+
>>> with clear_and_catch_warnings(modules=[np.core.fromnumeric]):
|
|
1807
|
+
... warnings.simplefilter('always')
|
|
1808
|
+
... # do something that raises a warning in np.core.fromnumeric
|
|
1809
|
+
"""
|
|
1810
|
+
class_modules = ()
|
|
1811
|
+
|
|
1812
|
+
def __init__(self, record=False, modules=()):
|
|
1813
|
+
self.modules = set(modules).union(self.class_modules)
|
|
1814
|
+
self._warnreg_copies = {}
|
|
1815
|
+
super(clear_and_catch_warnings, self).__init__(record=record)
|
|
1816
|
+
|
|
1817
|
+
def __enter__(self):
|
|
1818
|
+
for mod in self.modules:
|
|
1819
|
+
if hasattr(mod, '__warningregistry__'):
|
|
1820
|
+
mod_reg = mod.__warningregistry__
|
|
1821
|
+
self._warnreg_copies[mod] = mod_reg.copy()
|
|
1822
|
+
mod_reg.clear()
|
|
1823
|
+
return super(clear_and_catch_warnings, self).__enter__()
|
|
1824
|
+
|
|
1825
|
+
def __exit__(self, *exc_info):
|
|
1826
|
+
super(clear_and_catch_warnings, self).__exit__(*exc_info)
|
|
1827
|
+
for mod in self.modules:
|
|
1828
|
+
if hasattr(mod, '__warningregistry__'):
|
|
1829
|
+
mod.__warningregistry__.clear()
|
|
1830
|
+
if mod in self._warnreg_copies:
|
|
1831
|
+
mod.__warningregistry__.update(self._warnreg_copies[mod])
|