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.
Files changed (1593) hide show
  1. numpy-1.10.0.post2/INSTALL.txt +200 -0
  2. numpy-1.10.0.post2/LICENSE.txt +30 -0
  3. numpy-1.10.0.post2/MANIFEST.in +31 -0
  4. numpy-1.10.0.post2/PKG-INFO +47 -0
  5. numpy-1.10.0.post2/cnew.txt +117 -0
  6. numpy-1.10.0.post2/cold.txt +44 -0
  7. numpy-1.10.0.post2/committers.txt +160 -0
  8. numpy-1.10.0.post2/cpre.txt +283 -0
  9. numpy-1.10.0.post2/crel.txt +161 -0
  10. numpy-1.10.0.post2/doc/release/1.10.0-notes.rst +439 -0
  11. numpy-1.10.0.post2/doc/scipy-sphinx-theme/.git +1 -0
  12. numpy-1.10.0.post2/doc/source/conf.py +331 -0
  13. numpy-1.10.0.post2/doc/source/dev/development_environment.rst +211 -0
  14. numpy-1.10.0.post2/doc/source/dev/gitwash/development_workflow.rst +534 -0
  15. numpy-1.10.0.post2/doc/source/dev/gitwash/git_links.inc +95 -0
  16. numpy-1.10.0.post2/doc/source/dev/gitwash/index.rst +14 -0
  17. numpy-1.10.0.post2/doc/source/dev/index.rst +11 -0
  18. numpy-1.10.0.post2/doc/source/reference/arrays.classes.rst +490 -0
  19. numpy-1.10.0.post2/doc/source/reference/arrays.dtypes.rst +536 -0
  20. numpy-1.10.0.post2/doc/source/reference/arrays.indexing.rst +549 -0
  21. numpy-1.10.0.post2/doc/source/reference/arrays.interface.rst +337 -0
  22. numpy-1.10.0.post2/doc/source/reference/arrays.ndarray.rst +622 -0
  23. numpy-1.10.0.post2/doc/source/reference/arrays.scalars.rst +291 -0
  24. numpy-1.10.0.post2/doc/source/reference/c-api.array.rst +3393 -0
  25. numpy-1.10.0.post2/doc/source/reference/c-api.config.rst +103 -0
  26. numpy-1.10.0.post2/doc/source/reference/c-api.coremath.rst +420 -0
  27. numpy-1.10.0.post2/doc/source/reference/c-api.dtype.rst +376 -0
  28. numpy-1.10.0.post2/doc/source/reference/c-api.generalized-ufuncs.rst +191 -0
  29. numpy-1.10.0.post2/doc/source/reference/c-api.iterator.rst +1300 -0
  30. numpy-1.10.0.post2/doc/source/reference/c-api.types-and-structures.rst +1240 -0
  31. numpy-1.10.0.post2/doc/source/reference/c-api.ufunc.rst +413 -0
  32. numpy-1.10.0.post2/doc/source/reference/index.rst +43 -0
  33. numpy-1.10.0.post2/doc/source/reference/internals.code-explanations.rst +615 -0
  34. numpy-1.10.0.post2/doc/source/reference/routines.array-manipulation.rst +115 -0
  35. numpy-1.10.0.post2/doc/source/reference/routines.io.rst +78 -0
  36. numpy-1.10.0.post2/doc/source/reference/routines.linalg.rst +91 -0
  37. numpy-1.10.0.post2/doc/source/reference/routines.ma.rst +407 -0
  38. numpy-1.10.0.post2/doc/source/reference/routines.sort.rst +41 -0
  39. numpy-1.10.0.post2/doc/source/reference/routines.statistics.rst +57 -0
  40. numpy-1.10.0.post2/doc/source/reference/swig.interface-file.rst +1066 -0
  41. numpy-1.10.0.post2/doc/source/reference/swig.testing.rst +167 -0
  42. numpy-1.10.0.post2/doc/source/reference/ufuncs.rst +666 -0
  43. numpy-1.10.0.post2/doc/source/release.rst +20 -0
  44. numpy-1.10.0.post2/doc/source/user/basics.io.genfromtxt.rst +531 -0
  45. numpy-1.10.0.post2/doc/source/user/basics.rec.rst +7 -0
  46. numpy-1.10.0.post2/doc/source/user/c-info.beyond-basics.rst +560 -0
  47. numpy-1.10.0.post2/doc/source/user/c-info.how-to-extend.rst +642 -0
  48. numpy-1.10.0.post2/doc/source/user/c-info.python-as-glue.rst +1177 -0
  49. numpy-1.10.0.post2/doc/source/user/c-info.ufunc-tutorial.rst +1211 -0
  50. numpy-1.10.0.post2/doc/source/user/install.rst +194 -0
  51. numpy-1.10.0.post2/doc/sphinxext/.git +1 -0
  52. numpy-1.10.0.post2/numpy/__init__.py +227 -0
  53. numpy-1.10.0.post2/numpy/_build_utils/README +8 -0
  54. numpy-1.10.0.post2/numpy/_build_utils/apple_accelerate.py +21 -0
  55. numpy-1.10.0.post2/numpy/_build_utils/common.py +138 -0
  56. numpy-1.10.0.post2/numpy/_build_utils/src/apple_sgemv_fix.c +227 -0
  57. numpy-1.10.0.post2/numpy/_build_utils/waf.py +531 -0
  58. numpy-1.10.0.post2/numpy/_import_tools.py +353 -0
  59. numpy-1.10.0.post2/numpy/add_newdocs.py +7611 -0
  60. numpy-1.10.0.post2/numpy/compat/_inspect.py +194 -0
  61. numpy-1.10.0.post2/numpy/compat/py3k.py +88 -0
  62. numpy-1.10.0.post2/numpy/compat/setup.py +12 -0
  63. numpy-1.10.0.post2/numpy/core/__init__.py +89 -0
  64. numpy-1.10.0.post2/numpy/core/_internal.py +761 -0
  65. numpy-1.10.0.post2/numpy/core/_methods.py +133 -0
  66. numpy-1.10.0.post2/numpy/core/arrayprint.py +760 -0
  67. numpy-1.10.0.post2/numpy/core/code_generators/cversions.txt +34 -0
  68. numpy-1.10.0.post2/numpy/core/code_generators/generate_ufunc_api.py +219 -0
  69. numpy-1.10.0.post2/numpy/core/code_generators/generate_umath.py +1017 -0
  70. numpy-1.10.0.post2/numpy/core/code_generators/numpy_api.py +415 -0
  71. numpy-1.10.0.post2/numpy/core/code_generators/ufunc_docstrings.py +3442 -0
  72. numpy-1.10.0.post2/numpy/core/defchararray.py +2689 -0
  73. numpy-1.10.0.post2/numpy/core/fromnumeric.py +3089 -0
  74. numpy-1.10.0.post2/numpy/core/function_base.py +203 -0
  75. numpy-1.10.0.post2/numpy/core/getlimits.py +308 -0
  76. numpy-1.10.0.post2/numpy/core/include/numpy/ndarrayobject.h +246 -0
  77. numpy-1.10.0.post2/numpy/core/include/numpy/ndarraytypes.h +1797 -0
  78. numpy-1.10.0.post2/numpy/core/include/numpy/npy_3kcompat.h +448 -0
  79. numpy-1.10.0.post2/numpy/core/include/numpy/npy_common.h +1051 -0
  80. numpy-1.10.0.post2/numpy/core/include/numpy/npy_cpu.h +92 -0
  81. numpy-1.10.0.post2/numpy/core/include/numpy/npy_endian.h +61 -0
  82. numpy-1.10.0.post2/numpy/core/include/numpy/npy_math.h +525 -0
  83. numpy-1.10.0.post2/numpy/core/include/numpy/numpyconfig.h +36 -0
  84. numpy-1.10.0.post2/numpy/core/machar.py +342 -0
  85. numpy-1.10.0.post2/numpy/core/memmap.py +311 -0
  86. numpy-1.10.0.post2/numpy/core/numeric.py +2893 -0
  87. numpy-1.10.0.post2/numpy/core/numerictypes.py +1036 -0
  88. numpy-1.10.0.post2/numpy/core/records.py +846 -0
  89. numpy-1.10.0.post2/numpy/core/setup.py +983 -0
  90. numpy-1.10.0.post2/numpy/core/setup_common.py +352 -0
  91. numpy-1.10.0.post2/numpy/core/shape_base.py +350 -0
  92. numpy-1.10.0.post2/numpy/core/src/multiarray/alloc.c +244 -0
  93. numpy-1.10.0.post2/numpy/core/src/multiarray/arrayobject.c +1858 -0
  94. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.c.src +4738 -0
  95. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.h +37 -0
  96. numpy-1.10.0.post2/numpy/core/src/multiarray/buffer.c +981 -0
  97. numpy-1.10.0.post2/numpy/core/src/multiarray/calculation.c +1224 -0
  98. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.c +812 -0
  99. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.h +10 -0
  100. numpy-1.10.0.post2/numpy/core/src/multiarray/common.c +911 -0
  101. numpy-1.10.0.post2/numpy/core/src/multiarray/common.h +250 -0
  102. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.c +1664 -0
  103. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.h +24 -0
  104. numpy-1.10.0.post2/numpy/core/src/multiarray/conversion_utils.c +1217 -0
  105. numpy-1.10.0.post2/numpy/core/src/multiarray/convert.c +590 -0
  106. numpy-1.10.0.post2/numpy/core/src/multiarray/convert_datatype.c +2155 -0
  107. numpy-1.10.0.post2/numpy/core/src/multiarray/ctors.c +3838 -0
  108. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime.c +3821 -0
  109. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busday.c +1322 -0
  110. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busdaycal.c +552 -0
  111. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_strings.c +1772 -0
  112. numpy-1.10.0.post2/numpy/core/src/multiarray/descriptor.c +3719 -0
  113. numpy-1.10.0.post2/numpy/core/src/multiarray/dtype_transfer.c +4239 -0
  114. numpy-1.10.0.post2/numpy/core/src/multiarray/einsum.c.src +3005 -0
  115. numpy-1.10.0.post2/numpy/core/src/multiarray/getset.c +986 -0
  116. numpy-1.10.0.post2/numpy/core/src/multiarray/hashdescr.c +318 -0
  117. numpy-1.10.0.post2/numpy/core/src/multiarray/item_selection.c +2413 -0
  118. numpy-1.10.0.post2/numpy/core/src/multiarray/iterators.c +2192 -0
  119. numpy-1.10.0.post2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +1769 -0
  120. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.c +3380 -0
  121. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.h +77 -0
  122. numpy-1.10.0.post2/numpy/core/src/multiarray/methods.c +2514 -0
  123. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarray_tests.c.src +1035 -0
  124. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.c +4628 -0
  125. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.h +15 -0
  126. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_api.c +2809 -0
  127. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_constr.c +3160 -0
  128. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_pywrap.c +2499 -0
  129. numpy-1.10.0.post2/numpy/core/src/multiarray/number.c +1106 -0
  130. numpy-1.10.0.post2/numpy/core/src/multiarray/number.h +77 -0
  131. numpy-1.10.0.post2/numpy/core/src/multiarray/numpymemoryview.c +308 -0
  132. numpy-1.10.0.post2/numpy/core/src/multiarray/numpyos.c +683 -0
  133. numpy-1.10.0.post2/numpy/core/src/multiarray/scalarapi.c +870 -0
  134. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.c.src +4343 -0
  135. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.h +55 -0
  136. numpy-1.10.0.post2/numpy/core/src/multiarray/shape.c +1131 -0
  137. numpy-1.10.0.post2/numpy/core/src/multiarray/ucsnarrow.c +174 -0
  138. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.c +180 -0
  139. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.h +18 -0
  140. numpy-1.10.0.post2/numpy/core/src/npymath/ieee754.c.src +808 -0
  141. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math.c.src +597 -0
  142. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_complex.c.src +1788 -0
  143. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_private.h +544 -0
  144. numpy-1.10.0.post2/numpy/core/src/npysort/heapsort.c.src +402 -0
  145. numpy-1.10.0.post2/numpy/core/src/npysort/mergesort.c.src +488 -0
  146. numpy-1.10.0.post2/numpy/core/src/npysort/npysort_common.h +360 -0
  147. numpy-1.10.0.post2/numpy/core/src/npysort/quicksort.c.src +523 -0
  148. numpy-1.10.0.post2/numpy/core/src/npysort/selection.c.src +426 -0
  149. numpy-1.10.0.post2/numpy/core/src/private/npy_cblas.h +584 -0
  150. numpy-1.10.0.post2/numpy/core/src/private/npy_config.h +101 -0
  151. numpy-1.10.0.post2/numpy/core/src/private/npy_import.h +32 -0
  152. numpy-1.10.0.post2/numpy/core/src/private/npy_partition.h.src +122 -0
  153. numpy-1.10.0.post2/numpy/core/src/private/npy_sort.h +196 -0
  154. numpy-1.10.0.post2/numpy/core/src/private/templ_common.h.src +43 -0
  155. numpy-1.10.0.post2/numpy/core/src/private/ufunc_override.h +397 -0
  156. numpy-1.10.0.post2/numpy/core/src/umath/funcs.inc.src +356 -0
  157. numpy-1.10.0.post2/numpy/core/src/umath/loops.c.src +2675 -0
  158. numpy-1.10.0.post2/numpy/core/src/umath/loops.h.src +497 -0
  159. numpy-1.10.0.post2/numpy/core/src/umath/operand_flag_tests.c.src +105 -0
  160. numpy-1.10.0.post2/numpy/core/src/umath/scalarmath.c.src +1738 -0
  161. numpy-1.10.0.post2/numpy/core/src/umath/simd.inc.src +903 -0
  162. numpy-1.10.0.post2/numpy/core/src/umath/test_rational.c.src +1404 -0
  163. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_object.c +5703 -0
  164. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_type_resolution.c +2159 -0
  165. numpy-1.10.0.post2/numpy/core/src/umath/umath_tests.c.src +392 -0
  166. numpy-1.10.0.post2/numpy/core/src/umath/umathmodule.c +443 -0
  167. numpy-1.10.0.post2/numpy/core/tests/test_abc.py +47 -0
  168. numpy-1.10.0.post2/numpy/core/tests/test_api.py +515 -0
  169. numpy-1.10.0.post2/numpy/core/tests/test_arrayprint.py +171 -0
  170. numpy-1.10.0.post2/numpy/core/tests/test_datetime.py +1820 -0
  171. numpy-1.10.0.post2/numpy/core/tests/test_defchararray.py +703 -0
  172. numpy-1.10.0.post2/numpy/core/tests/test_deprecations.py +619 -0
  173. numpy-1.10.0.post2/numpy/core/tests/test_dtype.py +578 -0
  174. numpy-1.10.0.post2/numpy/core/tests/test_einsum.py +627 -0
  175. numpy-1.10.0.post2/numpy/core/tests/test_errstate.py +52 -0
  176. numpy-1.10.0.post2/numpy/core/tests/test_function_base.py +142 -0
  177. numpy-1.10.0.post2/numpy/core/tests/test_getlimits.py +77 -0
  178. numpy-1.10.0.post2/numpy/core/tests/test_half.py +436 -0
  179. numpy-1.10.0.post2/numpy/core/tests/test_indexerrors.py +126 -0
  180. numpy-1.10.0.post2/numpy/core/tests/test_indexing.py +1047 -0
  181. numpy-1.10.0.post2/numpy/core/tests/test_item_selection.py +73 -0
  182. numpy-1.10.0.post2/numpy/core/tests/test_machar.py +29 -0
  183. numpy-1.10.0.post2/numpy/core/tests/test_memmap.py +130 -0
  184. numpy-1.10.0.post2/numpy/core/tests/test_multiarray.py +5924 -0
  185. numpy-1.10.0.post2/numpy/core/tests/test_multiarray_assignment.py +84 -0
  186. numpy-1.10.0.post2/numpy/core/tests/test_nditer.py +2638 -0
  187. numpy-1.10.0.post2/numpy/core/tests/test_numeric.py +2204 -0
  188. numpy-1.10.0.post2/numpy/core/tests/test_numerictypes.py +382 -0
  189. numpy-1.10.0.post2/numpy/core/tests/test_print.py +248 -0
  190. numpy-1.10.0.post2/numpy/core/tests/test_records.py +299 -0
  191. numpy-1.10.0.post2/numpy/core/tests/test_regression.py +2177 -0
  192. numpy-1.10.0.post2/numpy/core/tests/test_scalarinherit.py +41 -0
  193. numpy-1.10.0.post2/numpy/core/tests/test_scalarmath.py +316 -0
  194. numpy-1.10.0.post2/numpy/core/tests/test_shape_base.py +319 -0
  195. numpy-1.10.0.post2/numpy/core/tests/test_ufunc.py +1227 -0
  196. numpy-1.10.0.post2/numpy/core/tests/test_umath.py +1933 -0
  197. numpy-1.10.0.post2/numpy/core/tests/test_umath_complex.py +538 -0
  198. numpy-1.10.0.post2/numpy/core/tests/test_unicode.py +360 -0
  199. numpy-1.10.0.post2/numpy/distutils/__init__.py +23 -0
  200. numpy-1.10.0.post2/numpy/distutils/ccompiler.py +690 -0
  201. numpy-1.10.0.post2/numpy/distutils/command/autodist.py +94 -0
  202. numpy-1.10.0.post2/numpy/distutils/command/build.py +47 -0
  203. numpy-1.10.0.post2/numpy/distutils/command/build_clib.py +295 -0
  204. numpy-1.10.0.post2/numpy/distutils/command/build_ext.py +522 -0
  205. numpy-1.10.0.post2/numpy/distutils/command/config.py +437 -0
  206. numpy-1.10.0.post2/numpy/distutils/exec_command.py +651 -0
  207. numpy-1.10.0.post2/numpy/distutils/fcompiler/compaq.py +128 -0
  208. numpy-1.10.0.post2/numpy/distutils/fcompiler/gnu.py +403 -0
  209. numpy-1.10.0.post2/numpy/distutils/fcompiler/intel.py +217 -0
  210. numpy-1.10.0.post2/numpy/distutils/fcompiler/pg.py +63 -0
  211. numpy-1.10.0.post2/numpy/distutils/fcompiler/sun.py +55 -0
  212. numpy-1.10.0.post2/numpy/distutils/intelccompiler.py +95 -0
  213. numpy-1.10.0.post2/numpy/distutils/lib2def.py +116 -0
  214. numpy-1.10.0.post2/numpy/distutils/mingw32ccompiler.py +599 -0
  215. numpy-1.10.0.post2/numpy/distutils/misc_util.py +2306 -0
  216. numpy-1.10.0.post2/numpy/distutils/msvc9compiler.py +23 -0
  217. numpy-1.10.0.post2/numpy/distutils/msvccompiler.py +17 -0
  218. numpy-1.10.0.post2/numpy/distutils/npy_pkg_config.py +451 -0
  219. numpy-1.10.0.post2/numpy/distutils/system_info.py +2397 -0
  220. numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +12 -0
  221. numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +11 -0
  222. numpy-1.10.0.post2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +11 -0
  223. numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +13 -0
  224. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/__init__.py +1 -0
  225. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example.py +17 -0
  226. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example2.py +15 -0
  227. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_gnu.py +60 -0
  228. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_intel.py +36 -0
  229. numpy-1.10.0.post2/numpy/distutils/tests/test_misc_util.py +79 -0
  230. numpy-1.10.0.post2/numpy/distutils/tests/test_npy_pkg_config.py +102 -0
  231. numpy-1.10.0.post2/numpy/distutils/tests/test_system_info.py +209 -0
  232. numpy-1.10.0.post2/numpy/distutils/unixccompiler.py +125 -0
  233. numpy-1.10.0.post2/numpy/doc/byteswapping.py +156 -0
  234. numpy-1.10.0.post2/numpy/doc/creation.py +144 -0
  235. numpy-1.10.0.post2/numpy/doc/glossary.py +423 -0
  236. numpy-1.10.0.post2/numpy/doc/indexing.py +439 -0
  237. numpy-1.10.0.post2/numpy/doc/structured_arrays.py +290 -0
  238. numpy-1.10.0.post2/numpy/f2py/__init__.py +49 -0
  239. numpy-1.10.0.post2/numpy/f2py/__main__.py +25 -0
  240. numpy-1.10.0.post2/numpy/f2py/auxfuncs.py +858 -0
  241. numpy-1.10.0.post2/numpy/f2py/capi_maps.py +851 -0
  242. numpy-1.10.0.post2/numpy/f2py/cb_rules.py +554 -0
  243. numpy-1.10.0.post2/numpy/f2py/cfuncs.py +1261 -0
  244. numpy-1.10.0.post2/numpy/f2py/common_rules.py +150 -0
  245. numpy-1.10.0.post2/numpy/f2py/crackfortran.py +3314 -0
  246. numpy-1.10.0.post2/numpy/f2py/diagnose.py +156 -0
  247. numpy-1.10.0.post2/numpy/f2py/f2py2e.py +656 -0
  248. numpy-1.10.0.post2/numpy/f2py/f2py_testing.py +48 -0
  249. numpy-1.10.0.post2/numpy/f2py/f90mod_rules.py +272 -0
  250. numpy-1.10.0.post2/numpy/f2py/func2subr.py +299 -0
  251. numpy-1.10.0.post2/numpy/f2py/rules.py +1475 -0
  252. numpy-1.10.0.post2/numpy/f2py/setup.py +117 -0
  253. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.c +1037 -0
  254. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.h +162 -0
  255. numpy-1.10.0.post2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +223 -0
  256. numpy-1.10.0.post2/numpy/f2py/tests/test_array_from_pyobj.py +593 -0
  257. numpy-1.10.0.post2/numpy/f2py/tests/test_assumed_shape.py +35 -0
  258. numpy-1.10.0.post2/numpy/f2py/tests/test_callback.py +136 -0
  259. numpy-1.10.0.post2/numpy/f2py/tests/test_kind.py +36 -0
  260. numpy-1.10.0.post2/numpy/f2py/tests/test_mixed.py +40 -0
  261. numpy-1.10.0.post2/numpy/f2py/tests/test_regression.py +34 -0
  262. numpy-1.10.0.post2/numpy/f2py/tests/test_return_character.py +148 -0
  263. numpy-1.10.0.post2/numpy/f2py/tests/test_return_complex.py +170 -0
  264. numpy-1.10.0.post2/numpy/f2py/tests/test_return_integer.py +180 -0
  265. numpy-1.10.0.post2/numpy/f2py/tests/test_return_logical.py +189 -0
  266. numpy-1.10.0.post2/numpy/f2py/tests/test_return_real.py +206 -0
  267. numpy-1.10.0.post2/numpy/f2py/tests/test_size.py +44 -0
  268. numpy-1.10.0.post2/numpy/f2py/tests/util.py +367 -0
  269. numpy-1.10.0.post2/numpy/f2py/use_rules.py +115 -0
  270. numpy-1.10.0.post2/numpy/fft/fftpack.c +1501 -0
  271. numpy-1.10.0.post2/numpy/fft/fftpack.h +28 -0
  272. numpy-1.10.0.post2/numpy/fft/fftpack.py +1241 -0
  273. numpy-1.10.0.post2/numpy/fft/fftpack_litemodule.c +363 -0
  274. numpy-1.10.0.post2/numpy/fft/info.py +187 -0
  275. numpy-1.10.0.post2/numpy/fft/setup.py +19 -0
  276. numpy-1.10.0.post2/numpy/fft/tests/test_fftpack.py +166 -0
  277. numpy-1.10.0.post2/numpy/fft/tests/test_helper.py +78 -0
  278. numpy-1.10.0.post2/numpy/lib/_iotools.py +917 -0
  279. numpy-1.10.0.post2/numpy/lib/arraypad.py +1497 -0
  280. numpy-1.10.0.post2/numpy/lib/arraysetops.py +480 -0
  281. numpy-1.10.0.post2/numpy/lib/arrayterator.py +226 -0
  282. numpy-1.10.0.post2/numpy/lib/financial.py +737 -0
  283. numpy-1.10.0.post2/numpy/lib/format.py +814 -0
  284. numpy-1.10.0.post2/numpy/lib/function_base.py +4150 -0
  285. numpy-1.10.0.post2/numpy/lib/index_tricks.py +874 -0
  286. numpy-1.10.0.post2/numpy/lib/info.py +152 -0
  287. numpy-1.10.0.post2/numpy/lib/nanfunctions.py +1237 -0
  288. numpy-1.10.0.post2/numpy/lib/npyio.py +1992 -0
  289. numpy-1.10.0.post2/numpy/lib/polynomial.py +1277 -0
  290. numpy-1.10.0.post2/numpy/lib/recfunctions.py +1003 -0
  291. numpy-1.10.0.post2/numpy/lib/setup.py +12 -0
  292. numpy-1.10.0.post2/numpy/lib/shape_base.py +872 -0
  293. numpy-1.10.0.post2/numpy/lib/stride_tricks.py +200 -0
  294. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npy +0 -0
  295. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npz +0 -0
  296. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npy +0 -0
  297. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npz +0 -0
  298. numpy-1.10.0.post2/numpy/lib/tests/test__iotools.py +348 -0
  299. numpy-1.10.0.post2/numpy/lib/tests/test__version.py +70 -0
  300. numpy-1.10.0.post2/numpy/lib/tests/test_arraypad.py +1047 -0
  301. numpy-1.10.0.post2/numpy/lib/tests/test_arraysetops.py +309 -0
  302. numpy-1.10.0.post2/numpy/lib/tests/test_financial.py +163 -0
  303. numpy-1.10.0.post2/numpy/lib/tests/test_format.py +841 -0
  304. numpy-1.10.0.post2/numpy/lib/tests/test_function_base.py +2555 -0
  305. numpy-1.10.0.post2/numpy/lib/tests/test_index_tricks.py +326 -0
  306. numpy-1.10.0.post2/numpy/lib/tests/test_io.py +1916 -0
  307. numpy-1.10.0.post2/numpy/lib/tests/test_nanfunctions.py +707 -0
  308. numpy-1.10.0.post2/numpy/lib/tests/test_packbits.py +26 -0
  309. numpy-1.10.0.post2/numpy/lib/tests/test_polynomial.py +188 -0
  310. numpy-1.10.0.post2/numpy/lib/tests/test_recfunctions.py +734 -0
  311. numpy-1.10.0.post2/numpy/lib/tests/test_shape_base.py +386 -0
  312. numpy-1.10.0.post2/numpy/lib/tests/test_stride_tricks.py +405 -0
  313. numpy-1.10.0.post2/numpy/lib/tests/test_twodim_base.py +535 -0
  314. numpy-1.10.0.post2/numpy/lib/tests/test_type_check.py +332 -0
  315. numpy-1.10.0.post2/numpy/lib/twodim_base.py +1007 -0
  316. numpy-1.10.0.post2/numpy/lib/type_check.py +596 -0
  317. numpy-1.10.0.post2/numpy/lib/utils.py +1122 -0
  318. numpy-1.10.0.post2/numpy/linalg/lapack_lite/python_xerbla.c +46 -0
  319. numpy-1.10.0.post2/numpy/linalg/lapack_litemodule.c +358 -0
  320. numpy-1.10.0.post2/numpy/linalg/linalg.py +2406 -0
  321. numpy-1.10.0.post2/numpy/linalg/tests/test_build.py +59 -0
  322. numpy-1.10.0.post2/numpy/linalg/tests/test_linalg.py +1351 -0
  323. numpy-1.10.0.post2/numpy/linalg/tests/test_regression.py +95 -0
  324. numpy-1.10.0.post2/numpy/linalg/umath_linalg.c.src +3236 -0
  325. numpy-1.10.0.post2/numpy/ma/__init__.py +56 -0
  326. numpy-1.10.0.post2/numpy/ma/bench.py +131 -0
  327. numpy-1.10.0.post2/numpy/ma/core.py +7608 -0
  328. numpy-1.10.0.post2/numpy/ma/extras.py +1953 -0
  329. numpy-1.10.0.post2/numpy/ma/mrecords.py +796 -0
  330. numpy-1.10.0.post2/numpy/ma/setup.py +13 -0
  331. numpy-1.10.0.post2/numpy/ma/tests/test_core.py +4100 -0
  332. numpy-1.10.0.post2/numpy/ma/tests/test_extras.py +1132 -0
  333. numpy-1.10.0.post2/numpy/ma/tests/test_mrecords.py +520 -0
  334. numpy-1.10.0.post2/numpy/ma/tests/test_old_ma.py +879 -0
  335. numpy-1.10.0.post2/numpy/ma/tests/test_regression.py +80 -0
  336. numpy-1.10.0.post2/numpy/ma/tests/test_subclassing.py +338 -0
  337. numpy-1.10.0.post2/numpy/ma/testutils.py +289 -0
  338. numpy-1.10.0.post2/numpy/ma/timer_comparison.py +440 -0
  339. numpy-1.10.0.post2/numpy/matlib.py +358 -0
  340. numpy-1.10.0.post2/numpy/matrixlib/defmatrix.py +1232 -0
  341. numpy-1.10.0.post2/numpy/matrixlib/tests/test_defmatrix.py +449 -0
  342. numpy-1.10.0.post2/numpy/matrixlib/tests/test_multiarray.py +23 -0
  343. numpy-1.10.0.post2/numpy/matrixlib/tests/test_numeric.py +23 -0
  344. numpy-1.10.0.post2/numpy/matrixlib/tests/test_regression.py +37 -0
  345. numpy-1.10.0.post2/numpy/polynomial/_polybase.py +962 -0
  346. numpy-1.10.0.post2/numpy/polynomial/chebyshev.py +2056 -0
  347. numpy-1.10.0.post2/numpy/polynomial/hermite.py +1831 -0
  348. numpy-1.10.0.post2/numpy/polynomial/hermite_e.py +1828 -0
  349. numpy-1.10.0.post2/numpy/polynomial/laguerre.py +1780 -0
  350. numpy-1.10.0.post2/numpy/polynomial/legendre.py +1808 -0
  351. numpy-1.10.0.post2/numpy/polynomial/polyutils.py +403 -0
  352. numpy-1.10.0.post2/numpy/random/mtrand/distributions.c +912 -0
  353. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.c +34805 -0
  354. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.pyx +4766 -0
  355. numpy-1.10.0.post2/numpy/random/setup.py +61 -0
  356. numpy-1.10.0.post2/numpy/random/tests/test_random.py +723 -0
  357. numpy-1.10.0.post2/numpy/random/tests/test_regression.py +117 -0
  358. numpy-1.10.0.post2/numpy/setup.py +29 -0
  359. numpy-1.10.0.post2/numpy/testing/__init__.py +15 -0
  360. numpy-1.10.0.post2/numpy/testing/decorators.py +271 -0
  361. numpy-1.10.0.post2/numpy/testing/noseclasses.py +353 -0
  362. numpy-1.10.0.post2/numpy/testing/nosetester.py +511 -0
  363. numpy-1.10.0.post2/numpy/testing/print_coercion_tables.py +91 -0
  364. numpy-1.10.0.post2/numpy/testing/setup.py +20 -0
  365. numpy-1.10.0.post2/numpy/testing/tests/test_decorators.py +182 -0
  366. numpy-1.10.0.post2/numpy/testing/tests/test_utils.py +781 -0
  367. numpy-1.10.0.post2/numpy/testing/utils.py +1831 -0
  368. numpy-1.10.0.post2/numpy/tests/test_ctypeslib.py +106 -0
  369. numpy-1.10.0.post2/numpy/tests/test_matlib.py +55 -0
  370. numpy-1.10.0.post2/numpy/tests/test_scripts.py +69 -0
  371. numpy-1.10.0.post2/numpy/version.py +10 -0
  372. numpy-1.10.0.post2/setup.py +260 -0
  373. numpy-1.10.0.post2/site.cfg.example +193 -0
  374. numpy-1.10.0.post2/tmp.txt +789 -0
  375. numpy-1.10.0.post2/tools/swig/README +145 -0
  376. numpy-1.10.0.post2/tools/swig/numpy.i +3161 -0
  377. numpy-1.10.0.post2/tools/swig/test/Array.i +135 -0
  378. numpy-1.10.0.post2/tools/swig/test/ArrayZ.cxx +131 -0
  379. numpy-1.10.0.post2/tools/swig/test/ArrayZ.h +56 -0
  380. numpy-1.10.0.post2/tools/swig/test/Flat.cxx +36 -0
  381. numpy-1.10.0.post2/tools/swig/test/Flat.h +34 -0
  382. numpy-1.10.0.post2/tools/swig/test/Flat.i +36 -0
  383. numpy-1.10.0.post2/tools/swig/test/Makefile +37 -0
  384. numpy-1.10.0.post2/tools/swig/test/setup.py +71 -0
  385. numpy-1.10.0.post2/tools/swig/test/testArray.py +385 -0
  386. numpy-1.10.0.post2/tools/swig/test/testFarray.py +159 -0
  387. numpy-1.10.0.post2/tools/swig/test/testFlat.py +200 -0
  388. numpy-1.10.0.post2/tools/swig/test/testFortran.py +173 -0
  389. numpy-1.10.0.post2/tools/swig/test/testMatrix.py +362 -0
  390. numpy-1.10.0.post2/tools/swig/test/testSuperTensor.py +388 -0
  391. numpy-1.10.0.post2/tools/swig/test/testTensor.py +402 -0
  392. numpy-1.10.0.post2/tools/swig/test/testVector.py +381 -0
  393. numpy-1.9.2/INSTALL.txt +0 -138
  394. numpy-1.9.2/LICENSE.txt +0 -30
  395. numpy-1.9.2/MANIFEST.in +0 -26
  396. numpy-1.9.2/PKG-INFO +0 -39
  397. numpy-1.9.2/doc/scipy-sphinx-theme/.git +0 -1
  398. numpy-1.9.2/doc/source/conf.py +0 -331
  399. numpy-1.9.2/doc/source/dev/gitwash/branch_list.png +0 -0
  400. numpy-1.9.2/doc/source/dev/gitwash/branch_list_compare.png +0 -0
  401. numpy-1.9.2/doc/source/dev/gitwash/development_workflow.rst +0 -568
  402. numpy-1.9.2/doc/source/dev/gitwash/git_links.inc +0 -88
  403. numpy-1.9.2/doc/source/dev/gitwash/index.rst +0 -14
  404. numpy-1.9.2/doc/source/dev/index.rst +0 -10
  405. numpy-1.9.2/doc/source/reference/arrays.classes.rst +0 -427
  406. numpy-1.9.2/doc/source/reference/arrays.dtypes.rst +0 -534
  407. numpy-1.9.2/doc/source/reference/arrays.indexing.rst +0 -550
  408. numpy-1.9.2/doc/source/reference/arrays.interface.rst +0 -336
  409. numpy-1.9.2/doc/source/reference/arrays.ndarray.rst +0 -609
  410. numpy-1.9.2/doc/source/reference/arrays.scalars.rst +0 -291
  411. numpy-1.9.2/doc/source/reference/c-api.array.rst +0 -3362
  412. numpy-1.9.2/doc/source/reference/c-api.config.rst +0 -103
  413. numpy-1.9.2/doc/source/reference/c-api.coremath.rst +0 -420
  414. numpy-1.9.2/doc/source/reference/c-api.dtype.rst +0 -376
  415. numpy-1.9.2/doc/source/reference/c-api.generalized-ufuncs.rst +0 -171
  416. numpy-1.9.2/doc/source/reference/c-api.iterator.rst +0 -1298
  417. numpy-1.9.2/doc/source/reference/c-api.types-and-structures.rst +0 -1204
  418. numpy-1.9.2/doc/source/reference/c-api.ufunc.rst +0 -399
  419. numpy-1.9.2/doc/source/reference/index.rst +0 -44
  420. numpy-1.9.2/doc/source/reference/internals.code-explanations.rst +0 -666
  421. numpy-1.9.2/doc/source/reference/routines.array-manipulation.rst +0 -113
  422. numpy-1.9.2/doc/source/reference/routines.io.rst +0 -74
  423. numpy-1.9.2/doc/source/reference/routines.linalg.rst +0 -88
  424. numpy-1.9.2/doc/source/reference/routines.ma.rst +0 -405
  425. numpy-1.9.2/doc/source/reference/routines.sort.rst +0 -42
  426. numpy-1.9.2/doc/source/reference/routines.statistics.rst +0 -55
  427. numpy-1.9.2/doc/source/reference/swig.interface-file.rst +0 -1055
  428. numpy-1.9.2/doc/source/reference/swig.testing.rst +0 -166
  429. numpy-1.9.2/doc/source/reference/ufuncs.rst +0 -651
  430. numpy-1.9.2/doc/source/release.rst +0 -19
  431. numpy-1.9.2/doc/source/user/basics.io.genfromtxt.rst +0 -531
  432. numpy-1.9.2/doc/source/user/basics.rec.rst +0 -7
  433. numpy-1.9.2/doc/source/user/c-info.beyond-basics.rst +0 -560
  434. numpy-1.9.2/doc/source/user/c-info.how-to-extend.rst +0 -642
  435. numpy-1.9.2/doc/source/user/c-info.python-as-glue.rst +0 -1528
  436. numpy-1.9.2/doc/source/user/c-info.ufunc-tutorial.rst +0 -1211
  437. numpy-1.9.2/doc/source/user/install.rst +0 -180
  438. numpy-1.9.2/doc/sphinxext/.git +0 -1
  439. numpy-1.9.2/numpy/__init__.py +0 -216
  440. numpy-1.9.2/numpy/_import_tools.py +0 -348
  441. numpy-1.9.2/numpy/add_newdocs.py +0 -7518
  442. numpy-1.9.2/numpy/compat/_inspect.py +0 -221
  443. numpy-1.9.2/numpy/compat/py3k.py +0 -89
  444. numpy-1.9.2/numpy/compat/setup.py +0 -12
  445. numpy-1.9.2/numpy/core/__init__.py +0 -78
  446. numpy-1.9.2/numpy/core/_internal.py +0 -570
  447. numpy-1.9.2/numpy/core/_methods.py +0 -134
  448. numpy-1.9.2/numpy/core/arrayprint.py +0 -752
  449. numpy-1.9.2/numpy/core/blasdot/_dotblas.c +0 -1255
  450. numpy-1.9.2/numpy/core/blasdot/apple_sgemv_patch.c +0 -216
  451. numpy-1.9.2/numpy/core/blasdot/cblas.h +0 -578
  452. numpy-1.9.2/numpy/core/code_generators/cversions.txt +0 -31
  453. numpy-1.9.2/numpy/core/code_generators/generate_ufunc_api.py +0 -219
  454. numpy-1.9.2/numpy/core/code_generators/generate_umath.py +0 -972
  455. numpy-1.9.2/numpy/core/code_generators/numpy_api.py +0 -412
  456. numpy-1.9.2/numpy/core/code_generators/ufunc_docstrings.py +0 -3419
  457. numpy-1.9.2/numpy/core/defchararray.py +0 -2687
  458. numpy-1.9.2/numpy/core/fromnumeric.py +0 -2938
  459. numpy-1.9.2/numpy/core/function_base.py +0 -190
  460. numpy-1.9.2/numpy/core/getlimits.py +0 -306
  461. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.c +0 -38
  462. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.h +0 -224
  463. numpy-1.9.2/numpy/core/include/numpy/ndarrayobject.h +0 -237
  464. numpy-1.9.2/numpy/core/include/numpy/ndarraytypes.h +0 -1820
  465. numpy-1.9.2/numpy/core/include/numpy/npy_3kcompat.h +0 -506
  466. numpy-1.9.2/numpy/core/include/numpy/npy_common.h +0 -1038
  467. numpy-1.9.2/numpy/core/include/numpy/npy_cpu.h +0 -122
  468. numpy-1.9.2/numpy/core/include/numpy/npy_endian.h +0 -49
  469. numpy-1.9.2/numpy/core/include/numpy/npy_math.h +0 -479
  470. numpy-1.9.2/numpy/core/include/numpy/numpyconfig.h +0 -35
  471. numpy-1.9.2/numpy/core/machar.py +0 -338
  472. numpy-1.9.2/numpy/core/memmap.py +0 -308
  473. numpy-1.9.2/numpy/core/numeric.py +0 -2842
  474. numpy-1.9.2/numpy/core/numerictypes.py +0 -1042
  475. numpy-1.9.2/numpy/core/records.py +0 -804
  476. numpy-1.9.2/numpy/core/setup.py +0 -1016
  477. numpy-1.9.2/numpy/core/setup_common.py +0 -321
  478. numpy-1.9.2/numpy/core/shape_base.py +0 -277
  479. numpy-1.9.2/numpy/core/src/multiarray/alloc.c +0 -241
  480. numpy-1.9.2/numpy/core/src/multiarray/arrayobject.c +0 -1791
  481. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.c.src +0 -4372
  482. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.h +0 -13
  483. numpy-1.9.2/numpy/core/src/multiarray/buffer.c +0 -954
  484. numpy-1.9.2/numpy/core/src/multiarray/calculation.c +0 -1229
  485. numpy-1.9.2/numpy/core/src/multiarray/common.c +0 -798
  486. numpy-1.9.2/numpy/core/src/multiarray/common.h +0 -328
  487. numpy-1.9.2/numpy/core/src/multiarray/conversion_utils.c +0 -1240
  488. numpy-1.9.2/numpy/core/src/multiarray/convert.c +0 -589
  489. numpy-1.9.2/numpy/core/src/multiarray/convert_datatype.c +0 -2199
  490. numpy-1.9.2/numpy/core/src/multiarray/ctors.c +0 -3785
  491. numpy-1.9.2/numpy/core/src/multiarray/datetime.c +0 -3823
  492. numpy-1.9.2/numpy/core/src/multiarray/datetime_busday.c +0 -1322
  493. numpy-1.9.2/numpy/core/src/multiarray/datetime_busdaycal.c +0 -552
  494. numpy-1.9.2/numpy/core/src/multiarray/datetime_strings.c +0 -1772
  495. numpy-1.9.2/numpy/core/src/multiarray/descriptor.c +0 -3658
  496. numpy-1.9.2/numpy/core/src/multiarray/dtype_transfer.c +0 -4232
  497. numpy-1.9.2/numpy/core/src/multiarray/einsum.c.src +0 -3013
  498. numpy-1.9.2/numpy/core/src/multiarray/getset.c +0 -984
  499. numpy-1.9.2/numpy/core/src/multiarray/hashdescr.c +0 -319
  500. numpy-1.9.2/numpy/core/src/multiarray/item_selection.c +0 -2711
  501. numpy-1.9.2/numpy/core/src/multiarray/iterators.c +0 -2160
  502. numpy-1.9.2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +0 -1767
  503. numpy-1.9.2/numpy/core/src/multiarray/mapping.c +0 -3316
  504. numpy-1.9.2/numpy/core/src/multiarray/mapping.h +0 -73
  505. numpy-1.9.2/numpy/core/src/multiarray/methods.c +0 -2497
  506. numpy-1.9.2/numpy/core/src/multiarray/multiarray_tests.c.src +0 -977
  507. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.c +0 -4202
  508. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.h +0 -4
  509. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule_onefile.c +0 -58
  510. numpy-1.9.2/numpy/core/src/multiarray/nditer_api.c +0 -2809
  511. numpy-1.9.2/numpy/core/src/multiarray/nditer_constr.c +0 -3159
  512. numpy-1.9.2/numpy/core/src/multiarray/nditer_pywrap.c +0 -2492
  513. numpy-1.9.2/numpy/core/src/multiarray/number.c +0 -1057
  514. numpy-1.9.2/numpy/core/src/multiarray/number.h +0 -76
  515. numpy-1.9.2/numpy/core/src/multiarray/numpymemoryview.c +0 -309
  516. numpy-1.9.2/numpy/core/src/multiarray/numpyos.c +0 -683
  517. numpy-1.9.2/numpy/core/src/multiarray/scalarapi.c +0 -861
  518. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.c.src +0 -4270
  519. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.h +0 -52
  520. numpy-1.9.2/numpy/core/src/multiarray/shape.c +0 -1141
  521. numpy-1.9.2/numpy/core/src/multiarray/ucsnarrow.c +0 -173
  522. numpy-1.9.2/numpy/core/src/npymath/ieee754.c.src +0 -814
  523. numpy-1.9.2/numpy/core/src/npymath/npy_math.c.src +0 -527
  524. numpy-1.9.2/numpy/core/src/npymath/npy_math_complex.c.src +0 -291
  525. numpy-1.9.2/numpy/core/src/npymath/npy_math_private.h +0 -539
  526. numpy-1.9.2/numpy/core/src/npysort/heapsort.c.src +0 -341
  527. numpy-1.9.2/numpy/core/src/npysort/mergesort.c.src +0 -428
  528. numpy-1.9.2/numpy/core/src/npysort/npysort_common.h +0 -367
  529. numpy-1.9.2/numpy/core/src/npysort/quicksort.c.src +0 -363
  530. numpy-1.9.2/numpy/core/src/npysort/selection.c.src +0 -474
  531. numpy-1.9.2/numpy/core/src/private/npy_config.h +0 -44
  532. numpy-1.9.2/numpy/core/src/private/npy_partition.h.src +0 -138
  533. numpy-1.9.2/numpy/core/src/private/npy_sort.h +0 -194
  534. numpy-1.9.2/numpy/core/src/private/scalarmathmodule.h.src +0 -42
  535. numpy-1.9.2/numpy/core/src/private/ufunc_override.h +0 -384
  536. numpy-1.9.2/numpy/core/src/scalarmathmodule.c.src +0 -1980
  537. numpy-1.9.2/numpy/core/src/umath/funcs.inc.src +0 -715
  538. numpy-1.9.2/numpy/core/src/umath/loops.c.src +0 -2654
  539. numpy-1.9.2/numpy/core/src/umath/loops.h.src +0 -501
  540. numpy-1.9.2/numpy/core/src/umath/operand_flag_tests.c.src +0 -105
  541. numpy-1.9.2/numpy/core/src/umath/simd.inc.src +0 -881
  542. numpy-1.9.2/numpy/core/src/umath/test_rational.c.src +0 -1404
  543. numpy-1.9.2/numpy/core/src/umath/ufunc_object.c +0 -5520
  544. numpy-1.9.2/numpy/core/src/umath/ufunc_type_resolution.c +0 -2164
  545. numpy-1.9.2/numpy/core/src/umath/umath_tests.c.src +0 -341
  546. numpy-1.9.2/numpy/core/src/umath/umathmodule.c +0 -561
  547. numpy-1.9.2/numpy/core/src/umath/umathmodule_onefile.c +0 -6
  548. numpy-1.9.2/numpy/core/tests/test_abc.py +0 -45
  549. numpy-1.9.2/numpy/core/tests/test_api.py +0 -514
  550. numpy-1.9.2/numpy/core/tests/test_arrayprint.py +0 -167
  551. numpy-1.9.2/numpy/core/tests/test_blasdot.py +0 -249
  552. numpy-1.9.2/numpy/core/tests/test_datetime.py +0 -1781
  553. numpy-1.9.2/numpy/core/tests/test_defchararray.py +0 -642
  554. numpy-1.9.2/numpy/core/tests/test_deprecations.py +0 -512
  555. numpy-1.9.2/numpy/core/tests/test_dtype.py +0 -542
  556. numpy-1.9.2/numpy/core/tests/test_einsum.py +0 -583
  557. numpy-1.9.2/numpy/core/tests/test_errstate.py +0 -51
  558. numpy-1.9.2/numpy/core/tests/test_function_base.py +0 -111
  559. numpy-1.9.2/numpy/core/tests/test_getlimits.py +0 -86
  560. numpy-1.9.2/numpy/core/tests/test_half.py +0 -439
  561. numpy-1.9.2/numpy/core/tests/test_indexerrors.py +0 -127
  562. numpy-1.9.2/numpy/core/tests/test_indexing.py +0 -1014
  563. numpy-1.9.2/numpy/core/tests/test_item_selection.py +0 -70
  564. numpy-1.9.2/numpy/core/tests/test_machar.py +0 -30
  565. numpy-1.9.2/numpy/core/tests/test_memmap.py +0 -127
  566. numpy-1.9.2/numpy/core/tests/test_multiarray.py +0 -4645
  567. numpy-1.9.2/numpy/core/tests/test_multiarray_assignment.py +0 -80
  568. numpy-1.9.2/numpy/core/tests/test_nditer.py +0 -2630
  569. numpy-1.9.2/numpy/core/tests/test_numeric.py +0 -2117
  570. numpy-1.9.2/numpy/core/tests/test_numerictypes.py +0 -377
  571. numpy-1.9.2/numpy/core/tests/test_print.py +0 -245
  572. numpy-1.9.2/numpy/core/tests/test_records.py +0 -185
  573. numpy-1.9.2/numpy/core/tests/test_regression.py +0 -2108
  574. numpy-1.9.2/numpy/core/tests/test_scalarinherit.py +0 -34
  575. numpy-1.9.2/numpy/core/tests/test_scalarmath.py +0 -275
  576. numpy-1.9.2/numpy/core/tests/test_shape_base.py +0 -250
  577. numpy-1.9.2/numpy/core/tests/test_ufunc.py +0 -1153
  578. numpy-1.9.2/numpy/core/tests/test_umath.py +0 -1695
  579. numpy-1.9.2/numpy/core/tests/test_umath_complex.py +0 -537
  580. numpy-1.9.2/numpy/core/tests/test_unicode.py +0 -357
  581. numpy-1.9.2/numpy/distutils/__init__.py +0 -39
  582. numpy-1.9.2/numpy/distutils/ccompiler.py +0 -656
  583. numpy-1.9.2/numpy/distutils/command/autodist.py +0 -43
  584. numpy-1.9.2/numpy/distutils/command/build.py +0 -39
  585. numpy-1.9.2/numpy/distutils/command/build_clib.py +0 -284
  586. numpy-1.9.2/numpy/distutils/command/build_ext.py +0 -503
  587. numpy-1.9.2/numpy/distutils/command/config.py +0 -476
  588. numpy-1.9.2/numpy/distutils/exec_command.py +0 -618
  589. numpy-1.9.2/numpy/distutils/fcompiler/compaq.py +0 -128
  590. numpy-1.9.2/numpy/distutils/fcompiler/gnu.py +0 -390
  591. numpy-1.9.2/numpy/distutils/fcompiler/intel.py +0 -205
  592. numpy-1.9.2/numpy/distutils/fcompiler/pg.py +0 -60
  593. numpy-1.9.2/numpy/distutils/fcompiler/sun.py +0 -52
  594. numpy-1.9.2/numpy/distutils/intelccompiler.py +0 -45
  595. numpy-1.9.2/numpy/distutils/lib2def.py +0 -116
  596. numpy-1.9.2/numpy/distutils/mingw32ccompiler.py +0 -582
  597. numpy-1.9.2/numpy/distutils/misc_util.py +0 -2271
  598. numpy-1.9.2/numpy/distutils/npy_pkg_config.py +0 -464
  599. numpy-1.9.2/numpy/distutils/system_info.py +0 -2319
  600. numpy-1.9.2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +0 -13
  601. numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +0 -12
  602. numpy-1.9.2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +0 -12
  603. numpy-1.9.2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +0 -14
  604. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example.py +0 -18
  605. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example2.py +0 -16
  606. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_gnu.py +0 -53
  607. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_intel.py +0 -36
  608. numpy-1.9.2/numpy/distutils/tests/test_misc_util.py +0 -75
  609. numpy-1.9.2/numpy/distutils/tests/test_npy_pkg_config.py +0 -98
  610. numpy-1.9.2/numpy/distutils/unixccompiler.py +0 -113
  611. numpy-1.9.2/numpy/doc/byteswapping.py +0 -147
  612. numpy-1.9.2/numpy/doc/creation.py +0 -144
  613. numpy-1.9.2/numpy/doc/glossary.py +0 -418
  614. numpy-1.9.2/numpy/doc/indexing.py +0 -437
  615. numpy-1.9.2/numpy/doc/structured_arrays.py +0 -223
  616. numpy-1.9.2/numpy/f2py/__init__.py +0 -49
  617. numpy-1.9.2/numpy/f2py/auxfuncs.py +0 -711
  618. numpy-1.9.2/numpy/f2py/capi_maps.py +0 -773
  619. numpy-1.9.2/numpy/f2py/cb_rules.py +0 -539
  620. numpy-1.9.2/numpy/f2py/cfuncs.py +0 -1224
  621. numpy-1.9.2/numpy/f2py/common_rules.py +0 -132
  622. numpy-1.9.2/numpy/f2py/crackfortran.py +0 -2870
  623. numpy-1.9.2/numpy/f2py/diagnose.py +0 -149
  624. numpy-1.9.2/numpy/f2py/f2py2e.py +0 -598
  625. numpy-1.9.2/numpy/f2py/f2py_testing.py +0 -46
  626. numpy-1.9.2/numpy/f2py/f90mod_rules.py +0 -246
  627. numpy-1.9.2/numpy/f2py/func2subr.py +0 -291
  628. numpy-1.9.2/numpy/f2py/rules.py +0 -1448
  629. numpy-1.9.2/numpy/f2py/setup.py +0 -129
  630. numpy-1.9.2/numpy/f2py/src/fortranobject.c +0 -972
  631. numpy-1.9.2/numpy/f2py/src/fortranobject.h +0 -162
  632. numpy-1.9.2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +0 -223
  633. numpy-1.9.2/numpy/f2py/tests/test_array_from_pyobj.py +0 -559
  634. numpy-1.9.2/numpy/f2py/tests/test_assumed_shape.py +0 -37
  635. numpy-1.9.2/numpy/f2py/tests/test_callback.py +0 -132
  636. numpy-1.9.2/numpy/f2py/tests/test_kind.py +0 -36
  637. numpy-1.9.2/numpy/f2py/tests/test_mixed.py +0 -41
  638. numpy-1.9.2/numpy/f2py/tests/test_regression.py +0 -32
  639. numpy-1.9.2/numpy/f2py/tests/test_return_character.py +0 -142
  640. numpy-1.9.2/numpy/f2py/tests/test_return_complex.py +0 -169
  641. numpy-1.9.2/numpy/f2py/tests/test_return_integer.py +0 -178
  642. numpy-1.9.2/numpy/f2py/tests/test_return_logical.py +0 -187
  643. numpy-1.9.2/numpy/f2py/tests/test_return_real.py +0 -203
  644. numpy-1.9.2/numpy/f2py/tests/test_size.py +0 -47
  645. numpy-1.9.2/numpy/f2py/tests/util.py +0 -353
  646. numpy-1.9.2/numpy/f2py/use_rules.py +0 -109
  647. numpy-1.9.2/numpy/fft/fftpack.c +0 -1501
  648. numpy-1.9.2/numpy/fft/fftpack.h +0 -28
  649. numpy-1.9.2/numpy/fft/fftpack.py +0 -1169
  650. numpy-1.9.2/numpy/fft/fftpack_litemodule.c +0 -371
  651. numpy-1.9.2/numpy/fft/info.py +0 -179
  652. numpy-1.9.2/numpy/fft/setup.py +0 -20
  653. numpy-1.9.2/numpy/fft/tests/test_fftpack.py +0 -75
  654. numpy-1.9.2/numpy/fft/tests/test_helper.py +0 -78
  655. numpy-1.9.2/numpy/lib/_iotools.py +0 -891
  656. numpy-1.9.2/numpy/lib/arraypad.py +0 -1475
  657. numpy-1.9.2/numpy/lib/arraysetops.py +0 -464
  658. numpy-1.9.2/numpy/lib/arrayterator.py +0 -226
  659. numpy-1.9.2/numpy/lib/financial.py +0 -737
  660. numpy-1.9.2/numpy/lib/format.py +0 -771
  661. numpy-1.9.2/numpy/lib/function_base.py +0 -3884
  662. numpy-1.9.2/numpy/lib/index_tricks.py +0 -869
  663. numpy-1.9.2/numpy/lib/info.py +0 -151
  664. numpy-1.9.2/numpy/lib/nanfunctions.py +0 -1158
  665. numpy-1.9.2/numpy/lib/npyio.py +0 -1918
  666. numpy-1.9.2/numpy/lib/polynomial.py +0 -1271
  667. numpy-1.9.2/numpy/lib/recfunctions.py +0 -1003
  668. numpy-1.9.2/numpy/lib/setup.py +0 -23
  669. numpy-1.9.2/numpy/lib/shape_base.py +0 -865
  670. numpy-1.9.2/numpy/lib/src/_compiled_base.c +0 -1761
  671. numpy-1.9.2/numpy/lib/stride_tricks.py +0 -123
  672. numpy-1.9.2/numpy/lib/tests/test__iotools.py +0 -326
  673. numpy-1.9.2/numpy/lib/tests/test__version.py +0 -57
  674. numpy-1.9.2/numpy/lib/tests/test_arraypad.py +0 -560
  675. numpy-1.9.2/numpy/lib/tests/test_arraysetops.py +0 -301
  676. numpy-1.9.2/numpy/lib/tests/test_financial.py +0 -160
  677. numpy-1.9.2/numpy/lib/tests/test_format.py +0 -716
  678. numpy-1.9.2/numpy/lib/tests/test_function_base.py +0 -2145
  679. numpy-1.9.2/numpy/lib/tests/test_index_tricks.py +0 -289
  680. numpy-1.9.2/numpy/lib/tests/test_io.py +0 -1754
  681. numpy-1.9.2/numpy/lib/tests/test_nanfunctions.py +0 -774
  682. numpy-1.9.2/numpy/lib/tests/test_polynomial.py +0 -177
  683. numpy-1.9.2/numpy/lib/tests/test_recfunctions.py +0 -705
  684. numpy-1.9.2/numpy/lib/tests/test_shape_base.py +0 -368
  685. numpy-1.9.2/numpy/lib/tests/test_stride_tricks.py +0 -238
  686. numpy-1.9.2/numpy/lib/tests/test_twodim_base.py +0 -504
  687. numpy-1.9.2/numpy/lib/tests/test_type_check.py +0 -328
  688. numpy-1.9.2/numpy/lib/twodim_base.py +0 -1003
  689. numpy-1.9.2/numpy/lib/type_check.py +0 -605
  690. numpy-1.9.2/numpy/lib/utils.py +0 -1176
  691. numpy-1.9.2/numpy/linalg/lapack_lite/python_xerbla.c +0 -47
  692. numpy-1.9.2/numpy/linalg/lapack_litemodule.c +0 -362
  693. numpy-1.9.2/numpy/linalg/linalg.py +0 -2136
  694. numpy-1.9.2/numpy/linalg/tests/test_build.py +0 -53
  695. numpy-1.9.2/numpy/linalg/tests/test_linalg.py +0 -1156
  696. numpy-1.9.2/numpy/linalg/tests/test_regression.py +0 -90
  697. numpy-1.9.2/numpy/linalg/umath_linalg.c.src +0 -3210
  698. numpy-1.9.2/numpy/ma/__init__.py +0 -58
  699. numpy-1.9.2/numpy/ma/bench.py +0 -166
  700. numpy-1.9.2/numpy/ma/core.py +0 -7374
  701. numpy-1.9.2/numpy/ma/extras.py +0 -1932
  702. numpy-1.9.2/numpy/ma/mrecords.py +0 -734
  703. numpy-1.9.2/numpy/ma/setup.py +0 -20
  704. numpy-1.9.2/numpy/ma/tests/test_core.py +0 -3706
  705. numpy-1.9.2/numpy/ma/tests/test_extras.py +0 -954
  706. numpy-1.9.2/numpy/ma/tests/test_mrecords.py +0 -521
  707. numpy-1.9.2/numpy/ma/tests/test_old_ma.py +0 -869
  708. numpy-1.9.2/numpy/ma/tests/test_regression.py +0 -75
  709. numpy-1.9.2/numpy/ma/tests/test_subclassing.py +0 -236
  710. numpy-1.9.2/numpy/ma/testutils.py +0 -240
  711. numpy-1.9.2/numpy/ma/timer_comparison.py +0 -459
  712. numpy-1.9.2/numpy/matlib.py +0 -358
  713. numpy-1.9.2/numpy/matrixlib/defmatrix.py +0 -1094
  714. numpy-1.9.2/numpy/matrixlib/tests/test_defmatrix.py +0 -400
  715. numpy-1.9.2/numpy/matrixlib/tests/test_multiarray.py +0 -18
  716. numpy-1.9.2/numpy/matrixlib/tests/test_numeric.py +0 -10
  717. numpy-1.9.2/numpy/matrixlib/tests/test_regression.py +0 -34
  718. numpy-1.9.2/numpy/polynomial/_polybase.py +0 -962
  719. numpy-1.9.2/numpy/polynomial/chebyshev.py +0 -2056
  720. numpy-1.9.2/numpy/polynomial/hermite.py +0 -1789
  721. numpy-1.9.2/numpy/polynomial/hermite_e.py +0 -1786
  722. numpy-1.9.2/numpy/polynomial/laguerre.py +0 -1781
  723. numpy-1.9.2/numpy/polynomial/legendre.py +0 -1809
  724. numpy-1.9.2/numpy/polynomial/polytemplate.py +0 -927
  725. numpy-1.9.2/numpy/polynomial/polyutils.py +0 -403
  726. numpy-1.9.2/numpy/random/mtrand/distributions.c +0 -892
  727. numpy-1.9.2/numpy/random/mtrand/mtrand.c +0 -31204
  728. numpy-1.9.2/numpy/random/mtrand/mtrand.pyx +0 -4706
  729. numpy-1.9.2/numpy/random/setup.py +0 -74
  730. numpy-1.9.2/numpy/random/tests/test_random.py +0 -707
  731. numpy-1.9.2/numpy/random/tests/test_regression.py +0 -86
  732. numpy-1.9.2/numpy/setup.py +0 -27
  733. numpy-1.9.2/numpy/testing/__init__.py +0 -16
  734. numpy-1.9.2/numpy/testing/decorators.py +0 -271
  735. numpy-1.9.2/numpy/testing/noseclasses.py +0 -353
  736. numpy-1.9.2/numpy/testing/nosetester.py +0 -504
  737. numpy-1.9.2/numpy/testing/print_coercion_tables.py +0 -89
  738. numpy-1.9.2/numpy/testing/setup.py +0 -20
  739. numpy-1.9.2/numpy/testing/tests/test_decorators.py +0 -185
  740. numpy-1.9.2/numpy/testing/tests/test_utils.py +0 -558
  741. numpy-1.9.2/numpy/testing/utils.py +0 -1715
  742. numpy-1.9.2/numpy/tests/test_ctypeslib.py +0 -102
  743. numpy-1.9.2/numpy/tests/test_matlib.py +0 -55
  744. numpy-1.9.2/numpy/version.py +0 -10
  745. numpy-1.9.2/setup.py +0 -251
  746. numpy-1.9.2/site.cfg.example +0 -157
  747. numpy-1.9.2/tools/swig/README +0 -135
  748. numpy-1.9.2/tools/swig/numpy.i +0 -3085
  749. numpy-1.9.2/tools/swig/test/Array.i +0 -102
  750. numpy-1.9.2/tools/swig/test/Makefile +0 -34
  751. numpy-1.9.2/tools/swig/test/setup.py +0 -64
  752. numpy-1.9.2/tools/swig/test/testArray.py +0 -284
  753. numpy-1.9.2/tools/swig/test/testFarray.py +0 -159
  754. numpy-1.9.2/tools/swig/test/testFortran.py +0 -173
  755. numpy-1.9.2/tools/swig/test/testMatrix.py +0 -362
  756. numpy-1.9.2/tools/swig/test/testSuperTensor.py +0 -388
  757. numpy-1.9.2/tools/swig/test/testTensor.py +0 -402
  758. numpy-1.9.2/tools/swig/test/testVector.py +0 -381
  759. {numpy-1.9.2 → numpy-1.10.0.post2}/BENTO_BUILD.txt +0 -0
  760. {numpy-1.9.2 → numpy-1.10.0.post2}/COMPATIBILITY +0 -0
  761. {numpy-1.9.2 → numpy-1.10.0.post2}/DEV_README.txt +0 -0
  762. {numpy-1.9.2 → numpy-1.10.0.post2}/README.txt +0 -0
  763. {numpy-1.9.2 → numpy-1.10.0.post2}/THANKS.txt +0 -0
  764. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/Makefile +0 -0
  765. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/BUGS.txt +0 -0
  766. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/FAQ.txt +0 -0
  767. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/HISTORY.txt +0 -0
  768. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Makefile +0 -0
  769. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/OLDNEWS.txt +0 -0
  770. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/README.txt +0 -0
  771. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-1.x.txt +0 -0
  772. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-2.x.txt +0 -0
  773. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-3.x.txt +0 -0
  774. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-4.x.txt +0 -0
  775. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TESTING.txt +0 -0
  776. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/THANKS.txt +0 -0
  777. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TODO.txt +0 -0
  778. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/apps.tex +0 -0
  779. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/bugs.tex +0 -0
  780. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/collectinput.py +0 -0
  781. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/commands.tex +0 -0
  782. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/default.css +0 -0
  783. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/docutils.conf +0 -0
  784. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/arr.f +0 -0
  785. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/bar.f +0 -0
  786. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foo.f +0 -0
  787. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar-smart.f90 +0 -0
  788. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar.f90 +0 -0
  789. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobarmodule.tex +0 -0
  790. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/runme +0 -0
  791. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py.1 +0 -0
  792. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py2e.tex +0 -0
  793. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/README.txt +0 -0
  794. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/aerostructure.jpg +0 -0
  795. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/flow.jpg +0 -0
  796. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_html.sh +0 -0
  797. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_pdf.sh +0 -0
  798. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_ps.sh +0 -0
  799. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1.f +0 -0
  800. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1mess.txt +0 -0
  801. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1session.txt +0 -0
  802. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foo.pyf +0 -0
  803. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foom.pyf +0 -0
  804. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/structure.jpg +0 -0
  805. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/fortranobject.tex +0 -0
  806. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/hello.f +0 -0
  807. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/index.html +0 -0
  808. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/intro.tex +0 -0
  809. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/array_from_pyobj.c +0 -0
  810. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/bar.c +0 -0
  811. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/foo.f +0 -0
  812. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fortran_array_from_pyobj.txt +0 -0
  813. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fun.pyf +0 -0
  814. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/run.pyf +0 -0
  815. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/transpose.txt +0 -0
  816. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarrays.txt +0 -0
  817. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/notes.tex +0 -0
  818. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/oldnews.html +0 -0
  819. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/options.tex +0 -0
  820. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pyforttest.pyf +0 -0
  821. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pytest.py +0 -0
  822. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/python9.tex +0 -0
  823. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/signaturefile.tex +0 -0
  824. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple.f +0 -0
  825. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple_session.dat +0 -0
  826. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/using_F_compiler.txt +0 -0
  827. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/win32_notes.txt +0 -0
  828. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/postprocess.py +0 -0
  829. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.3.0-notes.rst +0 -0
  830. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.4.0-notes.rst +0 -0
  831. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.5.0-notes.rst +0 -0
  832. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.0-notes.rst +0 -0
  833. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.1-notes.rst +0 -0
  834. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.2-notes.rst +0 -0
  835. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.0-notes.rst +0 -0
  836. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.1-notes.rst +0 -0
  837. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.2-notes.rst +0 -0
  838. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.0-notes.rst +0 -0
  839. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.1-notes.rst +0 -0
  840. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.2-notes.rst +0 -0
  841. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.0-notes.rst +0 -0
  842. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.1-notes.rst +0 -0
  843. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.2-notes.rst +0 -0
  844. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/time_based_proposal.rst +0 -0
  845. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.gitignore +0 -0
  846. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/Makefile +0 -0
  847. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/README.rst +0 -0
  848. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_static/scipyshiny_small.png +0 -0
  849. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/layout.html +0 -0
  850. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/searchbox.html +0 -0
  851. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/sourcelink.html +0 -0
  852. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/extend.css +0 -0
  853. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/pygments.css +0 -0
  854. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/scipy-central.css +0 -0
  855. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-bootstrap.css +0 -0
  856. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-extend.css +0 -0
  857. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/all-icons.svg +0 -0
  858. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/contents.png +0 -0
  859. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/create-new-account-icon.png +0 -0
  860. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon-shrunk.png +0 -0
  861. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.png +0 -0
  862. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.svg +0 -0
  863. {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
  864. {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
  865. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon.png +0 -0
  866. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ad.png +0 -0
  867. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ae.png +0 -0
  868. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-af.png +0 -0
  869. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ag.png +0 -0
  870. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ai.png +0 -0
  871. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-al.png +0 -0
  872. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-am.png +0 -0
  873. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ao.png +0 -0
  874. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aq.png +0 -0
  875. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ar.png +0 -0
  876. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-as.png +0 -0
  877. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-at.png +0 -0
  878. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-au.png +0 -0
  879. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aw.png +0 -0
  880. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-az.png +0 -0
  881. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ba.png +0 -0
  882. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bb.png +0 -0
  883. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bd.png +0 -0
  884. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-be.png +0 -0
  885. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bf.png +0 -0
  886. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bg.png +0 -0
  887. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bh.png +0 -0
  888. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bi.png +0 -0
  889. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bj.png +0 -0
  890. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bl.png +0 -0
  891. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bm.png +0 -0
  892. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bn.png +0 -0
  893. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bo.png +0 -0
  894. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-br.png +0 -0
  895. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bs.png +0 -0
  896. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bt.png +0 -0
  897. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bw.png +0 -0
  898. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-by.png +0 -0
  899. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bz.png +0 -0
  900. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ca.png +0 -0
  901. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cc.png +0 -0
  902. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cd.png +0 -0
  903. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cf.png +0 -0
  904. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cg.png +0 -0
  905. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ch.png +0 -0
  906. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ci.png +0 -0
  907. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ck.png +0 -0
  908. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cl.png +0 -0
  909. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cm.png +0 -0
  910. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cn.png +0 -0
  911. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-co.png +0 -0
  912. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cr.png +0 -0
  913. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cu.png +0 -0
  914. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cv.png +0 -0
  915. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cw.png +0 -0
  916. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cx.png +0 -0
  917. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cy.png +0 -0
  918. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cz.png +0 -0
  919. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-de.png +0 -0
  920. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dj.png +0 -0
  921. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dk.png +0 -0
  922. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dm.png +0 -0
  923. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-do.png +0 -0
  924. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dz.png +0 -0
  925. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ec.png +0 -0
  926. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ee.png +0 -0
  927. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-eg.png +0 -0
  928. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-er.png +0 -0
  929. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-es.png +0 -0
  930. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-et.png +0 -0
  931. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fi.png +0 -0
  932. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fj.png +0 -0
  933. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fk.png +0 -0
  934. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fm.png +0 -0
  935. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fo.png +0 -0
  936. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fr.png +0 -0
  937. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ga.png +0 -0
  938. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gb.png +0 -0
  939. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gd.png +0 -0
  940. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ge.png +0 -0
  941. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gf.png +0 -0
  942. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gg.png +0 -0
  943. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gh.png +0 -0
  944. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gi.png +0 -0
  945. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gl.png +0 -0
  946. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gm.png +0 -0
  947. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gn.png +0 -0
  948. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gq.png +0 -0
  949. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gr.png +0 -0
  950. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gs.png +0 -0
  951. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gt.png +0 -0
  952. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gu.png +0 -0
  953. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gw.png +0 -0
  954. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gy.png +0 -0
  955. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hk.png +0 -0
  956. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hm.png +0 -0
  957. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hn.png +0 -0
  958. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hr.png +0 -0
  959. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ht.png +0 -0
  960. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hu.png +0 -0
  961. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-id.png +0 -0
  962. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ie.png +0 -0
  963. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-il.png +0 -0
  964. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-im.png +0 -0
  965. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-in.png +0 -0
  966. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-io.png +0 -0
  967. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-iq.png +0 -0
  968. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ir.png +0 -0
  969. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-is.png +0 -0
  970. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-it.png +0 -0
  971. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-je.png +0 -0
  972. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jm.png +0 -0
  973. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jo.png +0 -0
  974. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jp.png +0 -0
  975. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ke.png +0 -0
  976. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kg.png +0 -0
  977. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kh.png +0 -0
  978. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ki.png +0 -0
  979. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-km.png +0 -0
  980. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kn.png +0 -0
  981. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kp.png +0 -0
  982. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kr.png +0 -0
  983. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kw.png +0 -0
  984. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ky.png +0 -0
  985. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kz.png +0 -0
  986. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-la.png +0 -0
  987. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lb.png +0 -0
  988. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lc.png +0 -0
  989. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-li.png +0 -0
  990. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lk.png +0 -0
  991. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lr.png +0 -0
  992. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ls.png +0 -0
  993. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lt.png +0 -0
  994. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lu.png +0 -0
  995. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lv.png +0 -0
  996. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ly.png +0 -0
  997. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ma.png +0 -0
  998. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mc.png +0 -0
  999. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-md.png +0 -0
  1000. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-me.png +0 -0
  1001. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mf.png +0 -0
  1002. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mg.png +0 -0
  1003. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mh.png +0 -0
  1004. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mk.png +0 -0
  1005. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ml.png +0 -0
  1006. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mm.png +0 -0
  1007. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mn.png +0 -0
  1008. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mo.png +0 -0
  1009. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mp.png +0 -0
  1010. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mq.png +0 -0
  1011. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mr.png +0 -0
  1012. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ms.png +0 -0
  1013. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mt.png +0 -0
  1014. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mu.png +0 -0
  1015. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mv.png +0 -0
  1016. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mw.png +0 -0
  1017. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mx.png +0 -0
  1018. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-my.png +0 -0
  1019. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mz.png +0 -0
  1020. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-na.png +0 -0
  1021. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nc.png +0 -0
  1022. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ne.png +0 -0
  1023. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nf.png +0 -0
  1024. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ng.png +0 -0
  1025. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ni.png +0 -0
  1026. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nl.png +0 -0
  1027. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-no.png +0 -0
  1028. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-np.png +0 -0
  1029. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nr.png +0 -0
  1030. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nu.png +0 -0
  1031. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nz.png +0 -0
  1032. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-om.png +0 -0
  1033. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pa.png +0 -0
  1034. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pe.png +0 -0
  1035. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pf.png +0 -0
  1036. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pg.png +0 -0
  1037. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ph.png +0 -0
  1038. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pk.png +0 -0
  1039. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pl.png +0 -0
  1040. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pm.png +0 -0
  1041. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pn.png +0 -0
  1042. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pr.png +0 -0
  1043. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ps.png +0 -0
  1044. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pt.png +0 -0
  1045. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pw.png +0 -0
  1046. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-py.png +0 -0
  1047. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-qa.png +0 -0
  1048. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-re.png +0 -0
  1049. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ro.png +0 -0
  1050. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rs.png +0 -0
  1051. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ru.png +0 -0
  1052. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rw.png +0 -0
  1053. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sa.png +0 -0
  1054. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sb.png +0 -0
  1055. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sc.png +0 -0
  1056. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sd.png +0 -0
  1057. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-se.png +0 -0
  1058. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sg.png +0 -0
  1059. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sh.png +0 -0
  1060. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-si.png +0 -0
  1061. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sj.png +0 -0
  1062. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sk.png +0 -0
  1063. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sl.png +0 -0
  1064. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sm.png +0 -0
  1065. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sn.png +0 -0
  1066. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-so.png +0 -0
  1067. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sr.png +0 -0
  1068. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-st.png +0 -0
  1069. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sv.png +0 -0
  1070. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sy.png +0 -0
  1071. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sz.png +0 -0
  1072. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tc.png +0 -0
  1073. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-td.png +0 -0
  1074. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tf.png +0 -0
  1075. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tg.png +0 -0
  1076. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-th.png +0 -0
  1077. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tj.png +0 -0
  1078. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tk.png +0 -0
  1079. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tl.png +0 -0
  1080. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tm.png +0 -0
  1081. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tn.png +0 -0
  1082. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-to.png +0 -0
  1083. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tr.png +0 -0
  1084. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tt.png +0 -0
  1085. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tv.png +0 -0
  1086. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tw.png +0 -0
  1087. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tz.png +0 -0
  1088. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ua.png +0 -0
  1089. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ug.png +0 -0
  1090. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-um.png +0 -0
  1091. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-us.png +0 -0
  1092. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uy.png +0 -0
  1093. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uz.png +0 -0
  1094. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-va.png +0 -0
  1095. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vc.png +0 -0
  1096. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ve.png +0 -0
  1097. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vg.png +0 -0
  1098. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vi.png +0 -0
  1099. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vn.png +0 -0
  1100. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vu.png +0 -0
  1101. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-wf.png +0 -0
  1102. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ws.png +0 -0
  1103. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ye.png +0 -0
  1104. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-za.png +0 -0
  1105. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zm.png +0 -0
  1106. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zw.png +0 -0
  1107. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings-white.png +0 -0
  1108. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings.png +0 -0
  1109. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/important-icon.png +0 -0
  1110. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/information-icon.png +0 -0
  1111. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/internet-web-browser.png +0 -0
  1112. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon-shrunk.png +0 -0
  1113. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.png +0 -0
  1114. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.svg +0 -0
  1115. {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
  1116. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon.png +0 -0
  1117. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/navigation.png +0 -0
  1118. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon-tiny.png +0 -0
  1119. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon.png +0 -0
  1120. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy-logo.png +0 -0
  1121. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy_org_logo.gif +0 -0
  1122. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipycentral_logo.png +0 -0
  1123. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipyshiny_small.png +0 -0
  1124. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/send-email-icon.png +0 -0
  1125. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon-shrunk.png +0 -0
  1126. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.png +0 -0
  1127. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.svg +0 -0
  1128. {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
  1129. {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
  1130. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon.png +0 -0
  1131. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/transparent-pixel.gif +0 -0
  1132. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/ui-anim_basic_16x16.gif +0 -0
  1133. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/js/copybutton.js +0 -0
  1134. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/accordion.less +0 -0
  1135. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/alerts.less +0 -0
  1136. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/bootstrap.less +0 -0
  1137. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/breadcrumbs.less +0 -0
  1138. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/button-groups.less +0 -0
  1139. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/buttons.less +0 -0
  1140. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/carousel.less +0 -0
  1141. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/close.less +0 -0
  1142. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/code.less +0 -0
  1143. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/component-animations.less +0 -0
  1144. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/dropdowns.less +0 -0
  1145. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/forms.less +0 -0
  1146. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/grid.less +0 -0
  1147. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/hero-unit.less +0 -0
  1148. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/labels-badges.less +0 -0
  1149. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/layouts.less +0 -0
  1150. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/media.less +0 -0
  1151. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/mixins.less +0 -0
  1152. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/modals.less +0 -0
  1153. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navbar.less +0 -0
  1154. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navs.less +0 -0
  1155. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pager.less +0 -0
  1156. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pagination.less +0 -0
  1157. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/popovers.less +0 -0
  1158. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/progress-bars.less +0 -0
  1159. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/reset.less +0 -0
  1160. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-1200px-min.less +0 -0
  1161. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-767px-max.less +0 -0
  1162. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-768px-979px.less +0 -0
  1163. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-navbar.less +0 -0
  1164. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-utilities.less +0 -0
  1165. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive.less +0 -0
  1166. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/scaffolding.less +0 -0
  1167. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/sprites.less +0 -0
  1168. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tables.less +0 -0
  1169. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/thumbnails.less +0 -0
  1170. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tooltip.less +0 -0
  1171. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/type.less +0 -0
  1172. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/utilities.less +0 -0
  1173. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/variables.less +0 -0
  1174. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/wells.less +0 -0
  1175. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-bootstrap.less +0 -0
  1176. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-content.less +0 -0
  1177. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-extend.less +0 -0
  1178. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-footer.less +0 -0
  1179. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-header.less +0 -0
  1180. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-rightsidebar.less +0 -0
  1181. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-utils.less +0 -0
  1182. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/scipy.css_t +0 -0
  1183. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/theme.conf +0 -0
  1184. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/conf.py +0 -0
  1185. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/index.rst +0 -0
  1186. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc.rst +0 -0
  1187. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_2.rst +0 -0
  1188. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_3.rst +0 -0
  1189. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_4.rst +0 -0
  1190. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_optimize.rst +0 -0
  1191. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/autosummary/class.rst +0 -0
  1192. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexcontent.html +0 -0
  1193. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexsidebar.html +0 -0
  1194. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/layout.html +0 -0
  1195. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/about.rst +0 -0
  1196. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/bugs.rst +0 -0
  1197. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/contents.rst +0 -0
  1198. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/configure_git.rst +0 -0
  1199. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/development_setup.rst +0 -0
  1200. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/dot2_dot3.rst +0 -0
  1201. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/following_latest.rst +0 -0
  1202. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/forking_button.png +0 -0
  1203. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_development.rst +0 -0
  1204. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_intro.rst +0 -0
  1205. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_resources.rst +0 -0
  1206. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/pull_button.png +0 -0
  1207. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash_links.txt +0 -0
  1208. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/advanced.rst +0 -0
  1209. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr.f90 +0 -0
  1210. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr_session.dat +0 -0
  1211. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array.f +0 -0
  1212. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array_session.dat +0 -0
  1213. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate.f +0 -0
  1214. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate_session.dat +0 -0
  1215. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback.f +0 -0
  1216. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback2.pyf +0 -0
  1217. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback_session.dat +0 -0
  1218. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common.f +0 -0
  1219. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common_session.dat +0 -0
  1220. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/compile_session.dat +0 -0
  1221. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/distutils.rst +0 -0
  1222. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback.f +0 -0
  1223. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback_session.dat +0 -0
  1224. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.f +0 -0
  1225. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.pyf +0 -0
  1226. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib2.pyf +0 -0
  1227. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib3.f +0 -0
  1228. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype.f +0 -0
  1229. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype_session.dat +0 -0
  1230. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/getting-started.rst +0 -0
  1231. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/index.rst +0 -0
  1232. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata.f90 +0 -0
  1233. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata_session.dat +0 -0
  1234. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/python-usage.rst +0 -0
  1235. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/run_main_session.dat +0 -0
  1236. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar.f +0 -0
  1237. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar_session.dat +0 -0
  1238. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/setup_example.py +0 -0
  1239. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/signature-file.rst +0 -0
  1240. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam.pyf +0 -0
  1241. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam_session.dat +0 -0
  1242. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string.f +0 -0
  1243. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string_session.dat +0 -0
  1244. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/usage.rst +0 -0
  1245. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var.pyf +0 -0
  1246. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var_session.dat +0 -0
  1247. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/glossary.rst +0 -0
  1248. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/license.rst +0 -0
  1249. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal.rst +0 -0
  1250. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal3.rst +0 -0
  1251. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/deferred-ufunc-evaluation.rst +0 -0
  1252. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/generalized-ufuncs.rst +0 -0
  1253. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/groupby_additions.rst +0 -0
  1254. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/index.rst +0 -0
  1255. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/math_config_clean.rst +0 -0
  1256. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/missing-data.rst +0 -0
  1257. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/new-iterator-ufunc.rst +0 -0
  1258. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/newbugtracker.rst +0 -0
  1259. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/npy-format.rst +0 -0
  1260. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/structured_array_extensions.rst +0 -0
  1261. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/ufunc-overrides.rst +0 -0
  1262. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/warnfix.rst +0 -0
  1263. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.datetime.rst +0 -0
  1264. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.nditer.rst +0 -0
  1265. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.rst +0 -0
  1266. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.deprecations.rst +0 -0
  1267. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.rst +0 -0
  1268. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/distutils.rst +0 -0
  1269. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.dia +0 -0
  1270. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.pdf +0 -0
  1271. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.png +0 -0
  1272. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.fig +0 -0
  1273. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.pdf +0 -0
  1274. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.png +0 -0
  1275. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/internals.rst +0 -0
  1276. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.baseclass.rst +0 -0
  1277. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.generic.rst +0 -0
  1278. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.rst +0 -0
  1279. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.array-creation.rst +0 -0
  1280. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.bitwise.rst +0 -0
  1281. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.char.rst +0 -0
  1282. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.ctypeslib.rst +0 -0
  1283. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.datetime.rst +0 -0
  1284. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dtype.rst +0 -0
  1285. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dual.rst +0 -0
  1286. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.emath.rst +0 -0
  1287. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.err.rst +0 -0
  1288. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.fft.rst +0 -0
  1289. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.financial.rst +0 -0
  1290. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.functional.rst +0 -0
  1291. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.help.rst +0 -0
  1292. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.indexing.rst +0 -0
  1293. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.logic.rst +0 -0
  1294. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.math.rst +0 -0
  1295. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.matlib.rst +0 -0
  1296. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.numarray.rst +0 -0
  1297. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.oldnumeric.rst +0 -0
  1298. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.other.rst +0 -0
  1299. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.padding.rst +0 -0
  1300. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.chebyshev.rst +0 -0
  1301. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.classes.rst +0 -0
  1302. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite.rst +0 -0
  1303. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite_e.rst +0 -0
  1304. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.laguerre.rst +0 -0
  1305. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.legendre.rst +0 -0
  1306. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.package.rst +0 -0
  1307. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.poly1d.rst +0 -0
  1308. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.polynomial.rst +0 -0
  1309. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.rst +0 -0
  1310. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.random.rst +0 -0
  1311. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.rst +0 -0
  1312. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.set.rst +0 -0
  1313. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.testing.rst +0 -0
  1314. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.window.rst +0 -0
  1315. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/swig.rst +0 -0
  1316. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.broadcasting.rst +0 -0
  1317. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.byteswapping.rst +0 -0
  1318. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.creation.rst +0 -0
  1319. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.indexing.rst +0 -0
  1320. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.io.rst +0 -0
  1321. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.rst +0 -0
  1322. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.subclassing.rst +0 -0
  1323. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.types.rst +0 -0
  1324. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/c-info.rst +0 -0
  1325. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/howtofind.rst +0 -0
  1326. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/index.rst +0 -0
  1327. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/introduction.rst +0 -0
  1328. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/misc.rst +0 -0
  1329. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/performance.rst +0 -0
  1330. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/whatisnumpy.rst +0 -0
  1331. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.gitignore +0 -0
  1332. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.travis.yml +0 -0
  1333. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/LICENSE.txt +0 -0
  1334. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/MANIFEST.in +0 -0
  1335. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/README.rst +0 -0
  1336. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/__init__.py +0 -0
  1337. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/comment_eater.py +0 -0
  1338. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/compiler_unparse.py +0 -0
  1339. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape.py +0 -0
  1340. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape_sphinx.py +0 -0
  1341. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/linkcode.py +0 -0
  1342. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/numpydoc.py +0 -0
  1343. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/phantom_import.py +0 -0
  1344. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/plot_directive.py +0 -0
  1345. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_docscrape.py +0 -0
  1346. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_linkcode.py +0 -0
  1347. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_phantom_import.py +0 -0
  1348. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_plot_directive.py +0 -0
  1349. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_traitsdoc.py +0 -0
  1350. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/traitsdoc.py +0 -0
  1351. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/setup.py +0 -0
  1352. {numpy-1.9.2/numpy/core/code_generators → numpy-1.10.0.post2/numpy/_build_utils}/__init__.py +0 -0
  1353. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/compat/__init__.py +0 -0
  1354. {numpy-1.9.2/numpy/distutils/tests/f2py_ext → numpy-1.10.0.post2/numpy/core/code_generators}/__init__.py +0 -0
  1355. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/genapi.py +0 -0
  1356. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/generate_numpy_api.py +0 -0
  1357. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/cversions.py +0 -0
  1358. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_neighborhood_iterator_imp.h +0 -0
  1359. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_numpyconfig.h.in +0 -0
  1360. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayobject.h +0 -0
  1361. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayscalars.h +0 -0
  1362. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/halffloat.h +0 -0
  1363. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/noprefix.h +0 -0
  1364. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_1_7_deprecated_api.h +0 -0
  1365. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_interrupt.h +0 -0
  1366. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_no_deprecated_api.h +0 -0
  1367. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_os.h +0 -0
  1368. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/old_defines.h +0 -0
  1369. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/oldnumeric.h +0 -0
  1370. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/ufuncobject.h +0 -0
  1371. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/utils.h +0 -0
  1372. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/info.py +0 -0
  1373. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/mlib.ini.in +0 -0
  1374. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/npymath.ini.in +0 -0
  1375. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/dummymodule.c +0 -0
  1376. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/_datetime.h +0 -0
  1377. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/alloc.h +0 -0
  1378. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.c +0 -0
  1379. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.h +0 -0
  1380. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_array.c +0 -0
  1381. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_scalar.c +0 -0
  1382. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/arrayobject.h +0 -0
  1383. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/buffer.h +0 -0
  1384. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/calculation.h +0 -0
  1385. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/conversion_utils.h +0 -0
  1386. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert.h +0 -0
  1387. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert_datatype.h +0 -0
  1388. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ctors.h +0 -0
  1389. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busday.h +0 -0
  1390. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busdaycal.h +0 -0
  1391. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_strings.h +0 -0
  1392. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/descriptor.h +0 -0
  1393. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/flagsobject.c +0 -0
  1394. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/getset.h +0 -0
  1395. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/hashdescr.h +0 -0
  1396. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/item_selection.h +0 -0
  1397. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/iterators.h +0 -0
  1398. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/methods.h +0 -0
  1399. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_impl.h +0 -0
  1400. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_pywrap.h +0 -0
  1401. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_templ.c.src +0 -0
  1402. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpymemoryview.h +0 -0
  1403. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpyos.h +0 -0
  1404. {numpy-1.9.2/numpy/core/blasdot → numpy-1.10.0.post2/numpy/core/src/multiarray}/python_xerbla.c +0 -0
  1405. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.c +0 -0
  1406. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.h +0 -0
  1407. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.c +0 -0
  1408. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.h +0 -0
  1409. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/shape.h +0 -0
  1410. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ucsnarrow.h +0 -0
  1411. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.c +0 -0
  1412. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.h +0 -0
  1413. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/_signbit.c +0 -0
  1414. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/halffloat.c +0 -0
  1415. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/npy_math_common.h +0 -0
  1416. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npysort/binsearch.c.src +0 -0
  1417. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/lowlevel_strided_loops.h +0 -0
  1418. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_binsearch.h.src +0 -0
  1419. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_fpmath.h +0 -0
  1420. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_pycompat.h +0 -0
  1421. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.c +0 -0
  1422. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.h +0 -0
  1423. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/struct_ufunc_test.c.src +0 -0
  1424. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_object.h +0 -0
  1425. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_type_resolution.h +0 -0
  1426. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/astype_copy.pkl +0 -0
  1427. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/recarray_from_file.fits +0 -0
  1428. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/test_scalarprint.py +0 -0
  1429. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ctypeslib.py +0 -0
  1430. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/__version__.py +0 -0
  1431. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/__init__.py +0 -0
  1432. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/bdist_rpm.py +0 -0
  1433. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_py.py +0 -0
  1434. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_scripts.py +0 -0
  1435. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_src.py +0 -0
  1436. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/config_compiler.py +0 -0
  1437. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/develop.py +0 -0
  1438. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/egg_info.py +0 -0
  1439. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install.py +0 -0
  1440. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_clib.py +0 -0
  1441. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_data.py +0 -0
  1442. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_headers.py +0 -0
  1443. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/sdist.py +0 -0
  1444. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/compat.py +0 -0
  1445. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/conv_template.py +0 -0
  1446. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/core.py +0 -0
  1447. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/cpuinfo.py +0 -0
  1448. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/environment.py +0 -0
  1449. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/extension.py +0 -0
  1450. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/__init__.py +0 -0
  1451. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/absoft.py +0 -0
  1452. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/g95.py +0 -0
  1453. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/hpux.py +0 -0
  1454. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/ibm.py +0 -0
  1455. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/lahey.py +0 -0
  1456. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/mips.py +0 -0
  1457. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/nag.py +0 -0
  1458. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/none.py +0 -0
  1459. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/pathf95.py +0 -0
  1460. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/vast.py +0 -0
  1461. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/from_template.py +0 -0
  1462. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/info.py +0 -0
  1463. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/line_endings.py +0 -0
  1464. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/log.py +0 -0
  1465. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/mingw/gfortran_vs2003_hack.c +0 -0
  1466. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/numpy_distribution.py +0 -0
  1467. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/pathccompiler.py +0 -0
  1468. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/setup.py +0 -0
  1469. {numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext}/__init__.py +0 -0
  1470. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/setup.py +0 -0
  1471. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib1.f +0 -0
  1472. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib2.pyf +0 -0
  1473. {numpy-1.9.2/numpy/distutils/tests/gen_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext}/__init__.py +0 -0
  1474. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/include/body.f90 +0 -0
  1475. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/setup.py +0 -0
  1476. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/src/foo_free.f90 +0 -0
  1477. {numpy-1.9.2/numpy/distutils/tests/pyrex_ext → numpy-1.10.0.post2/numpy/distutils/tests/gen_ext}/__init__.py +0 -0
  1478. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/gen_ext/setup.py +0 -0
  1479. {numpy-1.9.2/numpy/distutils/tests/swig_ext → numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext}/__init__.py +0 -0
  1480. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/primes.pyx +0 -0
  1481. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/setup.py +0 -0
  1482. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/setup.py +0 -0
  1483. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/setup.py +0 -0
  1484. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.c +0 -0
  1485. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.i +0 -0
  1486. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.cc +0 -0
  1487. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.h +0 -0
  1488. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.i +0 -0
  1489. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/test_exec_command.py +0 -0
  1490. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/__init__.py +0 -0
  1491. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/basics.py +0 -0
  1492. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/broadcasting.py +0 -0
  1493. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/constants.py +0 -0
  1494. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/howtofind.py +0 -0
  1495. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/internals.py +0 -0
  1496. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/io.py +0 -0
  1497. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/jargon.py +0 -0
  1498. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/methods_vs_functions.py +0 -0
  1499. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/misc.py +0 -0
  1500. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/performance.py +0 -0
  1501. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/subclassing.py +0 -0
  1502. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/ufuncs.py +0 -0
  1503. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/dual.py +0 -0
  1504. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/__version__.py +0 -0
  1505. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/info.py +0 -0
  1506. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +0 -0
  1507. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_free.f90 +0 -0
  1508. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +0 -0
  1509. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_use.f90 +0 -0
  1510. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/precision.f90 +0 -0
  1511. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/kind/foo.f90 +0 -0
  1512. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo.f +0 -0
  1513. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_fixed.f90 +0 -0
  1514. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_free.f90 +0 -0
  1515. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/regression/inout.f90 +0 -0
  1516. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/size/foo.f90 +0 -0
  1517. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/__init__.py +0 -0
  1518. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/helper.py +0 -0
  1519. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/__init__.py +0 -0
  1520. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_datasource.py +0 -0
  1521. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_version.py +0 -0
  1522. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/scimath.py +0 -0
  1523. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/python3.npy +0 -0
  1524. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/win64python2.npy +0 -0
  1525. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test__datasource.py +0 -0
  1526. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_arrayterator.py +0 -0
  1527. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_regression.py +0 -0
  1528. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_ufunclike.py +0 -0
  1529. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_utils.py +0 -0
  1530. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/ufunclike.py +0 -0
  1531. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/user_array.py +0 -0
  1532. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/__init__.py +0 -0
  1533. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/info.py +0 -0
  1534. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/blas_lite.c +0 -0
  1535. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlamch.c +0 -0
  1536. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlapack_lite.c +0 -0
  1537. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c.h +0 -0
  1538. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c_lite.c +0 -0
  1539. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/zlapack_lite.c +0 -0
  1540. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/setup.py +0 -0
  1541. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/tests/test_deprecations.py +0 -0
  1542. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ma/version.py +0 -0
  1543. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/__init__.py +0 -0
  1544. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/setup.py +0 -0
  1545. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/__init__.py +0 -0
  1546. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/polynomial.py +0 -0
  1547. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/setup.py +0 -0
  1548. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_chebyshev.py +0 -0
  1549. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_classes.py +0 -0
  1550. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite.py +0 -0
  1551. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite_e.py +0 -0
  1552. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_laguerre.py +0 -0
  1553. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_legendre.py +0 -0
  1554. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polynomial.py +0 -0
  1555. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polyutils.py +0 -0
  1556. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_printing.py +0 -0
  1557. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/__init__.py +0 -0
  1558. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/info.py +0 -0
  1559. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/Python.pxi +0 -0
  1560. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/distributions.h +0 -0
  1561. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/generate_mtrand_c.py +0 -0
  1562. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.c +0 -0
  1563. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.h +0 -0
  1564. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/mtrand_py_helper.h +0 -0
  1565. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/numpy.pxd +0 -0
  1566. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.c +0 -0
  1567. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.h +0 -0
  1568. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/testing/tests/test_doctesting.py +0 -0
  1569. {numpy-1.9.2 → numpy-1.10.0.post2}/setupegg.py +0 -0
  1570. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/Makefile +0 -0
  1571. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/pyfragments.swg +0 -0
  1572. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.cxx +0 -0
  1573. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.h +0 -0
  1574. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.cxx +0 -0
  1575. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.h +0 -0
  1576. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.cxx +0 -0
  1577. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.h +0 -0
  1578. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.i +0 -0
  1579. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.cxx +0 -0
  1580. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.h +0 -0
  1581. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.i +0 -0
  1582. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.cxx +0 -0
  1583. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.h +0 -0
  1584. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.i +0 -0
  1585. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.cxx +0 -0
  1586. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.h +0 -0
  1587. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.i +0 -0
  1588. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.cxx +0 -0
  1589. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.h +0 -0
  1590. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.i +0 -0
  1591. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.cxx +0 -0
  1592. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.h +0 -0
  1593. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.i +0 -0
@@ -0,0 +1,2204 @@
1
+ from __future__ import division, absolute_import, print_function
2
+
3
+ import sys
4
+ import warnings
5
+ import itertools
6
+ import platform
7
+ from decimal import Decimal
8
+
9
+ import numpy as np
10
+ from numpy.core import umath
11
+ from numpy.random import rand, randint, randn
12
+ from numpy.testing import (
13
+ TestCase, run_module_suite, assert_, assert_equal, assert_raises,
14
+ assert_array_equal, assert_almost_equal, assert_array_almost_equal, dec
15
+ )
16
+
17
+
18
+ class TestResize(TestCase):
19
+ def test_copies(self):
20
+ A = np.array([[1, 2], [3, 4]])
21
+ Ar1 = np.array([[1, 2, 3, 4], [1, 2, 3, 4]])
22
+ assert_equal(np.resize(A, (2, 4)), Ar1)
23
+
24
+ Ar2 = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
25
+ assert_equal(np.resize(A, (4, 2)), Ar2)
26
+
27
+ Ar3 = np.array([[1, 2, 3], [4, 1, 2], [3, 4, 1], [2, 3, 4]])
28
+ assert_equal(np.resize(A, (4, 3)), Ar3)
29
+
30
+ def test_zeroresize(self):
31
+ A = np.array([[1, 2], [3, 4]])
32
+ Ar = np.resize(A, (0,))
33
+ assert_equal(Ar, np.array([]))
34
+
35
+
36
+ class TestNonarrayArgs(TestCase):
37
+ # check that non-array arguments to functions wrap them in arrays
38
+ def test_squeeze(self):
39
+ A = [[[1, 1, 1], [2, 2, 2], [3, 3, 3]]]
40
+ assert_(np.squeeze(A).shape == (3, 3))
41
+
42
+ def test_cumproduct(self):
43
+ A = [[1, 2, 3], [4, 5, 6]]
44
+ assert_(np.all(np.cumproduct(A) == np.array([1, 2, 6, 24, 120, 720])))
45
+
46
+ def test_size(self):
47
+ A = [[1, 2, 3], [4, 5, 6]]
48
+ assert_(np.size(A) == 6)
49
+ assert_(np.size(A, 0) == 2)
50
+ assert_(np.size(A, 1) == 3)
51
+
52
+ def test_mean(self):
53
+ A = [[1, 2, 3], [4, 5, 6]]
54
+ assert_(np.mean(A) == 3.5)
55
+ assert_(np.all(np.mean(A, 0) == np.array([2.5, 3.5, 4.5])))
56
+ assert_(np.all(np.mean(A, 1) == np.array([2., 5.])))
57
+
58
+ with warnings.catch_warnings(record=True) as w:
59
+ warnings.filterwarnings('always', '', RuntimeWarning)
60
+ assert_(np.isnan(np.mean([])))
61
+ assert_(w[0].category is RuntimeWarning)
62
+
63
+ def test_std(self):
64
+ A = [[1, 2, 3], [4, 5, 6]]
65
+ assert_almost_equal(np.std(A), 1.707825127659933)
66
+ assert_almost_equal(np.std(A, 0), np.array([1.5, 1.5, 1.5]))
67
+ assert_almost_equal(np.std(A, 1), np.array([0.81649658, 0.81649658]))
68
+
69
+ with warnings.catch_warnings(record=True) as w:
70
+ warnings.filterwarnings('always', '', RuntimeWarning)
71
+ assert_(np.isnan(np.std([])))
72
+ assert_(w[0].category is RuntimeWarning)
73
+
74
+ def test_var(self):
75
+ A = [[1, 2, 3], [4, 5, 6]]
76
+ assert_almost_equal(np.var(A), 2.9166666666666665)
77
+ assert_almost_equal(np.var(A, 0), np.array([2.25, 2.25, 2.25]))
78
+ assert_almost_equal(np.var(A, 1), np.array([0.66666667, 0.66666667]))
79
+
80
+ with warnings.catch_warnings(record=True) as w:
81
+ warnings.filterwarnings('always', '', RuntimeWarning)
82
+ assert_(np.isnan(np.var([])))
83
+ assert_(w[0].category is RuntimeWarning)
84
+
85
+
86
+ class TestBoolScalar(TestCase):
87
+ def test_logical(self):
88
+ f = np.False_
89
+ t = np.True_
90
+ s = "xyz"
91
+ self.assertTrue((t and s) is s)
92
+ self.assertTrue((f and s) is f)
93
+
94
+ def test_bitwise_or(self):
95
+ f = np.False_
96
+ t = np.True_
97
+ self.assertTrue((t | t) is t)
98
+ self.assertTrue((f | t) is t)
99
+ self.assertTrue((t | f) is t)
100
+ self.assertTrue((f | f) is f)
101
+
102
+ def test_bitwise_and(self):
103
+ f = np.False_
104
+ t = np.True_
105
+ self.assertTrue((t & t) is t)
106
+ self.assertTrue((f & t) is f)
107
+ self.assertTrue((t & f) is f)
108
+ self.assertTrue((f & f) is f)
109
+
110
+ def test_bitwise_xor(self):
111
+ f = np.False_
112
+ t = np.True_
113
+ self.assertTrue((t ^ t) is f)
114
+ self.assertTrue((f ^ t) is t)
115
+ self.assertTrue((t ^ f) is t)
116
+ self.assertTrue((f ^ f) is f)
117
+
118
+
119
+ class TestBoolArray(TestCase):
120
+ def setUp(self):
121
+ # offset for simd tests
122
+ self.t = np.array([True] * 41, dtype=np.bool)[1::]
123
+ self.f = np.array([False] * 41, dtype=np.bool)[1::]
124
+ self.o = np.array([False] * 42, dtype=np.bool)[2::]
125
+ self.nm = self.f.copy()
126
+ self.im = self.t.copy()
127
+ self.nm[3] = True
128
+ self.nm[-2] = True
129
+ self.im[3] = False
130
+ self.im[-2] = False
131
+
132
+ def test_all_any(self):
133
+ self.assertTrue(self.t.all())
134
+ self.assertTrue(self.t.any())
135
+ self.assertFalse(self.f.all())
136
+ self.assertFalse(self.f.any())
137
+ self.assertTrue(self.nm.any())
138
+ self.assertTrue(self.im.any())
139
+ self.assertFalse(self.nm.all())
140
+ self.assertFalse(self.im.all())
141
+ # check bad element in all positions
142
+ for i in range(256 - 7):
143
+ d = np.array([False] * 256, dtype=np.bool)[7::]
144
+ d[i] = True
145
+ self.assertTrue(np.any(d))
146
+ e = np.array([True] * 256, dtype=np.bool)[7::]
147
+ e[i] = False
148
+ self.assertFalse(np.all(e))
149
+ assert_array_equal(e, ~d)
150
+ # big array test for blocked libc loops
151
+ for i in list(range(9, 6000, 507)) + [7764, 90021, -10]:
152
+ d = np.array([False] * 100043, dtype=np.bool)
153
+ d[i] = True
154
+ self.assertTrue(np.any(d), msg="%r" % i)
155
+ e = np.array([True] * 100043, dtype=np.bool)
156
+ e[i] = False
157
+ self.assertFalse(np.all(e), msg="%r" % i)
158
+
159
+ def test_logical_not_abs(self):
160
+ assert_array_equal(~self.t, self.f)
161
+ assert_array_equal(np.abs(~self.t), self.f)
162
+ assert_array_equal(np.abs(~self.f), self.t)
163
+ assert_array_equal(np.abs(self.f), self.f)
164
+ assert_array_equal(~np.abs(self.f), self.t)
165
+ assert_array_equal(~np.abs(self.t), self.f)
166
+ assert_array_equal(np.abs(~self.nm), self.im)
167
+ np.logical_not(self.t, out=self.o)
168
+ assert_array_equal(self.o, self.f)
169
+ np.abs(self.t, out=self.o)
170
+ assert_array_equal(self.o, self.t)
171
+
172
+ def test_logical_and_or_xor(self):
173
+ assert_array_equal(self.t | self.t, self.t)
174
+ assert_array_equal(self.f | self.f, self.f)
175
+ assert_array_equal(self.t | self.f, self.t)
176
+ assert_array_equal(self.f | self.t, self.t)
177
+ np.logical_or(self.t, self.t, out=self.o)
178
+ assert_array_equal(self.o, self.t)
179
+ assert_array_equal(self.t & self.t, self.t)
180
+ assert_array_equal(self.f & self.f, self.f)
181
+ assert_array_equal(self.t & self.f, self.f)
182
+ assert_array_equal(self.f & self.t, self.f)
183
+ np.logical_and(self.t, self.t, out=self.o)
184
+ assert_array_equal(self.o, self.t)
185
+ assert_array_equal(self.t ^ self.t, self.f)
186
+ assert_array_equal(self.f ^ self.f, self.f)
187
+ assert_array_equal(self.t ^ self.f, self.t)
188
+ assert_array_equal(self.f ^ self.t, self.t)
189
+ np.logical_xor(self.t, self.t, out=self.o)
190
+ assert_array_equal(self.o, self.f)
191
+
192
+ assert_array_equal(self.nm & self.t, self.nm)
193
+ assert_array_equal(self.im & self.f, False)
194
+ assert_array_equal(self.nm & True, self.nm)
195
+ assert_array_equal(self.im & False, self.f)
196
+ assert_array_equal(self.nm | self.t, self.t)
197
+ assert_array_equal(self.im | self.f, self.im)
198
+ assert_array_equal(self.nm | True, self.t)
199
+ assert_array_equal(self.im | False, self.im)
200
+ assert_array_equal(self.nm ^ self.t, self.im)
201
+ assert_array_equal(self.im ^ self.f, self.im)
202
+ assert_array_equal(self.nm ^ True, self.im)
203
+ assert_array_equal(self.im ^ False, self.im)
204
+
205
+
206
+ class TestBoolCmp(TestCase):
207
+ def setUp(self):
208
+ self.f = np.ones(256, dtype=np.float32)
209
+ self.ef = np.ones(self.f.size, dtype=np.bool)
210
+ self.d = np.ones(128, dtype=np.float64)
211
+ self.ed = np.ones(self.d.size, dtype=np.bool)
212
+ # generate values for all permutation of 256bit simd vectors
213
+ s = 0
214
+ for i in range(32):
215
+ self.f[s:s+8] = [i & 2**x for x in range(8)]
216
+ self.ef[s:s+8] = [(i & 2**x) != 0 for x in range(8)]
217
+ s += 8
218
+ s = 0
219
+ for i in range(16):
220
+ self.d[s:s+4] = [i & 2**x for x in range(4)]
221
+ self.ed[s:s+4] = [(i & 2**x) != 0 for x in range(4)]
222
+ s += 4
223
+
224
+ self.nf = self.f.copy()
225
+ self.nd = self.d.copy()
226
+ self.nf[self.ef] = np.nan
227
+ self.nd[self.ed] = np.nan
228
+
229
+ def test_float(self):
230
+ # offset for alignment test
231
+ for i in range(4):
232
+ assert_array_equal(self.f[i:] > 0, self.ef[i:])
233
+ assert_array_equal(self.f[i:] - 1 >= 0, self.ef[i:])
234
+ assert_array_equal(self.f[i:] == 0, ~self.ef[i:])
235
+ assert_array_equal(-self.f[i:] < 0, self.ef[i:])
236
+ assert_array_equal(-self.f[i:] + 1 <= 0, self.ef[i:])
237
+ r = self.f[i:] != 0
238
+ assert_array_equal(r, self.ef[i:])
239
+ r2 = self.f[i:] != np.zeros_like(self.f[i:])
240
+ r3 = 0 != self.f[i:]
241
+ assert_array_equal(r, r2)
242
+ assert_array_equal(r, r3)
243
+ # check bool == 0x1
244
+ assert_array_equal(r.view(np.int8), r.astype(np.int8))
245
+ assert_array_equal(r2.view(np.int8), r2.astype(np.int8))
246
+ assert_array_equal(r3.view(np.int8), r3.astype(np.int8))
247
+
248
+ # isnan on amd64 takes the same codepath
249
+ assert_array_equal(np.isnan(self.nf[i:]), self.ef[i:])
250
+
251
+ def test_double(self):
252
+ # offset for alignment test
253
+ for i in range(2):
254
+ assert_array_equal(self.d[i:] > 0, self.ed[i:])
255
+ assert_array_equal(self.d[i:] - 1 >= 0, self.ed[i:])
256
+ assert_array_equal(self.d[i:] == 0, ~self.ed[i:])
257
+ assert_array_equal(-self.d[i:] < 0, self.ed[i:])
258
+ assert_array_equal(-self.d[i:] + 1 <= 0, self.ed[i:])
259
+ r = self.d[i:] != 0
260
+ assert_array_equal(r, self.ed[i:])
261
+ r2 = self.d[i:] != np.zeros_like(self.d[i:])
262
+ r3 = 0 != self.d[i:]
263
+ assert_array_equal(r, r2)
264
+ assert_array_equal(r, r3)
265
+ # check bool == 0x1
266
+ assert_array_equal(r.view(np.int8), r.astype(np.int8))
267
+ assert_array_equal(r2.view(np.int8), r2.astype(np.int8))
268
+ assert_array_equal(r3.view(np.int8), r3.astype(np.int8))
269
+
270
+ # isnan on amd64 takes the same codepath
271
+ assert_array_equal(np.isnan(self.nd[i:]), self.ed[i:])
272
+
273
+
274
+ class TestSeterr(TestCase):
275
+ def test_default(self):
276
+ err = np.geterr()
277
+ self.assertEqual(err, dict(
278
+ divide='warn',
279
+ invalid='warn',
280
+ over='warn',
281
+ under='ignore',
282
+ ))
283
+
284
+ def test_set(self):
285
+ with np.errstate():
286
+ err = np.seterr()
287
+ old = np.seterr(divide='print')
288
+ self.assertTrue(err == old)
289
+ new = np.seterr()
290
+ self.assertTrue(new['divide'] == 'print')
291
+ np.seterr(over='raise')
292
+ self.assertTrue(np.geterr()['over'] == 'raise')
293
+ self.assertTrue(new['divide'] == 'print')
294
+ np.seterr(**old)
295
+ self.assertTrue(np.geterr() == old)
296
+
297
+ @dec.skipif(platform.machine() == "armv5tel", "See gh-413.")
298
+ def test_divide_err(self):
299
+ with np.errstate(divide='raise'):
300
+ try:
301
+ np.array([1.]) / np.array([0.])
302
+ except FloatingPointError:
303
+ pass
304
+ else:
305
+ self.fail()
306
+ np.seterr(divide='ignore')
307
+ np.array([1.]) / np.array([0.])
308
+
309
+ def test_errobj(self):
310
+ olderrobj = np.geterrobj()
311
+ self.called = 0
312
+ try:
313
+ with warnings.catch_warnings(record=True) as w:
314
+ warnings.simplefilter("always")
315
+ with np.errstate(divide='warn'):
316
+ np.seterrobj([20000, 1, None])
317
+ np.array([1.]) / np.array([0.])
318
+ self.assertEqual(len(w), 1)
319
+
320
+ def log_err(*args):
321
+ self.called += 1
322
+ extobj_err = args
323
+ assert (len(extobj_err) == 2)
324
+ assert ("divide" in extobj_err[0])
325
+
326
+ with np.errstate(divide='ignore'):
327
+ np.seterrobj([20000, 3, log_err])
328
+ np.array([1.]) / np.array([0.])
329
+ self.assertEqual(self.called, 1)
330
+
331
+ np.seterrobj(olderrobj)
332
+ with np.errstate(divide='ignore'):
333
+ np.divide(1., 0., extobj=[20000, 3, log_err])
334
+ self.assertEqual(self.called, 2)
335
+ finally:
336
+ np.seterrobj(olderrobj)
337
+ del self.called
338
+
339
+ def test_errobj_noerrmask(self):
340
+ # errmask = 0 has a special code path for the default
341
+ olderrobj = np.geterrobj()
342
+ try:
343
+ # set errobj to something non default
344
+ np.seterrobj([umath.UFUNC_BUFSIZE_DEFAULT,
345
+ umath.ERR_DEFAULT + 1, None])
346
+ #call a ufunc
347
+ np.isnan(np.array([6]))
348
+ # same with the default, lots of times to get rid of possible
349
+ # pre-existing stack in the code
350
+ for i in range(10000):
351
+ np.seterrobj([umath.UFUNC_BUFSIZE_DEFAULT, umath.ERR_DEFAULT,
352
+ None])
353
+ np.isnan(np.array([6]))
354
+ finally:
355
+ np.seterrobj(olderrobj)
356
+
357
+
358
+ class TestFloatExceptions(TestCase):
359
+ def assert_raises_fpe(self, fpeerr, flop, x, y):
360
+ ftype = type(x)
361
+ try:
362
+ flop(x, y)
363
+ assert_(False,
364
+ "Type %s did not raise fpe error '%s'." % (ftype, fpeerr))
365
+ except FloatingPointError as exc:
366
+ assert_(str(exc).find(fpeerr) >= 0,
367
+ "Type %s raised wrong fpe error '%s'." % (ftype, exc))
368
+
369
+ def assert_op_raises_fpe(self, fpeerr, flop, sc1, sc2):
370
+ # Check that fpe exception is raised.
371
+ #
372
+ # Given a floating operation `flop` and two scalar values, check that
373
+ # the operation raises the floating point exception specified by
374
+ #`fpeerr`. Tests all variants with 0-d array scalars as well.
375
+
376
+ self.assert_raises_fpe(fpeerr, flop, sc1, sc2)
377
+ self.assert_raises_fpe(fpeerr, flop, sc1[()], sc2)
378
+ self.assert_raises_fpe(fpeerr, flop, sc1, sc2[()])
379
+ self.assert_raises_fpe(fpeerr, flop, sc1[()], sc2[()])
380
+
381
+ @dec.knownfailureif(True, "See ticket #2350")
382
+ def test_floating_exceptions(self):
383
+ # Test basic arithmetic function errors
384
+ with np.errstate(all='raise'):
385
+ # Test for all real and complex float types
386
+ for typecode in np.typecodes['AllFloat']:
387
+ ftype = np.obj2sctype(typecode)
388
+ if np.dtype(ftype).kind == 'f':
389
+ # Get some extreme values for the type
390
+ fi = np.finfo(ftype)
391
+ ft_tiny = fi.tiny
392
+ ft_max = fi.max
393
+ ft_eps = fi.eps
394
+ underflow = 'underflow'
395
+ divbyzero = 'divide by zero'
396
+ else:
397
+ # 'c', complex, corresponding real dtype
398
+ rtype = type(ftype(0).real)
399
+ fi = np.finfo(rtype)
400
+ ft_tiny = ftype(fi.tiny)
401
+ ft_max = ftype(fi.max)
402
+ ft_eps = ftype(fi.eps)
403
+ # The complex types raise different exceptions
404
+ underflow = ''
405
+ divbyzero = ''
406
+ overflow = 'overflow'
407
+ invalid = 'invalid'
408
+
409
+ self.assert_raises_fpe(underflow,
410
+ lambda a, b:a/b, ft_tiny, ft_max)
411
+ self.assert_raises_fpe(underflow,
412
+ lambda a, b:a*b, ft_tiny, ft_tiny)
413
+ self.assert_raises_fpe(overflow,
414
+ lambda a, b:a*b, ft_max, ftype(2))
415
+ self.assert_raises_fpe(overflow,
416
+ lambda a, b:a/b, ft_max, ftype(0.5))
417
+ self.assert_raises_fpe(overflow,
418
+ lambda a, b:a+b, ft_max, ft_max*ft_eps)
419
+ self.assert_raises_fpe(overflow,
420
+ lambda a, b:a-b, -ft_max, ft_max*ft_eps)
421
+ self.assert_raises_fpe(overflow,
422
+ np.power, ftype(2), ftype(2**fi.nexp))
423
+ self.assert_raises_fpe(divbyzero,
424
+ lambda a, b:a/b, ftype(1), ftype(0))
425
+ self.assert_raises_fpe(invalid,
426
+ lambda a, b:a/b, ftype(np.inf), ftype(np.inf))
427
+ self.assert_raises_fpe(invalid,
428
+ lambda a, b:a/b, ftype(0), ftype(0))
429
+ self.assert_raises_fpe(invalid,
430
+ lambda a, b:a-b, ftype(np.inf), ftype(np.inf))
431
+ self.assert_raises_fpe(invalid,
432
+ lambda a, b:a+b, ftype(np.inf), ftype(-np.inf))
433
+ self.assert_raises_fpe(invalid,
434
+ lambda a, b:a*b, ftype(0), ftype(np.inf))
435
+
436
+ def test_warnings(self):
437
+ # test warning code path
438
+ with warnings.catch_warnings(record=True) as w:
439
+ warnings.simplefilter("always")
440
+ with np.errstate(all="warn"):
441
+ np.divide(1, 0.)
442
+ self.assertEqual(len(w), 1)
443
+ self.assertTrue("divide by zero" in str(w[0].message))
444
+ np.array(1e300) * np.array(1e300)
445
+ self.assertEqual(len(w), 2)
446
+ self.assertTrue("overflow" in str(w[-1].message))
447
+ np.array(np.inf) - np.array(np.inf)
448
+ self.assertEqual(len(w), 3)
449
+ self.assertTrue("invalid value" in str(w[-1].message))
450
+ np.array(1e-300) * np.array(1e-300)
451
+ self.assertEqual(len(w), 4)
452
+ self.assertTrue("underflow" in str(w[-1].message))
453
+
454
+
455
+ class TestTypes(TestCase):
456
+ def check_promotion_cases(self, promote_func):
457
+ #Tests that the scalars get coerced correctly.
458
+ b = np.bool_(0)
459
+ i8, i16, i32, i64 = np.int8(0), np.int16(0), np.int32(0), np.int64(0)
460
+ u8, u16, u32, u64 = np.uint8(0), np.uint16(0), np.uint32(0), np.uint64(0)
461
+ f32, f64, fld = np.float32(0), np.float64(0), np.longdouble(0)
462
+ c64, c128, cld = np.complex64(0), np.complex128(0), np.clongdouble(0)
463
+
464
+ # coercion within the same kind
465
+ assert_equal(promote_func(i8, i16), np.dtype(np.int16))
466
+ assert_equal(promote_func(i32, i8), np.dtype(np.int32))
467
+ assert_equal(promote_func(i16, i64), np.dtype(np.int64))
468
+ assert_equal(promote_func(u8, u32), np.dtype(np.uint32))
469
+ assert_equal(promote_func(f32, f64), np.dtype(np.float64))
470
+ assert_equal(promote_func(fld, f32), np.dtype(np.longdouble))
471
+ assert_equal(promote_func(f64, fld), np.dtype(np.longdouble))
472
+ assert_equal(promote_func(c128, c64), np.dtype(np.complex128))
473
+ assert_equal(promote_func(cld, c128), np.dtype(np.clongdouble))
474
+ assert_equal(promote_func(c64, fld), np.dtype(np.clongdouble))
475
+
476
+ # coercion between kinds
477
+ assert_equal(promote_func(b, i32), np.dtype(np.int32))
478
+ assert_equal(promote_func(b, u8), np.dtype(np.uint8))
479
+ assert_equal(promote_func(i8, u8), np.dtype(np.int16))
480
+ assert_equal(promote_func(u8, i32), np.dtype(np.int32))
481
+ assert_equal(promote_func(i64, u32), np.dtype(np.int64))
482
+ assert_equal(promote_func(u64, i32), np.dtype(np.float64))
483
+ assert_equal(promote_func(i32, f32), np.dtype(np.float64))
484
+ assert_equal(promote_func(i64, f32), np.dtype(np.float64))
485
+ assert_equal(promote_func(f32, i16), np.dtype(np.float32))
486
+ assert_equal(promote_func(f32, u32), np.dtype(np.float64))
487
+ assert_equal(promote_func(f32, c64), np.dtype(np.complex64))
488
+ assert_equal(promote_func(c128, f32), np.dtype(np.complex128))
489
+ assert_equal(promote_func(cld, f64), np.dtype(np.clongdouble))
490
+
491
+ # coercion between scalars and 1-D arrays
492
+ assert_equal(promote_func(np.array([b]), i8), np.dtype(np.int8))
493
+ assert_equal(promote_func(np.array([b]), u8), np.dtype(np.uint8))
494
+ assert_equal(promote_func(np.array([b]), i32), np.dtype(np.int32))
495
+ assert_equal(promote_func(np.array([b]), u32), np.dtype(np.uint32))
496
+ assert_equal(promote_func(np.array([i8]), i64), np.dtype(np.int8))
497
+ assert_equal(promote_func(u64, np.array([i32])), np.dtype(np.int32))
498
+ assert_equal(promote_func(i64, np.array([u32])), np.dtype(np.uint32))
499
+ assert_equal(promote_func(np.int32(-1), np.array([u64])),
500
+ np.dtype(np.float64))
501
+ assert_equal(promote_func(f64, np.array([f32])), np.dtype(np.float32))
502
+ assert_equal(promote_func(fld, np.array([f32])), np.dtype(np.float32))
503
+ assert_equal(promote_func(np.array([f64]), fld), np.dtype(np.float64))
504
+ assert_equal(promote_func(fld, np.array([c64])),
505
+ np.dtype(np.complex64))
506
+ assert_equal(promote_func(c64, np.array([f64])),
507
+ np.dtype(np.complex128))
508
+ assert_equal(promote_func(np.complex64(3j), np.array([f64])),
509
+ np.dtype(np.complex128))
510
+
511
+ # coercion between scalars and 1-D arrays, where
512
+ # the scalar has greater kind than the array
513
+ assert_equal(promote_func(np.array([b]), f64), np.dtype(np.float64))
514
+ assert_equal(promote_func(np.array([b]), i64), np.dtype(np.int64))
515
+ assert_equal(promote_func(np.array([b]), u64), np.dtype(np.uint64))
516
+ assert_equal(promote_func(np.array([i8]), f64), np.dtype(np.float64))
517
+ assert_equal(promote_func(np.array([u16]), f64), np.dtype(np.float64))
518
+
519
+ # uint and int are treated as the same "kind" for
520
+ # the purposes of array-scalar promotion.
521
+ assert_equal(promote_func(np.array([u16]), i32), np.dtype(np.uint16))
522
+
523
+ # float and complex are treated as the same "kind" for
524
+ # the purposes of array-scalar promotion, so that you can do
525
+ # (0j + float32array) to get a complex64 array instead of
526
+ # a complex128 array.
527
+ assert_equal(promote_func(np.array([f32]), c128),
528
+ np.dtype(np.complex64))
529
+
530
+ def test_coercion(self):
531
+ def res_type(a, b):
532
+ return np.add(a, b).dtype
533
+
534
+ self.check_promotion_cases(res_type)
535
+
536
+ # Use-case: float/complex scalar * bool/int8 array
537
+ # shouldn't narrow the float/complex type
538
+ for a in [np.array([True, False]), np.array([-3, 12], dtype=np.int8)]:
539
+ b = 1.234 * a
540
+ assert_equal(b.dtype, np.dtype('f8'), "array type %s" % a.dtype)
541
+ b = np.longdouble(1.234) * a
542
+ assert_equal(b.dtype, np.dtype(np.longdouble),
543
+ "array type %s" % a.dtype)
544
+ b = np.float64(1.234) * a
545
+ assert_equal(b.dtype, np.dtype('f8'), "array type %s" % a.dtype)
546
+ b = np.float32(1.234) * a
547
+ assert_equal(b.dtype, np.dtype('f4'), "array type %s" % a.dtype)
548
+ b = np.float16(1.234) * a
549
+ assert_equal(b.dtype, np.dtype('f2'), "array type %s" % a.dtype)
550
+
551
+ b = 1.234j * a
552
+ assert_equal(b.dtype, np.dtype('c16'), "array type %s" % a.dtype)
553
+ b = np.clongdouble(1.234j) * a
554
+ assert_equal(b.dtype, np.dtype(np.clongdouble),
555
+ "array type %s" % a.dtype)
556
+ b = np.complex128(1.234j) * a
557
+ assert_equal(b.dtype, np.dtype('c16'), "array type %s" % a.dtype)
558
+ b = np.complex64(1.234j) * a
559
+ assert_equal(b.dtype, np.dtype('c8'), "array type %s" % a.dtype)
560
+
561
+ # The following use-case is problematic, and to resolve its
562
+ # tricky side-effects requires more changes.
563
+ #
564
+ ## Use-case: (1-t)*a, where 't' is a boolean array and 'a' is
565
+ ## a float32, shouldn't promote to float64
566
+ #a = np.array([1.0, 1.5], dtype=np.float32)
567
+ #t = np.array([True, False])
568
+ #b = t*a
569
+ #assert_equal(b, [1.0, 0.0])
570
+ #assert_equal(b.dtype, np.dtype('f4'))
571
+ #b = (1-t)*a
572
+ #assert_equal(b, [0.0, 1.5])
573
+ #assert_equal(b.dtype, np.dtype('f4'))
574
+ ## Probably ~t (bitwise negation) is more proper to use here,
575
+ ## but this is arguably less intuitive to understand at a glance, and
576
+ ## would fail if 't' is actually an integer array instead of boolean:
577
+ #b = (~t)*a
578
+ #assert_equal(b, [0.0, 1.5])
579
+ #assert_equal(b.dtype, np.dtype('f4'))
580
+
581
+ def test_result_type(self):
582
+ self.check_promotion_cases(np.result_type)
583
+ assert_(np.result_type(None) == np.dtype(None))
584
+
585
+ def test_promote_types_endian(self):
586
+ # promote_types should always return native-endian types
587
+ assert_equal(np.promote_types('<i8', '<i8'), np.dtype('i8'))
588
+ assert_equal(np.promote_types('>i8', '>i8'), np.dtype('i8'))
589
+
590
+ assert_equal(np.promote_types('>i8', '>U16'), np.dtype('U21'))
591
+ assert_equal(np.promote_types('<i8', '<U16'), np.dtype('U21'))
592
+ assert_equal(np.promote_types('>U16', '>i8'), np.dtype('U21'))
593
+ assert_equal(np.promote_types('<U16', '<i8'), np.dtype('U21'))
594
+
595
+ assert_equal(np.promote_types('<S5', '<U8'), np.dtype('U8'))
596
+ assert_equal(np.promote_types('>S5', '>U8'), np.dtype('U8'))
597
+ assert_equal(np.promote_types('<U8', '<S5'), np.dtype('U8'))
598
+ assert_equal(np.promote_types('>U8', '>S5'), np.dtype('U8'))
599
+ assert_equal(np.promote_types('<U5', '<U8'), np.dtype('U8'))
600
+ assert_equal(np.promote_types('>U8', '>U5'), np.dtype('U8'))
601
+
602
+ assert_equal(np.promote_types('<M8', '<M8'), np.dtype('M8'))
603
+ assert_equal(np.promote_types('>M8', '>M8'), np.dtype('M8'))
604
+ assert_equal(np.promote_types('<m8', '<m8'), np.dtype('m8'))
605
+ assert_equal(np.promote_types('>m8', '>m8'), np.dtype('m8'))
606
+
607
+ def test_promote_types_strings(self):
608
+ assert_equal(np.promote_types('bool', 'S'), np.dtype('S5'))
609
+ assert_equal(np.promote_types('b', 'S'), np.dtype('S4'))
610
+ assert_equal(np.promote_types('u1', 'S'), np.dtype('S3'))
611
+ assert_equal(np.promote_types('u2', 'S'), np.dtype('S5'))
612
+ assert_equal(np.promote_types('u4', 'S'), np.dtype('S10'))
613
+ assert_equal(np.promote_types('u8', 'S'), np.dtype('S20'))
614
+ assert_equal(np.promote_types('i1', 'S'), np.dtype('S4'))
615
+ assert_equal(np.promote_types('i2', 'S'), np.dtype('S6'))
616
+ assert_equal(np.promote_types('i4', 'S'), np.dtype('S11'))
617
+ assert_equal(np.promote_types('i8', 'S'), np.dtype('S21'))
618
+ assert_equal(np.promote_types('bool', 'U'), np.dtype('U5'))
619
+ assert_equal(np.promote_types('b', 'U'), np.dtype('U4'))
620
+ assert_equal(np.promote_types('u1', 'U'), np.dtype('U3'))
621
+ assert_equal(np.promote_types('u2', 'U'), np.dtype('U5'))
622
+ assert_equal(np.promote_types('u4', 'U'), np.dtype('U10'))
623
+ assert_equal(np.promote_types('u8', 'U'), np.dtype('U20'))
624
+ assert_equal(np.promote_types('i1', 'U'), np.dtype('U4'))
625
+ assert_equal(np.promote_types('i2', 'U'), np.dtype('U6'))
626
+ assert_equal(np.promote_types('i4', 'U'), np.dtype('U11'))
627
+ assert_equal(np.promote_types('i8', 'U'), np.dtype('U21'))
628
+ assert_equal(np.promote_types('bool', 'S1'), np.dtype('S5'))
629
+ assert_equal(np.promote_types('bool', 'S30'), np.dtype('S30'))
630
+ assert_equal(np.promote_types('b', 'S1'), np.dtype('S4'))
631
+ assert_equal(np.promote_types('b', 'S30'), np.dtype('S30'))
632
+ assert_equal(np.promote_types('u1', 'S1'), np.dtype('S3'))
633
+ assert_equal(np.promote_types('u1', 'S30'), np.dtype('S30'))
634
+ assert_equal(np.promote_types('u2', 'S1'), np.dtype('S5'))
635
+ assert_equal(np.promote_types('u2', 'S30'), np.dtype('S30'))
636
+ assert_equal(np.promote_types('u4', 'S1'), np.dtype('S10'))
637
+ assert_equal(np.promote_types('u4', 'S30'), np.dtype('S30'))
638
+ assert_equal(np.promote_types('u8', 'S1'), np.dtype('S20'))
639
+ assert_equal(np.promote_types('u8', 'S30'), np.dtype('S30'))
640
+
641
+ def test_can_cast(self):
642
+ assert_(np.can_cast(np.int32, np.int64))
643
+ assert_(np.can_cast(np.float64, np.complex))
644
+ assert_(not np.can_cast(np.complex, np.float))
645
+
646
+ assert_(np.can_cast('i8', 'f8'))
647
+ assert_(not np.can_cast('i8', 'f4'))
648
+ assert_(np.can_cast('i4', 'S11'))
649
+
650
+ assert_(np.can_cast('i8', 'i8', 'no'))
651
+ assert_(not np.can_cast('<i8', '>i8', 'no'))
652
+
653
+ assert_(np.can_cast('<i8', '>i8', 'equiv'))
654
+ assert_(not np.can_cast('<i4', '>i8', 'equiv'))
655
+
656
+ assert_(np.can_cast('<i4', '>i8', 'safe'))
657
+ assert_(not np.can_cast('<i8', '>i4', 'safe'))
658
+
659
+ assert_(np.can_cast('<i8', '>i4', 'same_kind'))
660
+ assert_(not np.can_cast('<i8', '>u4', 'same_kind'))
661
+
662
+ assert_(np.can_cast('<i8', '>u4', 'unsafe'))
663
+
664
+ assert_(np.can_cast('bool', 'S5'))
665
+ assert_(not np.can_cast('bool', 'S4'))
666
+
667
+ assert_(np.can_cast('b', 'S4'))
668
+ assert_(not np.can_cast('b', 'S3'))
669
+
670
+ assert_(np.can_cast('u1', 'S3'))
671
+ assert_(not np.can_cast('u1', 'S2'))
672
+ assert_(np.can_cast('u2', 'S5'))
673
+ assert_(not np.can_cast('u2', 'S4'))
674
+ assert_(np.can_cast('u4', 'S10'))
675
+ assert_(not np.can_cast('u4', 'S9'))
676
+ assert_(np.can_cast('u8', 'S20'))
677
+ assert_(not np.can_cast('u8', 'S19'))
678
+
679
+ assert_(np.can_cast('i1', 'S4'))
680
+ assert_(not np.can_cast('i1', 'S3'))
681
+ assert_(np.can_cast('i2', 'S6'))
682
+ assert_(not np.can_cast('i2', 'S5'))
683
+ assert_(np.can_cast('i4', 'S11'))
684
+ assert_(not np.can_cast('i4', 'S10'))
685
+ assert_(np.can_cast('i8', 'S21'))
686
+ assert_(not np.can_cast('i8', 'S20'))
687
+
688
+ assert_(np.can_cast('bool', 'S5'))
689
+ assert_(not np.can_cast('bool', 'S4'))
690
+
691
+ assert_(np.can_cast('b', 'U4'))
692
+ assert_(not np.can_cast('b', 'U3'))
693
+
694
+ assert_(np.can_cast('u1', 'U3'))
695
+ assert_(not np.can_cast('u1', 'U2'))
696
+ assert_(np.can_cast('u2', 'U5'))
697
+ assert_(not np.can_cast('u2', 'U4'))
698
+ assert_(np.can_cast('u4', 'U10'))
699
+ assert_(not np.can_cast('u4', 'U9'))
700
+ assert_(np.can_cast('u8', 'U20'))
701
+ assert_(not np.can_cast('u8', 'U19'))
702
+
703
+ assert_(np.can_cast('i1', 'U4'))
704
+ assert_(not np.can_cast('i1', 'U3'))
705
+ assert_(np.can_cast('i2', 'U6'))
706
+ assert_(not np.can_cast('i2', 'U5'))
707
+ assert_(np.can_cast('i4', 'U11'))
708
+ assert_(not np.can_cast('i4', 'U10'))
709
+ assert_(np.can_cast('i8', 'U21'))
710
+ assert_(not np.can_cast('i8', 'U20'))
711
+
712
+ assert_raises(TypeError, np.can_cast, 'i4', None)
713
+ assert_raises(TypeError, np.can_cast, None, 'i4')
714
+
715
+
716
+ # Custom exception class to test exception propagation in fromiter
717
+ class NIterError(Exception):
718
+ pass
719
+
720
+
721
+ class TestFromiter(TestCase):
722
+ def makegen(self):
723
+ for x in range(24):
724
+ yield x**2
725
+
726
+ def test_types(self):
727
+ ai32 = np.fromiter(self.makegen(), np.int32)
728
+ ai64 = np.fromiter(self.makegen(), np.int64)
729
+ af = np.fromiter(self.makegen(), float)
730
+ self.assertTrue(ai32.dtype == np.dtype(np.int32))
731
+ self.assertTrue(ai64.dtype == np.dtype(np.int64))
732
+ self.assertTrue(af.dtype == np.dtype(float))
733
+
734
+ def test_lengths(self):
735
+ expected = np.array(list(self.makegen()))
736
+ a = np.fromiter(self.makegen(), int)
737
+ a20 = np.fromiter(self.makegen(), int, 20)
738
+ self.assertTrue(len(a) == len(expected))
739
+ self.assertTrue(len(a20) == 20)
740
+ self.assertRaises(ValueError, np.fromiter,
741
+ self.makegen(), int, len(expected) + 10)
742
+
743
+ def test_values(self):
744
+ expected = np.array(list(self.makegen()))
745
+ a = np.fromiter(self.makegen(), int)
746
+ a20 = np.fromiter(self.makegen(), int, 20)
747
+ self.assertTrue(np.alltrue(a == expected, axis=0))
748
+ self.assertTrue(np.alltrue(a20 == expected[:20], axis=0))
749
+
750
+ def load_data(self, n, eindex):
751
+ # Utility method for the issue 2592 tests.
752
+ # Raise an exception at the desired index in the iterator.
753
+ for e in range(n):
754
+ if e == eindex:
755
+ raise NIterError('error at index %s' % eindex)
756
+ yield e
757
+
758
+ def test_2592(self):
759
+ # Test iteration exceptions are correctly raised.
760
+ count, eindex = 10, 5
761
+ self.assertRaises(NIterError, np.fromiter,
762
+ self.load_data(count, eindex), dtype=int, count=count)
763
+
764
+ def test_2592_edge(self):
765
+ # Test iter. exceptions, edge case (exception at end of iterator).
766
+ count = 10
767
+ eindex = count-1
768
+ self.assertRaises(NIterError, np.fromiter,
769
+ self.load_data(count, eindex), dtype=int, count=count)
770
+
771
+
772
+ class TestNonzero(TestCase):
773
+ def test_nonzero_trivial(self):
774
+ assert_equal(np.count_nonzero(np.array([])), 0)
775
+ assert_equal(np.count_nonzero(np.array([], dtype='?')), 0)
776
+ assert_equal(np.nonzero(np.array([])), ([],))
777
+
778
+ assert_equal(np.count_nonzero(np.array(0)), 0)
779
+ assert_equal(np.count_nonzero(np.array(0, dtype='?')), 0)
780
+ assert_equal(np.nonzero(np.array(0)), ([],))
781
+ assert_equal(np.count_nonzero(np.array(1)), 1)
782
+ assert_equal(np.count_nonzero(np.array(1, dtype='?')), 1)
783
+ assert_equal(np.nonzero(np.array(1)), ([0],))
784
+
785
+ def test_nonzero_onedim(self):
786
+ x = np.array([1, 0, 2, -1, 0, 0, 8])
787
+ assert_equal(np.count_nonzero(x), 4)
788
+ assert_equal(np.count_nonzero(x), 4)
789
+ assert_equal(np.nonzero(x), ([0, 2, 3, 6],))
790
+
791
+ x = np.array([(1, 2), (0, 0), (1, 1), (-1, 3), (0, 7)],
792
+ dtype=[('a', 'i4'), ('b', 'i2')])
793
+ assert_equal(np.count_nonzero(x['a']), 3)
794
+ assert_equal(np.count_nonzero(x['b']), 4)
795
+ assert_equal(np.nonzero(x['a']), ([0, 2, 3],))
796
+ assert_equal(np.nonzero(x['b']), ([0, 2, 3, 4],))
797
+
798
+ def test_nonzero_twodim(self):
799
+ x = np.array([[0, 1, 0], [2, 0, 3]])
800
+ assert_equal(np.count_nonzero(x), 3)
801
+ assert_equal(np.nonzero(x), ([0, 1, 1], [1, 0, 2]))
802
+
803
+ x = np.eye(3)
804
+ assert_equal(np.count_nonzero(x), 3)
805
+ assert_equal(np.nonzero(x), ([0, 1, 2], [0, 1, 2]))
806
+
807
+ x = np.array([[(0, 1), (0, 0), (1, 11)],
808
+ [(1, 1), (1, 0), (0, 0)],
809
+ [(0, 0), (1, 5), (0, 1)]], dtype=[('a', 'f4'), ('b', 'u1')])
810
+ assert_equal(np.count_nonzero(x['a']), 4)
811
+ assert_equal(np.count_nonzero(x['b']), 5)
812
+ assert_equal(np.nonzero(x['a']), ([0, 1, 1, 2], [2, 0, 1, 1]))
813
+ assert_equal(np.nonzero(x['b']), ([0, 0, 1, 2, 2], [0, 2, 0, 1, 2]))
814
+
815
+ assert_(not x['a'].T.flags.aligned)
816
+ assert_equal(np.count_nonzero(x['a'].T), 4)
817
+ assert_equal(np.count_nonzero(x['b'].T), 5)
818
+ assert_equal(np.nonzero(x['a'].T), ([0, 1, 1, 2], [1, 1, 2, 0]))
819
+ assert_equal(np.nonzero(x['b'].T), ([0, 0, 1, 2, 2], [0, 1, 2, 0, 2]))
820
+
821
+ def test_sparse(self):
822
+ # test special sparse condition boolean code path
823
+ for i in range(20):
824
+ c = np.zeros(200, dtype=np.bool)
825
+ c[i::20] = True
826
+ assert_equal(np.nonzero(c)[0], np.arange(i, 200 + i, 20))
827
+
828
+ c = np.zeros(400, dtype=np.bool)
829
+ c[10 + i:20 + i] = True
830
+ c[20 + i*2] = True
831
+ assert_equal(np.nonzero(c)[0],
832
+ np.concatenate((np.arange(10 + i, 20 + i), [20 + i*2])))
833
+
834
+ def test_return_type(self):
835
+ class C(np.ndarray):
836
+ pass
837
+
838
+ for view in (C, np.ndarray):
839
+ for nd in range(1, 4):
840
+ shape = tuple(range(2, 2+nd))
841
+ x = np.arange(np.prod(shape)).reshape(shape).view(view)
842
+ for nzx in (np.nonzero(x), x.nonzero()):
843
+ for nzx_i in nzx:
844
+ assert_(type(nzx_i) is np.ndarray)
845
+ assert_(nzx_i.flags.writeable)
846
+
847
+
848
+ class TestIndex(TestCase):
849
+ def test_boolean(self):
850
+ a = rand(3, 5, 8)
851
+ V = rand(5, 8)
852
+ g1 = randint(0, 5, size=15)
853
+ g2 = randint(0, 8, size=15)
854
+ V[g1, g2] = -V[g1, g2]
855
+ assert_((np.array([a[0][V > 0], a[1][V > 0], a[2][V > 0]]) == a[:, V > 0]).all())
856
+
857
+ def test_boolean_edgecase(self):
858
+ a = np.array([], dtype='int32')
859
+ b = np.array([], dtype='bool')
860
+ c = a[b]
861
+ assert_equal(c, [])
862
+ assert_equal(c.dtype, np.dtype('int32'))
863
+
864
+
865
+ class TestBinaryRepr(TestCase):
866
+ def test_zero(self):
867
+ assert_equal(np.binary_repr(0), '0')
868
+
869
+ def test_large(self):
870
+ assert_equal(np.binary_repr(10736848), '101000111101010011010000')
871
+
872
+ def test_negative(self):
873
+ assert_equal(np.binary_repr(-1), '-1')
874
+ assert_equal(np.binary_repr(-1, width=8), '11111111')
875
+
876
+
877
+ class TestBaseRepr(TestCase):
878
+ def test_base3(self):
879
+ assert_equal(np.base_repr(3**5, 3), '100000')
880
+
881
+ def test_positive(self):
882
+ assert_equal(np.base_repr(12, 10), '12')
883
+ assert_equal(np.base_repr(12, 10, 4), '000012')
884
+ assert_equal(np.base_repr(12, 4), '30')
885
+ assert_equal(np.base_repr(3731624803700888, 36), '10QR0ROFCEW')
886
+
887
+ def test_negative(self):
888
+ assert_equal(np.base_repr(-12, 10), '-12')
889
+ assert_equal(np.base_repr(-12, 10, 4), '-000012')
890
+ assert_equal(np.base_repr(-12, 4), '-30')
891
+
892
+ class TestArrayComparisons(TestCase):
893
+ def test_array_equal(self):
894
+ res = np.array_equal(np.array([1, 2]), np.array([1, 2]))
895
+ assert_(res)
896
+ assert_(type(res) is bool)
897
+ res = np.array_equal(np.array([1, 2]), np.array([1, 2, 3]))
898
+ assert_(not res)
899
+ assert_(type(res) is bool)
900
+ res = np.array_equal(np.array([1, 2]), np.array([3, 4]))
901
+ assert_(not res)
902
+ assert_(type(res) is bool)
903
+ res = np.array_equal(np.array([1, 2]), np.array([1, 3]))
904
+ assert_(not res)
905
+ assert_(type(res) is bool)
906
+ res = np.array_equal(np.array(['a'], dtype='S1'), np.array(['a'], dtype='S1'))
907
+ assert_(res)
908
+ assert_(type(res) is bool)
909
+ res = np.array_equal(np.array([('a', 1)], dtype='S1,u4'),
910
+ np.array([('a', 1)], dtype='S1,u4'))
911
+ assert_(res)
912
+ assert_(type(res) is bool)
913
+
914
+ def test_array_equiv(self):
915
+ res = np.array_equiv(np.array([1, 2]), np.array([1, 2]))
916
+ assert_(res)
917
+ assert_(type(res) is bool)
918
+ res = np.array_equiv(np.array([1, 2]), np.array([1, 2, 3]))
919
+ assert_(not res)
920
+ assert_(type(res) is bool)
921
+ res = np.array_equiv(np.array([1, 2]), np.array([3, 4]))
922
+ assert_(not res)
923
+ assert_(type(res) is bool)
924
+ res = np.array_equiv(np.array([1, 2]), np.array([1, 3]))
925
+ assert_(not res)
926
+ assert_(type(res) is bool)
927
+
928
+ res = np.array_equiv(np.array([1, 1]), np.array([1]))
929
+ assert_(res)
930
+ assert_(type(res) is bool)
931
+ res = np.array_equiv(np.array([1, 1]), np.array([[1], [1]]))
932
+ assert_(res)
933
+ assert_(type(res) is bool)
934
+ res = np.array_equiv(np.array([1, 2]), np.array([2]))
935
+ assert_(not res)
936
+ assert_(type(res) is bool)
937
+ res = np.array_equiv(np.array([1, 2]), np.array([[1], [2]]))
938
+ assert_(not res)
939
+ assert_(type(res) is bool)
940
+ res = np.array_equiv(np.array([1, 2]), np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))
941
+ assert_(not res)
942
+ assert_(type(res) is bool)
943
+
944
+
945
+ def assert_array_strict_equal(x, y):
946
+ assert_array_equal(x, y)
947
+ # Check flags, 32 bit arches typically don't provide 16 byte alignment
948
+ if ((x.dtype.alignment <= 8 or
949
+ np.intp().dtype.itemsize != 4) and
950
+ sys.platform != 'win32'):
951
+ assert_(x.flags == y.flags)
952
+ else:
953
+ assert_(x.flags.owndata == y.flags.owndata)
954
+ assert_(x.flags.writeable == y.flags.writeable)
955
+ assert_(x.flags.c_contiguous == y.flags.c_contiguous)
956
+ assert_(x.flags.f_contiguous == y.flags.f_contiguous)
957
+ assert_(x.flags.updateifcopy == y.flags.updateifcopy)
958
+ # check endianness
959
+ assert_(x.dtype.isnative == y.dtype.isnative)
960
+
961
+
962
+ class TestClip(TestCase):
963
+ def setUp(self):
964
+ self.nr = 5
965
+ self.nc = 3
966
+
967
+ def fastclip(self, a, m, M, out=None):
968
+ if out is None:
969
+ return a.clip(m, M)
970
+ else:
971
+ return a.clip(m, M, out)
972
+
973
+ def clip(self, a, m, M, out=None):
974
+ # use slow-clip
975
+ selector = np.less(a, m) + 2*np.greater(a, M)
976
+ return selector.choose((a, m, M), out=out)
977
+
978
+ # Handy functions
979
+ def _generate_data(self, n, m):
980
+ return randn(n, m)
981
+
982
+ def _generate_data_complex(self, n, m):
983
+ return randn(n, m) + 1.j * rand(n, m)
984
+
985
+ def _generate_flt_data(self, n, m):
986
+ return (randn(n, m)).astype(np.float32)
987
+
988
+ def _neg_byteorder(self, a):
989
+ a = np.asarray(a)
990
+ if sys.byteorder == 'little':
991
+ a = a.astype(a.dtype.newbyteorder('>'))
992
+ else:
993
+ a = a.astype(a.dtype.newbyteorder('<'))
994
+ return a
995
+
996
+ def _generate_non_native_data(self, n, m):
997
+ data = randn(n, m)
998
+ data = self._neg_byteorder(data)
999
+ assert_(not data.dtype.isnative)
1000
+ return data
1001
+
1002
+ def _generate_int_data(self, n, m):
1003
+ return (10 * rand(n, m)).astype(np.int64)
1004
+
1005
+ def _generate_int32_data(self, n, m):
1006
+ return (10 * rand(n, m)).astype(np.int32)
1007
+
1008
+ # Now the real test cases
1009
+ def test_simple_double(self):
1010
+ #Test native double input with scalar min/max.
1011
+ a = self._generate_data(self.nr, self.nc)
1012
+ m = 0.1
1013
+ M = 0.6
1014
+ ac = self.fastclip(a, m, M)
1015
+ act = self.clip(a, m, M)
1016
+ assert_array_strict_equal(ac, act)
1017
+
1018
+ def test_simple_int(self):
1019
+ #Test native int input with scalar min/max.
1020
+ a = self._generate_int_data(self.nr, self.nc)
1021
+ a = a.astype(int)
1022
+ m = -2
1023
+ M = 4
1024
+ ac = self.fastclip(a, m, M)
1025
+ act = self.clip(a, m, M)
1026
+ assert_array_strict_equal(ac, act)
1027
+
1028
+ def test_array_double(self):
1029
+ #Test native double input with array min/max.
1030
+ a = self._generate_data(self.nr, self.nc)
1031
+ m = np.zeros(a.shape)
1032
+ M = m + 0.5
1033
+ ac = self.fastclip(a, m, M)
1034
+ act = self.clip(a, m, M)
1035
+ assert_array_strict_equal(ac, act)
1036
+
1037
+ def test_simple_nonnative(self):
1038
+ #Test non native double input with scalar min/max.
1039
+ #Test native double input with non native double scalar min/max.
1040
+ a = self._generate_non_native_data(self.nr, self.nc)
1041
+ m = -0.5
1042
+ M = 0.6
1043
+ ac = self.fastclip(a, m, M)
1044
+ act = self.clip(a, m, M)
1045
+ assert_array_equal(ac, act)
1046
+
1047
+ #Test native double input with non native double scalar min/max.
1048
+ a = self._generate_data(self.nr, self.nc)
1049
+ m = -0.5
1050
+ M = self._neg_byteorder(0.6)
1051
+ assert_(not M.dtype.isnative)
1052
+ ac = self.fastclip(a, m, M)
1053
+ act = self.clip(a, m, M)
1054
+ assert_array_equal(ac, act)
1055
+
1056
+ def test_simple_complex(self):
1057
+ #Test native complex input with native double scalar min/max.
1058
+ #Test native input with complex double scalar min/max.
1059
+ a = 3 * self._generate_data_complex(self.nr, self.nc)
1060
+ m = -0.5
1061
+ M = 1.
1062
+ ac = self.fastclip(a, m, M)
1063
+ act = self.clip(a, m, M)
1064
+ assert_array_strict_equal(ac, act)
1065
+
1066
+ #Test native input with complex double scalar min/max.
1067
+ a = 3 * self._generate_data(self.nr, self.nc)
1068
+ m = -0.5 + 1.j
1069
+ M = 1. + 2.j
1070
+ ac = self.fastclip(a, m, M)
1071
+ act = self.clip(a, m, M)
1072
+ assert_array_strict_equal(ac, act)
1073
+
1074
+ def test_clip_complex(self):
1075
+ # Address Issue gh-5354 for clipping complex arrays
1076
+ # Test native complex input without explicit min/max
1077
+ # ie, either min=None or max=None
1078
+ a = np.ones(10, dtype=np.complex)
1079
+ m = a.min()
1080
+ M = a.max()
1081
+ am = self.fastclip(a, m, None)
1082
+ aM = self.fastclip(a, None, M)
1083
+ assert_array_strict_equal(am, a)
1084
+ assert_array_strict_equal(aM, a)
1085
+
1086
+ def test_clip_non_contig(self):
1087
+ #Test clip for non contiguous native input and native scalar min/max.
1088
+ a = self._generate_data(self.nr * 2, self.nc * 3)
1089
+ a = a[::2, ::3]
1090
+ assert_(not a.flags['F_CONTIGUOUS'])
1091
+ assert_(not a.flags['C_CONTIGUOUS'])
1092
+ ac = self.fastclip(a, -1.6, 1.7)
1093
+ act = self.clip(a, -1.6, 1.7)
1094
+ assert_array_strict_equal(ac, act)
1095
+
1096
+ def test_simple_out(self):
1097
+ #Test native double input with scalar min/max.
1098
+ a = self._generate_data(self.nr, self.nc)
1099
+ m = -0.5
1100
+ M = 0.6
1101
+ ac = np.zeros(a.shape)
1102
+ act = np.zeros(a.shape)
1103
+ self.fastclip(a, m, M, ac)
1104
+ self.clip(a, m, M, act)
1105
+ assert_array_strict_equal(ac, act)
1106
+
1107
+ def test_simple_int32_inout(self):
1108
+ #Test native int32 input with double min/max and int32 out.
1109
+ a = self._generate_int32_data(self.nr, self.nc)
1110
+ m = np.float64(0)
1111
+ M = np.float64(2)
1112
+ ac = np.zeros(a.shape, dtype=np.int32)
1113
+ act = ac.copy()
1114
+ self.fastclip(a, m, M, ac)
1115
+ self.clip(a, m, M, act)
1116
+ assert_array_strict_equal(ac, act)
1117
+
1118
+ def test_simple_int64_out(self):
1119
+ #Test native int32 input with int32 scalar min/max and int64 out.
1120
+ a = self._generate_int32_data(self.nr, self.nc)
1121
+ m = np.int32(-1)
1122
+ M = np.int32(1)
1123
+ ac = np.zeros(a.shape, dtype=np.int64)
1124
+ act = ac.copy()
1125
+ self.fastclip(a, m, M, ac)
1126
+ self.clip(a, m, M, act)
1127
+ assert_array_strict_equal(ac, act)
1128
+
1129
+ def test_simple_int64_inout(self):
1130
+ #Test native int32 input with double array min/max and int32 out.
1131
+ a = self._generate_int32_data(self.nr, self.nc)
1132
+ m = np.zeros(a.shape, np.float64)
1133
+ M = np.float64(1)
1134
+ ac = np.zeros(a.shape, dtype=np.int32)
1135
+ act = ac.copy()
1136
+ self.fastclip(a, m, M, ac)
1137
+ self.clip(a, m, M, act)
1138
+ assert_array_strict_equal(ac, act)
1139
+
1140
+ def test_simple_int32_out(self):
1141
+ #Test native double input with scalar min/max and int out.
1142
+ a = self._generate_data(self.nr, self.nc)
1143
+ m = -1.0
1144
+ M = 2.0
1145
+ ac = np.zeros(a.shape, dtype=np.int32)
1146
+ act = ac.copy()
1147
+ self.fastclip(a, m, M, ac)
1148
+ self.clip(a, m, M, act)
1149
+ assert_array_strict_equal(ac, act)
1150
+
1151
+ def test_simple_inplace_01(self):
1152
+ #Test native double input with array min/max in-place.
1153
+ a = self._generate_data(self.nr, self.nc)
1154
+ ac = a.copy()
1155
+ m = np.zeros(a.shape)
1156
+ M = 1.0
1157
+ self.fastclip(a, m, M, a)
1158
+ self.clip(a, m, M, ac)
1159
+ assert_array_strict_equal(a, ac)
1160
+
1161
+ def test_simple_inplace_02(self):
1162
+ #Test native double input with scalar min/max in-place.
1163
+ a = self._generate_data(self.nr, self.nc)
1164
+ ac = a.copy()
1165
+ m = -0.5
1166
+ M = 0.6
1167
+ self.fastclip(a, m, M, a)
1168
+ self.clip(a, m, M, ac)
1169
+ assert_array_strict_equal(a, ac)
1170
+
1171
+ def test_noncontig_inplace(self):
1172
+ #Test non contiguous double input with double scalar min/max in-place.
1173
+ a = self._generate_data(self.nr * 2, self.nc * 3)
1174
+ a = a[::2, ::3]
1175
+ assert_(not a.flags['F_CONTIGUOUS'])
1176
+ assert_(not a.flags['C_CONTIGUOUS'])
1177
+ ac = a.copy()
1178
+ m = -0.5
1179
+ M = 0.6
1180
+ self.fastclip(a, m, M, a)
1181
+ self.clip(a, m, M, ac)
1182
+ assert_array_equal(a, ac)
1183
+
1184
+ def test_type_cast_01(self):
1185
+ #Test native double input with scalar min/max.
1186
+ a = self._generate_data(self.nr, self.nc)
1187
+ m = -0.5
1188
+ M = 0.6
1189
+ ac = self.fastclip(a, m, M)
1190
+ act = self.clip(a, m, M)
1191
+ assert_array_strict_equal(ac, act)
1192
+
1193
+ def test_type_cast_02(self):
1194
+ #Test native int32 input with int32 scalar min/max.
1195
+ a = self._generate_int_data(self.nr, self.nc)
1196
+ a = a.astype(np.int32)
1197
+ m = -2
1198
+ M = 4
1199
+ ac = self.fastclip(a, m, M)
1200
+ act = self.clip(a, m, M)
1201
+ assert_array_strict_equal(ac, act)
1202
+
1203
+ def test_type_cast_03(self):
1204
+ #Test native int32 input with float64 scalar min/max.
1205
+ a = self._generate_int32_data(self.nr, self.nc)
1206
+ m = -2
1207
+ M = 4
1208
+ ac = self.fastclip(a, np.float64(m), np.float64(M))
1209
+ act = self.clip(a, np.float64(m), np.float64(M))
1210
+ assert_array_strict_equal(ac, act)
1211
+
1212
+ def test_type_cast_04(self):
1213
+ #Test native int32 input with float32 scalar min/max.
1214
+ a = self._generate_int32_data(self.nr, self.nc)
1215
+ m = np.float32(-2)
1216
+ M = np.float32(4)
1217
+ act = self.fastclip(a, m, M)
1218
+ ac = self.clip(a, m, M)
1219
+ assert_array_strict_equal(ac, act)
1220
+
1221
+ def test_type_cast_05(self):
1222
+ #Test native int32 with double arrays min/max.
1223
+ a = self._generate_int_data(self.nr, self.nc)
1224
+ m = -0.5
1225
+ M = 1.
1226
+ ac = self.fastclip(a, m * np.zeros(a.shape), M)
1227
+ act = self.clip(a, m * np.zeros(a.shape), M)
1228
+ assert_array_strict_equal(ac, act)
1229
+
1230
+ def test_type_cast_06(self):
1231
+ #Test native with NON native scalar min/max.
1232
+ a = self._generate_data(self.nr, self.nc)
1233
+ m = 0.5
1234
+ m_s = self._neg_byteorder(m)
1235
+ M = 1.
1236
+ act = self.clip(a, m_s, M)
1237
+ ac = self.fastclip(a, m_s, M)
1238
+ assert_array_strict_equal(ac, act)
1239
+
1240
+ def test_type_cast_07(self):
1241
+ #Test NON native with native array min/max.
1242
+ a = self._generate_data(self.nr, self.nc)
1243
+ m = -0.5 * np.ones(a.shape)
1244
+ M = 1.
1245
+ a_s = self._neg_byteorder(a)
1246
+ assert_(not a_s.dtype.isnative)
1247
+ act = a_s.clip(m, M)
1248
+ ac = self.fastclip(a_s, m, M)
1249
+ assert_array_strict_equal(ac, act)
1250
+
1251
+ def test_type_cast_08(self):
1252
+ #Test NON native with native scalar min/max.
1253
+ a = self._generate_data(self.nr, self.nc)
1254
+ m = -0.5
1255
+ M = 1.
1256
+ a_s = self._neg_byteorder(a)
1257
+ assert_(not a_s.dtype.isnative)
1258
+ ac = self.fastclip(a_s, m, M)
1259
+ act = a_s.clip(m, M)
1260
+ assert_array_strict_equal(ac, act)
1261
+
1262
+ def test_type_cast_09(self):
1263
+ #Test native with NON native array min/max.
1264
+ a = self._generate_data(self.nr, self.nc)
1265
+ m = -0.5 * np.ones(a.shape)
1266
+ M = 1.
1267
+ m_s = self._neg_byteorder(m)
1268
+ assert_(not m_s.dtype.isnative)
1269
+ ac = self.fastclip(a, m_s, M)
1270
+ act = self.clip(a, m_s, M)
1271
+ assert_array_strict_equal(ac, act)
1272
+
1273
+ def test_type_cast_10(self):
1274
+ #Test native int32 with float min/max and float out for output argument.
1275
+ a = self._generate_int_data(self.nr, self.nc)
1276
+ b = np.zeros(a.shape, dtype=np.float32)
1277
+ m = np.float32(-0.5)
1278
+ M = np.float32(1)
1279
+ act = self.clip(a, m, M, out=b)
1280
+ ac = self.fastclip(a, m, M, out=b)
1281
+ assert_array_strict_equal(ac, act)
1282
+
1283
+ def test_type_cast_11(self):
1284
+ #Test non native with native scalar, min/max, out non native
1285
+ a = self._generate_non_native_data(self.nr, self.nc)
1286
+ b = a.copy()
1287
+ b = b.astype(b.dtype.newbyteorder('>'))
1288
+ bt = b.copy()
1289
+ m = -0.5
1290
+ M = 1.
1291
+ self.fastclip(a, m, M, out=b)
1292
+ self.clip(a, m, M, out=bt)
1293
+ assert_array_strict_equal(b, bt)
1294
+
1295
+ def test_type_cast_12(self):
1296
+ #Test native int32 input and min/max and float out
1297
+ a = self._generate_int_data(self.nr, self.nc)
1298
+ b = np.zeros(a.shape, dtype=np.float32)
1299
+ m = np.int32(0)
1300
+ M = np.int32(1)
1301
+ act = self.clip(a, m, M, out=b)
1302
+ ac = self.fastclip(a, m, M, out=b)
1303
+ assert_array_strict_equal(ac, act)
1304
+
1305
+ def test_clip_with_out_simple(self):
1306
+ #Test native double input with scalar min/max
1307
+ a = self._generate_data(self.nr, self.nc)
1308
+ m = -0.5
1309
+ M = 0.6
1310
+ ac = np.zeros(a.shape)
1311
+ act = np.zeros(a.shape)
1312
+ self.fastclip(a, m, M, ac)
1313
+ self.clip(a, m, M, act)
1314
+ assert_array_strict_equal(ac, act)
1315
+
1316
+ def test_clip_with_out_simple2(self):
1317
+ #Test native int32 input with double min/max and int32 out
1318
+ a = self._generate_int32_data(self.nr, self.nc)
1319
+ m = np.float64(0)
1320
+ M = np.float64(2)
1321
+ ac = np.zeros(a.shape, dtype=np.int32)
1322
+ act = ac.copy()
1323
+ self.fastclip(a, m, M, ac)
1324
+ self.clip(a, m, M, act)
1325
+ assert_array_strict_equal(ac, act)
1326
+
1327
+ def test_clip_with_out_simple_int32(self):
1328
+ #Test native int32 input with int32 scalar min/max and int64 out
1329
+ a = self._generate_int32_data(self.nr, self.nc)
1330
+ m = np.int32(-1)
1331
+ M = np.int32(1)
1332
+ ac = np.zeros(a.shape, dtype=np.int64)
1333
+ act = ac.copy()
1334
+ self.fastclip(a, m, M, ac)
1335
+ self.clip(a, m, M, act)
1336
+ assert_array_strict_equal(ac, act)
1337
+
1338
+ def test_clip_with_out_array_int32(self):
1339
+ #Test native int32 input with double array min/max and int32 out
1340
+ a = self._generate_int32_data(self.nr, self.nc)
1341
+ m = np.zeros(a.shape, np.float64)
1342
+ M = np.float64(1)
1343
+ ac = np.zeros(a.shape, dtype=np.int32)
1344
+ act = ac.copy()
1345
+ self.fastclip(a, m, M, ac)
1346
+ self.clip(a, m, M, act)
1347
+ assert_array_strict_equal(ac, act)
1348
+
1349
+ def test_clip_with_out_array_outint32(self):
1350
+ #Test native double input with scalar min/max and int out
1351
+ a = self._generate_data(self.nr, self.nc)
1352
+ m = -1.0
1353
+ M = 2.0
1354
+ ac = np.zeros(a.shape, dtype=np.int32)
1355
+ act = ac.copy()
1356
+ self.fastclip(a, m, M, ac)
1357
+ self.clip(a, m, M, act)
1358
+ assert_array_strict_equal(ac, act)
1359
+
1360
+ def test_clip_inplace_array(self):
1361
+ #Test native double input with array min/max
1362
+ a = self._generate_data(self.nr, self.nc)
1363
+ ac = a.copy()
1364
+ m = np.zeros(a.shape)
1365
+ M = 1.0
1366
+ self.fastclip(a, m, M, a)
1367
+ self.clip(a, m, M, ac)
1368
+ assert_array_strict_equal(a, ac)
1369
+
1370
+ def test_clip_inplace_simple(self):
1371
+ #Test native double input with scalar min/max
1372
+ a = self._generate_data(self.nr, self.nc)
1373
+ ac = a.copy()
1374
+ m = -0.5
1375
+ M = 0.6
1376
+ self.fastclip(a, m, M, a)
1377
+ self.clip(a, m, M, ac)
1378
+ assert_array_strict_equal(a, ac)
1379
+
1380
+ def test_clip_func_takes_out(self):
1381
+ # Ensure that the clip() function takes an out= argument.
1382
+ a = self._generate_data(self.nr, self.nc)
1383
+ ac = a.copy()
1384
+ m = -0.5
1385
+ M = 0.6
1386
+ a2 = np.clip(a, m, M, out=a)
1387
+ self.clip(a, m, M, ac)
1388
+ assert_array_strict_equal(a2, ac)
1389
+ self.assertTrue(a2 is a)
1390
+
1391
+ def test_clip_nan(self):
1392
+ d = np.arange(7.)
1393
+ assert_equal(d.clip(min=np.nan), d)
1394
+ assert_equal(d.clip(max=np.nan), d)
1395
+ assert_equal(d.clip(min=np.nan, max=np.nan), d)
1396
+ assert_equal(d.clip(min=-2, max=np.nan), d)
1397
+ assert_equal(d.clip(min=np.nan, max=10), d)
1398
+
1399
+
1400
+ class TestAllclose(object):
1401
+ rtol = 1e-5
1402
+ atol = 1e-8
1403
+
1404
+ def setUp(self):
1405
+ self.olderr = np.seterr(invalid='ignore')
1406
+
1407
+ def tearDown(self):
1408
+ np.seterr(**self.olderr)
1409
+
1410
+ def tst_allclose(self, x, y):
1411
+ assert_(np.allclose(x, y), "%s and %s not close" % (x, y))
1412
+
1413
+ def tst_not_allclose(self, x, y):
1414
+ assert_(not np.allclose(x, y), "%s and %s shouldn't be close" % (x, y))
1415
+
1416
+ def test_ip_allclose(self):
1417
+ #Parametric test factory.
1418
+ arr = np.array([100, 1000])
1419
+ aran = np.arange(125).reshape((5, 5, 5))
1420
+
1421
+ atol = self.atol
1422
+ rtol = self.rtol
1423
+
1424
+ data = [([1, 0], [1, 0]),
1425
+ ([atol], [0]),
1426
+ ([1], [1+rtol+atol]),
1427
+ (arr, arr + arr*rtol),
1428
+ (arr, arr + arr*rtol + atol*2),
1429
+ (aran, aran + aran*rtol),
1430
+ (np.inf, np.inf),
1431
+ (np.inf, [np.inf])]
1432
+
1433
+ for (x, y) in data:
1434
+ yield (self.tst_allclose, x, y)
1435
+
1436
+ def test_ip_not_allclose(self):
1437
+ #Parametric test factory.
1438
+ aran = np.arange(125).reshape((5, 5, 5))
1439
+
1440
+ atol = self.atol
1441
+ rtol = self.rtol
1442
+
1443
+ data = [([np.inf, 0], [1, np.inf]),
1444
+ ([np.inf, 0], [1, 0]),
1445
+ ([np.inf, np.inf], [1, np.inf]),
1446
+ ([np.inf, np.inf], [1, 0]),
1447
+ ([-np.inf, 0], [np.inf, 0]),
1448
+ ([np.nan, 0], [np.nan, 0]),
1449
+ ([atol*2], [0]),
1450
+ ([1], [1+rtol+atol*2]),
1451
+ (aran, aran + aran*atol + atol*2),
1452
+ (np.array([np.inf, 1]), np.array([0, np.inf]))]
1453
+
1454
+ for (x, y) in data:
1455
+ yield (self.tst_not_allclose, x, y)
1456
+
1457
+ def test_no_parameter_modification(self):
1458
+ x = np.array([np.inf, 1])
1459
+ y = np.array([0, np.inf])
1460
+ np.allclose(x, y)
1461
+ assert_array_equal(x, np.array([np.inf, 1]))
1462
+ assert_array_equal(y, np.array([0, np.inf]))
1463
+
1464
+ def test_min_int(self):
1465
+ # Could make problems because of abs(min_int) == min_int
1466
+ min_int = np.iinfo(np.int_).min
1467
+ a = np.array([min_int], dtype=np.int_)
1468
+ assert_(np.allclose(a, a))
1469
+
1470
+ def test_equalnan(self):
1471
+ x = np.array([1.0, np.nan])
1472
+ assert_(np.allclose(x, x, equal_nan=True))
1473
+
1474
+
1475
+ class TestIsclose(object):
1476
+ rtol = 1e-5
1477
+ atol = 1e-8
1478
+
1479
+ def setup(self):
1480
+ atol = self.atol
1481
+ rtol = self.rtol
1482
+ arr = np.array([100, 1000])
1483
+ aran = np.arange(125).reshape((5, 5, 5))
1484
+
1485
+ self.all_close_tests = [
1486
+ ([1, 0], [1, 0]),
1487
+ ([atol], [0]),
1488
+ ([1], [1 + rtol + atol]),
1489
+ (arr, arr + arr*rtol),
1490
+ (arr, arr + arr*rtol + atol),
1491
+ (aran, aran + aran*rtol),
1492
+ (np.inf, np.inf),
1493
+ (np.inf, [np.inf]),
1494
+ ([np.inf, -np.inf], [np.inf, -np.inf]),
1495
+ ]
1496
+ self.none_close_tests = [
1497
+ ([np.inf, 0], [1, np.inf]),
1498
+ ([np.inf, -np.inf], [1, 0]),
1499
+ ([np.inf, np.inf], [1, -np.inf]),
1500
+ ([np.inf, np.inf], [1, 0]),
1501
+ ([np.nan, 0], [np.nan, -np.inf]),
1502
+ ([atol*2], [0]),
1503
+ ([1], [1 + rtol + atol*2]),
1504
+ (aran, aran + rtol*1.1*aran + atol*1.1),
1505
+ (np.array([np.inf, 1]), np.array([0, np.inf])),
1506
+ ]
1507
+ self.some_close_tests = [
1508
+ ([np.inf, 0], [np.inf, atol*2]),
1509
+ ([atol, 1, 1e6*(1 + 2*rtol) + atol], [0, np.nan, 1e6]),
1510
+ (np.arange(3), [0, 1, 2.1]),
1511
+ (np.nan, [np.nan, np.nan, np.nan]),
1512
+ ([0], [atol, np.inf, -np.inf, np.nan]),
1513
+ (0, [atol, np.inf, -np.inf, np.nan]),
1514
+ ]
1515
+ self.some_close_results = [
1516
+ [True, False],
1517
+ [True, False, False],
1518
+ [True, True, False],
1519
+ [False, False, False],
1520
+ [True, False, False, False],
1521
+ [True, False, False, False],
1522
+ ]
1523
+
1524
+ def test_ip_isclose(self):
1525
+ self.setup()
1526
+ tests = self.some_close_tests
1527
+ results = self.some_close_results
1528
+ for (x, y), result in zip(tests, results):
1529
+ yield (assert_array_equal, np.isclose(x, y), result)
1530
+
1531
+ def tst_all_isclose(self, x, y):
1532
+ assert_(np.all(np.isclose(x, y)), "%s and %s not close" % (x, y))
1533
+
1534
+ def tst_none_isclose(self, x, y):
1535
+ msg = "%s and %s shouldn't be close"
1536
+ assert_(not np.any(np.isclose(x, y)), msg % (x, y))
1537
+
1538
+ def tst_isclose_allclose(self, x, y):
1539
+ msg = "isclose.all() and allclose aren't same for %s and %s"
1540
+ assert_array_equal(np.isclose(x, y).all(), np.allclose(x, y), msg % (x, y))
1541
+
1542
+ def test_ip_all_isclose(self):
1543
+ self.setup()
1544
+ for (x, y) in self.all_close_tests:
1545
+ yield (self.tst_all_isclose, x, y)
1546
+
1547
+ def test_ip_none_isclose(self):
1548
+ self.setup()
1549
+ for (x, y) in self.none_close_tests:
1550
+ yield (self.tst_none_isclose, x, y)
1551
+
1552
+ def test_ip_isclose_allclose(self):
1553
+ self.setup()
1554
+ tests = (self.all_close_tests + self.none_close_tests +
1555
+ self.some_close_tests)
1556
+ for (x, y) in tests:
1557
+ yield (self.tst_isclose_allclose, x, y)
1558
+
1559
+ def test_equal_nan(self):
1560
+ assert_array_equal(np.isclose(np.nan, np.nan, equal_nan=True), [True])
1561
+ arr = np.array([1.0, np.nan])
1562
+ assert_array_equal(np.isclose(arr, arr, equal_nan=True), [True, True])
1563
+
1564
+ def test_masked_arrays(self):
1565
+ # Make sure to test the output type when arguments are interchanged.
1566
+
1567
+ x = np.ma.masked_where([True, True, False], np.arange(3))
1568
+ assert_(type(x) is type(np.isclose(2, x)))
1569
+ assert_(type(x) is type(np.isclose(x, 2)))
1570
+
1571
+ x = np.ma.masked_where([True, True, False], [np.nan, np.inf, np.nan])
1572
+ assert_(type(x) is type(np.isclose(np.inf, x)))
1573
+ assert_(type(x) is type(np.isclose(x, np.inf)))
1574
+
1575
+ x = np.ma.masked_where([True, True, False], [np.nan, np.nan, np.nan])
1576
+ y = np.isclose(np.nan, x, equal_nan=True)
1577
+ assert_(type(x) is type(y))
1578
+ # Ensure that the mask isn't modified...
1579
+ assert_array_equal([True, True, False], y.mask)
1580
+ y = np.isclose(x, np.nan, equal_nan=True)
1581
+ assert_(type(x) is type(y))
1582
+ # Ensure that the mask isn't modified...
1583
+ assert_array_equal([True, True, False], y.mask)
1584
+
1585
+ x = np.ma.masked_where([True, True, False], [np.nan, np.nan, np.nan])
1586
+ y = np.isclose(x, x, equal_nan=True)
1587
+ assert_(type(x) is type(y))
1588
+ # Ensure that the mask isn't modified...
1589
+ assert_array_equal([True, True, False], y.mask)
1590
+
1591
+ def test_scalar_return(self):
1592
+ assert_(np.isscalar(np.isclose(1, 1)))
1593
+
1594
+ def test_no_parameter_modification(self):
1595
+ x = np.array([np.inf, 1])
1596
+ y = np.array([0, np.inf])
1597
+ np.isclose(x, y)
1598
+ assert_array_equal(x, np.array([np.inf, 1]))
1599
+ assert_array_equal(y, np.array([0, np.inf]))
1600
+
1601
+ class TestStdVar(TestCase):
1602
+ def setUp(self):
1603
+ self.A = np.array([1, -1, 1, -1])
1604
+ self.real_var = 1
1605
+
1606
+ def test_basic(self):
1607
+ assert_almost_equal(np.var(self.A), self.real_var)
1608
+ assert_almost_equal(np.std(self.A)**2, self.real_var)
1609
+
1610
+ def test_scalars(self):
1611
+ assert_equal(np.var(1), 0)
1612
+ assert_equal(np.std(1), 0)
1613
+
1614
+ def test_ddof1(self):
1615
+ assert_almost_equal(np.var(self.A, ddof=1),
1616
+ self.real_var*len(self.A)/float(len(self.A)-1))
1617
+ assert_almost_equal(np.std(self.A, ddof=1)**2,
1618
+ self.real_var*len(self.A)/float(len(self.A)-1))
1619
+
1620
+ def test_ddof2(self):
1621
+ assert_almost_equal(np.var(self.A, ddof=2),
1622
+ self.real_var*len(self.A)/float(len(self.A)-2))
1623
+ assert_almost_equal(np.std(self.A, ddof=2)**2,
1624
+ self.real_var*len(self.A)/float(len(self.A)-2))
1625
+
1626
+ def test_out_scalar(self):
1627
+ d = np.arange(10)
1628
+ out = np.array(0.)
1629
+ r = np.std(d, out=out)
1630
+ assert_(r is out)
1631
+ assert_array_equal(r, out)
1632
+ r = np.var(d, out=out)
1633
+ assert_(r is out)
1634
+ assert_array_equal(r, out)
1635
+ r = np.mean(d, out=out)
1636
+ assert_(r is out)
1637
+ assert_array_equal(r, out)
1638
+
1639
+
1640
+ class TestStdVarComplex(TestCase):
1641
+ def test_basic(self):
1642
+ A = np.array([1, 1.j, -1, -1.j])
1643
+ real_var = 1
1644
+ assert_almost_equal(np.var(A), real_var)
1645
+ assert_almost_equal(np.std(A)**2, real_var)
1646
+
1647
+ def test_scalars(self):
1648
+ assert_equal(np.var(1j), 0)
1649
+ assert_equal(np.std(1j), 0)
1650
+
1651
+
1652
+ class TestCreationFuncs(TestCase):
1653
+ #Test ones, zeros, empty and filled
1654
+
1655
+ def setUp(self):
1656
+ self.dtypes = ('b', 'i', 'u', 'f', 'c', 'S', 'a', 'U', 'V')
1657
+ self.orders = {'C': 'c_contiguous', 'F': 'f_contiguous'}
1658
+ self.ndims = 10
1659
+
1660
+ def check_function(self, func, fill_value=None):
1661
+ par = (
1662
+ (0, 1, 2),
1663
+ range(self.ndims),
1664
+ self.orders,
1665
+ self.dtypes,
1666
+ 2**np.arange(9)
1667
+ )
1668
+ fill_kwarg = {}
1669
+ if fill_value is not None:
1670
+ fill_kwarg = {'fill_value': fill_value}
1671
+ with warnings.catch_warnings():
1672
+ warnings.simplefilter('ignore', DeprecationWarning)
1673
+ for size, ndims, order, type, bytes in itertools.product(*par):
1674
+ shape = ndims * [size]
1675
+ try:
1676
+ dtype = np.dtype('{0}{1}'.format(type, bytes))
1677
+ except TypeError: # dtype combination does not exist
1678
+ continue
1679
+ else:
1680
+ # do not fill void type
1681
+ if fill_value is not None and type in 'V':
1682
+ continue
1683
+
1684
+ arr = func(shape, order=order, dtype=dtype,
1685
+ **fill_kwarg)
1686
+
1687
+ assert_(arr.dtype == dtype)
1688
+ assert_(getattr(arr.flags, self.orders[order]))
1689
+
1690
+ if fill_value is not None:
1691
+ if dtype.str.startswith('|S'):
1692
+ val = str(fill_value)
1693
+ else:
1694
+ val = fill_value
1695
+ assert_equal(arr, dtype.type(val))
1696
+
1697
+ def test_zeros(self):
1698
+ self.check_function(np.zeros)
1699
+
1700
+ def test_ones(self):
1701
+ self.check_function(np.zeros)
1702
+
1703
+ def test_empty(self):
1704
+ self.check_function(np.empty)
1705
+
1706
+ def test_filled(self):
1707
+ self.check_function(np.full, 0)
1708
+ self.check_function(np.full, 1)
1709
+
1710
+ def test_for_reference_leak(self):
1711
+ # Make sure we have an object for reference
1712
+ dim = 1
1713
+ beg = sys.getrefcount(dim)
1714
+ np.zeros([dim]*10)
1715
+ assert_(sys.getrefcount(dim) == beg)
1716
+ np.ones([dim]*10)
1717
+ assert_(sys.getrefcount(dim) == beg)
1718
+ np.empty([dim]*10)
1719
+ assert_(sys.getrefcount(dim) == beg)
1720
+ np.full([dim]*10, 0)
1721
+ assert_(sys.getrefcount(dim) == beg)
1722
+
1723
+
1724
+ class TestLikeFuncs(TestCase):
1725
+ '''Test ones_like, zeros_like, empty_like and full_like'''
1726
+
1727
+ def setUp(self):
1728
+ self.data = [
1729
+ # Array scalars
1730
+ (np.array(3.), None),
1731
+ (np.array(3), 'f8'),
1732
+ # 1D arrays
1733
+ (np.arange(6, dtype='f4'), None),
1734
+ (np.arange(6), 'c16'),
1735
+ # 2D C-layout arrays
1736
+ (np.arange(6).reshape(2, 3), None),
1737
+ (np.arange(6).reshape(3, 2), 'i1'),
1738
+ # 2D F-layout arrays
1739
+ (np.arange(6).reshape((2, 3), order='F'), None),
1740
+ (np.arange(6).reshape((3, 2), order='F'), 'i1'),
1741
+ # 3D C-layout arrays
1742
+ (np.arange(24).reshape(2, 3, 4), None),
1743
+ (np.arange(24).reshape(4, 3, 2), 'f4'),
1744
+ # 3D F-layout arrays
1745
+ (np.arange(24).reshape((2, 3, 4), order='F'), None),
1746
+ (np.arange(24).reshape((4, 3, 2), order='F'), 'f4'),
1747
+ # 3D non-C/F-layout arrays
1748
+ (np.arange(24).reshape(2, 3, 4).swapaxes(0, 1), None),
1749
+ (np.arange(24).reshape(4, 3, 2).swapaxes(0, 1), '?'),
1750
+ ]
1751
+
1752
+ def compare_array_value(self, dz, value, fill_value):
1753
+ if value is not None:
1754
+ if fill_value:
1755
+ try:
1756
+ z = dz.dtype.type(value)
1757
+ except OverflowError:
1758
+ pass
1759
+ else:
1760
+ assert_(np.all(dz == z))
1761
+ else:
1762
+ assert_(np.all(dz == value))
1763
+
1764
+ def check_like_function(self, like_function, value, fill_value=False):
1765
+ if fill_value:
1766
+ fill_kwarg = {'fill_value': value}
1767
+ else:
1768
+ fill_kwarg = {}
1769
+ for d, dtype in self.data:
1770
+ # default (K) order, dtype
1771
+ dz = like_function(d, dtype=dtype, **fill_kwarg)
1772
+ assert_equal(dz.shape, d.shape)
1773
+ assert_equal(np.array(dz.strides)*d.dtype.itemsize,
1774
+ np.array(d.strides)*dz.dtype.itemsize)
1775
+ assert_equal(d.flags.c_contiguous, dz.flags.c_contiguous)
1776
+ assert_equal(d.flags.f_contiguous, dz.flags.f_contiguous)
1777
+ if dtype is None:
1778
+ assert_equal(dz.dtype, d.dtype)
1779
+ else:
1780
+ assert_equal(dz.dtype, np.dtype(dtype))
1781
+ self.compare_array_value(dz, value, fill_value)
1782
+
1783
+ # C order, default dtype
1784
+ dz = like_function(d, order='C', dtype=dtype, **fill_kwarg)
1785
+ assert_equal(dz.shape, d.shape)
1786
+ assert_(dz.flags.c_contiguous)
1787
+ if dtype is None:
1788
+ assert_equal(dz.dtype, d.dtype)
1789
+ else:
1790
+ assert_equal(dz.dtype, np.dtype(dtype))
1791
+ self.compare_array_value(dz, value, fill_value)
1792
+
1793
+ # F order, default dtype
1794
+ dz = like_function(d, order='F', dtype=dtype, **fill_kwarg)
1795
+ assert_equal(dz.shape, d.shape)
1796
+ assert_(dz.flags.f_contiguous)
1797
+ if dtype is None:
1798
+ assert_equal(dz.dtype, d.dtype)
1799
+ else:
1800
+ assert_equal(dz.dtype, np.dtype(dtype))
1801
+ self.compare_array_value(dz, value, fill_value)
1802
+
1803
+ # A order
1804
+ dz = like_function(d, order='A', dtype=dtype, **fill_kwarg)
1805
+ assert_equal(dz.shape, d.shape)
1806
+ if d.flags.f_contiguous:
1807
+ assert_(dz.flags.f_contiguous)
1808
+ else:
1809
+ assert_(dz.flags.c_contiguous)
1810
+ if dtype is None:
1811
+ assert_equal(dz.dtype, d.dtype)
1812
+ else:
1813
+ assert_equal(dz.dtype, np.dtype(dtype))
1814
+ self.compare_array_value(dz, value, fill_value)
1815
+
1816
+ # Test the 'subok' parameter
1817
+ a = np.matrix([[1, 2], [3, 4]])
1818
+
1819
+ b = like_function(a, **fill_kwarg)
1820
+ assert_(type(b) is np.matrix)
1821
+
1822
+ b = like_function(a, subok=False, **fill_kwarg)
1823
+ assert_(type(b) is not np.matrix)
1824
+
1825
+ def test_ones_like(self):
1826
+ self.check_like_function(np.ones_like, 1)
1827
+
1828
+ def test_zeros_like(self):
1829
+ self.check_like_function(np.zeros_like, 0)
1830
+
1831
+ def test_empty_like(self):
1832
+ self.check_like_function(np.empty_like, None)
1833
+
1834
+ def test_filled_like(self):
1835
+ self.check_like_function(np.full_like, 0, True)
1836
+ self.check_like_function(np.full_like, 1, True)
1837
+ self.check_like_function(np.full_like, 1000, True)
1838
+ self.check_like_function(np.full_like, 123.456, True)
1839
+ self.check_like_function(np.full_like, np.inf, True)
1840
+
1841
+ class TestCorrelate(TestCase):
1842
+ def _setup(self, dt):
1843
+ self.x = np.array([1, 2, 3, 4, 5], dtype=dt)
1844
+ self.xs = np.arange(1, 20)[::3]
1845
+ self.y = np.array([-1, -2, -3], dtype=dt)
1846
+ self.z1 = np.array([ -3., -8., -14., -20., -26., -14., -5.], dtype=dt)
1847
+ self.z1_4 = np.array([-2., -5., -8., -11., -14., -5.], dtype=dt)
1848
+ self.z1r = np.array([-15., -22., -22., -16., -10., -4., -1.], dtype=dt)
1849
+ self.z2 = np.array([-5., -14., -26., -20., -14., -8., -3.], dtype=dt)
1850
+ self.z2r = np.array([-1., -4., -10., -16., -22., -22., -15.], dtype=dt)
1851
+ self.zs = np.array([-3., -14., -30., -48., -66., -84.,
1852
+ -102., -54., -19.], dtype=dt)
1853
+
1854
+ def test_float(self):
1855
+ self._setup(np.float)
1856
+ z = np.correlate(self.x, self.y, 'full')
1857
+ assert_array_almost_equal(z, self.z1)
1858
+ z = np.correlate(self.x, self.y[:-1], 'full')
1859
+ assert_array_almost_equal(z, self.z1_4)
1860
+ z = np.correlate(self.y, self.x, 'full')
1861
+ assert_array_almost_equal(z, self.z2)
1862
+ z = np.correlate(self.x[::-1], self.y, 'full')
1863
+ assert_array_almost_equal(z, self.z1r)
1864
+ z = np.correlate(self.y, self.x[::-1], 'full')
1865
+ assert_array_almost_equal(z, self.z2r)
1866
+ z = np.correlate(self.xs, self.y, 'full')
1867
+ assert_array_almost_equal(z, self.zs)
1868
+
1869
+ def test_object(self):
1870
+ self._setup(Decimal)
1871
+ z = np.correlate(self.x, self.y, 'full')
1872
+ assert_array_almost_equal(z, self.z1)
1873
+ z = np.correlate(self.y, self.x, 'full')
1874
+ assert_array_almost_equal(z, self.z2)
1875
+
1876
+ def test_no_overwrite(self):
1877
+ d = np.ones(100)
1878
+ k = np.ones(3)
1879
+ np.correlate(d, k)
1880
+ assert_array_equal(d, np.ones(100))
1881
+ assert_array_equal(k, np.ones(3))
1882
+
1883
+ def test_complex(self):
1884
+ x = np.array([1, 2, 3, 4+1j], dtype=np.complex)
1885
+ y = np.array([-1, -2j, 3+1j], dtype=np.complex)
1886
+ r_z = np.array([3-1j, 6, 8+1j, 11+5j, -5+8j, -4-1j], dtype=np.complex)
1887
+ r_z = r_z[::-1].conjugate()
1888
+ z = np.correlate(y, x, mode='full')
1889
+ assert_array_almost_equal(z, r_z)
1890
+
1891
+
1892
+ class TestConvolve(TestCase):
1893
+ def test_object(self):
1894
+ d = [1.] * 100
1895
+ k = [1.] * 3
1896
+ assert_array_almost_equal(np.convolve(d, k)[2:-2], np.full(98, 3))
1897
+
1898
+ def test_no_overwrite(self):
1899
+ d = np.ones(100)
1900
+ k = np.ones(3)
1901
+ np.convolve(d, k)
1902
+ assert_array_equal(d, np.ones(100))
1903
+ assert_array_equal(k, np.ones(3))
1904
+
1905
+ class TestArgwhere(object):
1906
+ def test_2D(self):
1907
+ x = np.arange(6).reshape((2, 3))
1908
+ assert_array_equal(np.argwhere(x > 1),
1909
+ [[0, 2],
1910
+ [1, 0],
1911
+ [1, 1],
1912
+ [1, 2]])
1913
+
1914
+ def test_list(self):
1915
+ assert_equal(np.argwhere([4, 0, 2, 1, 3]), [[0], [2], [3], [4]])
1916
+
1917
+ class TestStringFunction(object):
1918
+ def test_set_string_function(self):
1919
+ a = np.array([1])
1920
+ np.set_string_function(lambda x: "FOO", repr=True)
1921
+ assert_equal(repr(a), "FOO")
1922
+ np.set_string_function(None, repr=True)
1923
+ assert_equal(repr(a), "array([1])")
1924
+
1925
+ np.set_string_function(lambda x: "FOO", repr=False)
1926
+ assert_equal(str(a), "FOO")
1927
+ np.set_string_function(None, repr=False)
1928
+ assert_equal(str(a), "[1]")
1929
+
1930
+ class TestRoll(TestCase):
1931
+ def test_roll1d(self):
1932
+ x = np.arange(10)
1933
+ xr = np.roll(x, 2)
1934
+ assert_equal(xr, np.array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7]))
1935
+
1936
+ def test_roll2d(self):
1937
+ x2 = np.reshape(np.arange(10), (2, 5))
1938
+ x2r = np.roll(x2, 1)
1939
+ assert_equal(x2r, np.array([[9, 0, 1, 2, 3], [4, 5, 6, 7, 8]]))
1940
+
1941
+ x2r = np.roll(x2, 1, axis=0)
1942
+ assert_equal(x2r, np.array([[5, 6, 7, 8, 9], [0, 1, 2, 3, 4]]))
1943
+
1944
+ x2r = np.roll(x2, 1, axis=1)
1945
+ assert_equal(x2r, np.array([[4, 0, 1, 2, 3], [9, 5, 6, 7, 8]]))
1946
+
1947
+ def test_roll_empty(self):
1948
+ x = np.array([])
1949
+ assert_equal(np.roll(x, 1), np.array([]))
1950
+
1951
+
1952
+ class TestRollaxis(TestCase):
1953
+
1954
+ # expected shape indexed by (axis, start) for array of
1955
+ # shape (1, 2, 3, 4)
1956
+ tgtshape = {(0, 0): (1, 2, 3, 4), (0, 1): (1, 2, 3, 4),
1957
+ (0, 2): (2, 1, 3, 4), (0, 3): (2, 3, 1, 4),
1958
+ (0, 4): (2, 3, 4, 1),
1959
+ (1, 0): (2, 1, 3, 4), (1, 1): (1, 2, 3, 4),
1960
+ (1, 2): (1, 2, 3, 4), (1, 3): (1, 3, 2, 4),
1961
+ (1, 4): (1, 3, 4, 2),
1962
+ (2, 0): (3, 1, 2, 4), (2, 1): (1, 3, 2, 4),
1963
+ (2, 2): (1, 2, 3, 4), (2, 3): (1, 2, 3, 4),
1964
+ (2, 4): (1, 2, 4, 3),
1965
+ (3, 0): (4, 1, 2, 3), (3, 1): (1, 4, 2, 3),
1966
+ (3, 2): (1, 2, 4, 3), (3, 3): (1, 2, 3, 4),
1967
+ (3, 4): (1, 2, 3, 4)}
1968
+
1969
+ def test_exceptions(self):
1970
+ a = np.arange(1*2*3*4).reshape(1, 2, 3, 4)
1971
+ assert_raises(ValueError, np.rollaxis, a, -5, 0)
1972
+ assert_raises(ValueError, np.rollaxis, a, 0, -5)
1973
+ assert_raises(ValueError, np.rollaxis, a, 4, 0)
1974
+ assert_raises(ValueError, np.rollaxis, a, 0, 5)
1975
+
1976
+ def test_results(self):
1977
+ a = np.arange(1*2*3*4).reshape(1, 2, 3, 4).copy()
1978
+ aind = np.indices(a.shape)
1979
+ assert_(a.flags['OWNDATA'])
1980
+ for (i, j) in self.tgtshape:
1981
+ # positive axis, positive start
1982
+ res = np.rollaxis(a, axis=i, start=j)
1983
+ i0, i1, i2, i3 = aind[np.array(res.shape) - 1]
1984
+ assert_(np.all(res[i0, i1, i2, i3] == a))
1985
+ assert_(res.shape == self.tgtshape[(i, j)], str((i,j)))
1986
+ assert_(not res.flags['OWNDATA'])
1987
+
1988
+ # negative axis, positive start
1989
+ ip = i + 1
1990
+ res = np.rollaxis(a, axis=-ip, start=j)
1991
+ i0, i1, i2, i3 = aind[np.array(res.shape) - 1]
1992
+ assert_(np.all(res[i0, i1, i2, i3] == a))
1993
+ assert_(res.shape == self.tgtshape[(4 - ip, j)])
1994
+ assert_(not res.flags['OWNDATA'])
1995
+
1996
+ # positive axis, negative start
1997
+ jp = j + 1 if j < 4 else j
1998
+ res = np.rollaxis(a, axis=i, start=-jp)
1999
+ i0, i1, i2, i3 = aind[np.array(res.shape) - 1]
2000
+ assert_(np.all(res[i0, i1, i2, i3] == a))
2001
+ assert_(res.shape == self.tgtshape[(i, 4 - jp)])
2002
+ assert_(not res.flags['OWNDATA'])
2003
+
2004
+ # negative axis, negative start
2005
+ ip = i + 1
2006
+ jp = j + 1 if j < 4 else j
2007
+ res = np.rollaxis(a, axis=-ip, start=-jp)
2008
+ i0, i1, i2, i3 = aind[np.array(res.shape) - 1]
2009
+ assert_(np.all(res[i0, i1, i2, i3] == a))
2010
+ assert_(res.shape == self.tgtshape[(4 - ip, 4 - jp)])
2011
+ assert_(not res.flags['OWNDATA'])
2012
+
2013
+
2014
+ class TestCross(TestCase):
2015
+ def test_2x2(self):
2016
+ u = [1, 2]
2017
+ v = [3, 4]
2018
+ z = -2
2019
+ cp = np.cross(u, v)
2020
+ assert_equal(cp, z)
2021
+ cp = np.cross(v, u)
2022
+ assert_equal(cp, -z)
2023
+
2024
+ def test_2x3(self):
2025
+ u = [1, 2]
2026
+ v = [3, 4, 5]
2027
+ z = np.array([10, -5, -2])
2028
+ cp = np.cross(u, v)
2029
+ assert_equal(cp, z)
2030
+ cp = np.cross(v, u)
2031
+ assert_equal(cp, -z)
2032
+
2033
+ def test_3x3(self):
2034
+ u = [1, 2, 3]
2035
+ v = [4, 5, 6]
2036
+ z = np.array([-3, 6, -3])
2037
+ cp = np.cross(u, v)
2038
+ assert_equal(cp, z)
2039
+ cp = np.cross(v, u)
2040
+ assert_equal(cp, -z)
2041
+
2042
+ def test_broadcasting(self):
2043
+ # Ticket #2624 (Trac #2032)
2044
+ u = np.tile([1, 2], (11, 1))
2045
+ v = np.tile([3, 4], (11, 1))
2046
+ z = -2
2047
+ assert_equal(np.cross(u, v), z)
2048
+ assert_equal(np.cross(v, u), -z)
2049
+ assert_equal(np.cross(u, u), 0)
2050
+
2051
+ u = np.tile([1, 2], (11, 1)).T
2052
+ v = np.tile([3, 4, 5], (11, 1))
2053
+ z = np.tile([10, -5, -2], (11, 1))
2054
+ assert_equal(np.cross(u, v, axisa=0), z)
2055
+ assert_equal(np.cross(v, u.T), -z)
2056
+ assert_equal(np.cross(v, v), 0)
2057
+
2058
+ u = np.tile([1, 2, 3], (11, 1)).T
2059
+ v = np.tile([3, 4], (11, 1)).T
2060
+ z = np.tile([-12, 9, -2], (11, 1))
2061
+ assert_equal(np.cross(u, v, axisa=0, axisb=0), z)
2062
+ assert_equal(np.cross(v.T, u.T), -z)
2063
+ assert_equal(np.cross(u.T, u.T), 0)
2064
+
2065
+ u = np.tile([1, 2, 3], (5, 1))
2066
+ v = np.tile([4, 5, 6], (5, 1)).T
2067
+ z = np.tile([-3, 6, -3], (5, 1))
2068
+ assert_equal(np.cross(u, v, axisb=0), z)
2069
+ assert_equal(np.cross(v.T, u), -z)
2070
+ assert_equal(np.cross(u, u), 0)
2071
+
2072
+ def test_broadcasting_shapes(self):
2073
+ u = np.ones((2, 1, 3))
2074
+ v = np.ones((5, 3))
2075
+ assert_equal(np.cross(u, v).shape, (2, 5, 3))
2076
+ u = np.ones((10, 3, 5))
2077
+ v = np.ones((2, 5))
2078
+ assert_equal(np.cross(u, v, axisa=1, axisb=0).shape, (10, 5, 3))
2079
+ assert_raises(ValueError, np.cross, u, v, axisa=1, axisb=2)
2080
+ assert_raises(ValueError, np.cross, u, v, axisa=3, axisb=0)
2081
+ u = np.ones((10, 3, 5, 7))
2082
+ v = np.ones((5, 7, 2))
2083
+ assert_equal(np.cross(u, v, axisa=1, axisc=2).shape, (10, 5, 3, 7))
2084
+ assert_raises(ValueError, np.cross, u, v, axisa=-5, axisb=2)
2085
+ assert_raises(ValueError, np.cross, u, v, axisa=1, axisb=-4)
2086
+ # gh-5885
2087
+ u = np.ones((3, 4, 2))
2088
+ for axisc in range(-2, 2):
2089
+ assert_equal(np.cross(u, u, axisc=axisc).shape, (3, 4))
2090
+
2091
+
2092
+ def test_outer_out_param():
2093
+ arr1 = np.ones((5,))
2094
+ arr2 = np.ones((2,))
2095
+ arr3 = np.linspace(-2, 2, 5)
2096
+ out1 = np.ndarray(shape=(5,5))
2097
+ out2 = np.ndarray(shape=(2, 5))
2098
+ res1 = np.outer(arr1, arr3, out1)
2099
+ assert_equal(res1, out1)
2100
+ assert_equal(np.outer(arr2, arr3, out2), out2)
2101
+
2102
+
2103
+ class TestRequire(object):
2104
+ flag_names = ['C', 'C_CONTIGUOUS', 'CONTIGUOUS',
2105
+ 'F', 'F_CONTIGUOUS', 'FORTRAN',
2106
+ 'A', 'ALIGNED',
2107
+ 'W', 'WRITEABLE',
2108
+ 'O', 'OWNDATA']
2109
+
2110
+ def generate_all_false(self, dtype):
2111
+ arr = np.zeros((2, 2), [('junk', 'i1'), ('a', dtype)])
2112
+ arr.setflags(write=False)
2113
+ a = arr['a']
2114
+ assert_(not a.flags['C'])
2115
+ assert_(not a.flags['F'])
2116
+ assert_(not a.flags['O'])
2117
+ assert_(not a.flags['W'])
2118
+ assert_(not a.flags['A'])
2119
+ return a
2120
+
2121
+ def set_and_check_flag(self, flag, dtype, arr):
2122
+ if dtype is None:
2123
+ dtype = arr.dtype
2124
+ b = np.require(arr, dtype, [flag])
2125
+ assert_(b.flags[flag])
2126
+ assert_(b.dtype == dtype)
2127
+
2128
+ # a further call to np.require ought to return the same array
2129
+ # unless OWNDATA is specified.
2130
+ c = np.require(b, None, [flag])
2131
+ if flag[0] != 'O':
2132
+ assert_(c is b)
2133
+ else:
2134
+ assert_(c.flags[flag])
2135
+
2136
+ def test_require_each(self):
2137
+
2138
+ id = ['f8', 'i4']
2139
+ fd = [None, 'f8', 'c16']
2140
+ for idtype, fdtype, flag in itertools.product(id, fd, self.flag_names):
2141
+ a = self.generate_all_false(idtype)
2142
+ yield self.set_and_check_flag, flag, fdtype, a
2143
+
2144
+ def test_unknown_requirement(self):
2145
+ a = self.generate_all_false('f8')
2146
+ assert_raises(KeyError, np.require, a, None, 'Q')
2147
+
2148
+ def test_non_array_input(self):
2149
+ a = np.require([1, 2, 3, 4], 'i4', ['C', 'A', 'O'])
2150
+ assert_(a.flags['O'])
2151
+ assert_(a.flags['C'])
2152
+ assert_(a.flags['A'])
2153
+ assert_(a.dtype == 'i4')
2154
+ assert_equal(a, [1, 2, 3, 4])
2155
+
2156
+ def test_C_and_F_simul(self):
2157
+ a = self.generate_all_false('f8')
2158
+ assert_raises(ValueError, np.require, a, None, ['C', 'F'])
2159
+
2160
+ def test_ensure_array(self):
2161
+ class ArraySubclass(np.ndarray):
2162
+ pass
2163
+
2164
+ a = ArraySubclass((2,2))
2165
+ b = np.require(a, None, ['E'])
2166
+ assert_(type(b) is np.ndarray)
2167
+
2168
+ def test_preserve_subtype(self):
2169
+ class ArraySubclass(np.ndarray):
2170
+ pass
2171
+
2172
+ for flag in self.flag_names:
2173
+ a = ArraySubclass((2,2))
2174
+ yield self.set_and_check_flag, flag, None, a
2175
+
2176
+
2177
+ class TestBroadcast(TestCase):
2178
+ def test_broadcast_in_args(self):
2179
+ # gh-5881
2180
+ arrs = [np.empty((6, 7)), np.empty((5, 6, 1)), np.empty((7,)),
2181
+ np.empty((5, 1, 7))]
2182
+ mits = [np.broadcast(*arrs),
2183
+ np.broadcast(np.broadcast(*arrs[:2]), np.broadcast(*arrs[2:])),
2184
+ np.broadcast(arrs[0], np.broadcast(*arrs[1:-1]), arrs[-1])]
2185
+ for mit in mits:
2186
+ assert_equal(mit.shape, (5, 6, 7))
2187
+ assert_equal(mit.nd, 3)
2188
+ assert_equal(mit.numiter, 4)
2189
+ for a, ia in zip(arrs, mit.iters):
2190
+ assert_(a is ia.base)
2191
+
2192
+ def test_number_of_arguments(self):
2193
+ arr = np.empty((5,))
2194
+ for j in range(35):
2195
+ arrs = [arr] * j
2196
+ if j < 2 or j > 32:
2197
+ assert_raises(ValueError, np.broadcast, *arrs)
2198
+ else:
2199
+ mit = np.broadcast(*arrs)
2200
+ assert_equal(mit.numiter, j)
2201
+
2202
+
2203
+ if __name__ == "__main__":
2204
+ run_module_suite()