numpy 1.9.2__zip → 1.10.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of numpy might be problematic. Click here for more details.

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
@@ -1,2492 +0,0 @@
1
- /*
2
- * This file implements the CPython wrapper of the new NumPy iterator.
3
- *
4
- * Copyright (c) 2010 by Mark Wiebe (mwwiebe@gmail.com)
5
- * The Univerity of British Columbia
6
- *
7
- * See LICENSE.txt for the license.
8
- */
9
- #define PY_SSIZE_T_CLEAN
10
- #include "Python.h"
11
- #include "structmember.h"
12
-
13
- #define NPY_NO_DEPRECATED_API NPY_API_VERSION
14
- #define _MULTIARRAYMODULE
15
- #include <numpy/arrayobject.h>
16
- #include "npy_config.h"
17
- #include "npy_pycompat.h"
18
-
19
- typedef struct NewNpyArrayIterObject_tag NewNpyArrayIterObject;
20
-
21
- struct NewNpyArrayIterObject_tag {
22
- PyObject_HEAD
23
- /* The iterator */
24
- NpyIter *iter;
25
- /* Flag indicating iteration started/stopped */
26
- char started, finished;
27
- /* Child to update for nested iteration */
28
- NewNpyArrayIterObject *nested_child;
29
- /* Cached values from the iterator */
30
- NpyIter_IterNextFunc *iternext;
31
- NpyIter_GetMultiIndexFunc *get_multi_index;
32
- char **dataptrs;
33
- PyArray_Descr **dtypes;
34
- PyArrayObject **operands;
35
- npy_intp *innerstrides, *innerloopsizeptr;
36
- char readflags[NPY_MAXARGS];
37
- char writeflags[NPY_MAXARGS];
38
- };
39
-
40
- static int npyiter_cache_values(NewNpyArrayIterObject *self)
41
- {
42
- NpyIter *iter = self->iter;
43
-
44
- /* iternext and get_multi_index functions */
45
- self->iternext = NpyIter_GetIterNext(iter, NULL);
46
- if (self->iternext == NULL) {
47
- return -1;
48
- }
49
-
50
- if (NpyIter_HasMultiIndex(iter) && !NpyIter_HasDelayedBufAlloc(iter)) {
51
- self->get_multi_index = NpyIter_GetGetMultiIndex(iter, NULL);
52
- }
53
- else {
54
- self->get_multi_index = NULL;
55
- }
56
-
57
- /* Internal data pointers */
58
- self->dataptrs = NpyIter_GetDataPtrArray(iter);
59
- self->dtypes = NpyIter_GetDescrArray(iter);
60
- self->operands = NpyIter_GetOperandArray(iter);
61
-
62
- if (NpyIter_HasExternalLoop(iter)) {
63
- self->innerstrides = NpyIter_GetInnerStrideArray(iter);
64
- self->innerloopsizeptr = NpyIter_GetInnerLoopSizePtr(iter);
65
- }
66
- else {
67
- self->innerstrides = NULL;
68
- self->innerloopsizeptr = NULL;
69
- }
70
-
71
- /* The read/write settings */
72
- NpyIter_GetReadFlags(iter, self->readflags);
73
- NpyIter_GetWriteFlags(iter, self->writeflags);
74
- return 0;
75
- }
76
-
77
- static PyObject *
78
- npyiter_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
79
- {
80
- NewNpyArrayIterObject *self;
81
-
82
- self = (NewNpyArrayIterObject *)subtype->tp_alloc(subtype, 0);
83
- if (self != NULL) {
84
- self->iter = NULL;
85
- self->nested_child = NULL;
86
- }
87
-
88
- return (PyObject *)self;
89
- }
90
-
91
- static int
92
- NpyIter_GlobalFlagsConverter(PyObject *flags_in, npy_uint32 *flags)
93
- {
94
- npy_uint32 tmpflags = 0;
95
- int iflags, nflags;
96
-
97
- PyObject *f;
98
- char *str = NULL;
99
- Py_ssize_t length = 0;
100
- npy_uint32 flag;
101
-
102
- if (flags_in == NULL || flags_in == Py_None) {
103
- return 1;
104
- }
105
-
106
- if (!PyTuple_Check(flags_in) && !PyList_Check(flags_in)) {
107
- PyErr_SetString(PyExc_ValueError,
108
- "Iterator global flags must be a list or tuple of strings");
109
- return 0;
110
- }
111
-
112
- nflags = PySequence_Size(flags_in);
113
-
114
- for (iflags = 0; iflags < nflags; ++iflags) {
115
- f = PySequence_GetItem(flags_in, iflags);
116
- if (f == NULL) {
117
- return 0;
118
- }
119
-
120
- if (PyUnicode_Check(f)) {
121
- /* accept unicode input */
122
- PyObject *f_str;
123
- f_str = PyUnicode_AsASCIIString(f);
124
- if (f_str == NULL) {
125
- Py_DECREF(f);
126
- return 0;
127
- }
128
- Py_DECREF(f);
129
- f = f_str;
130
- }
131
-
132
- if (PyBytes_AsStringAndSize(f, &str, &length) == -1) {
133
- Py_DECREF(f);
134
- return 0;
135
- }
136
- /* Use switch statements to quickly isolate the right flag */
137
- flag = 0;
138
- switch (str[0]) {
139
- case 'b':
140
- if (strcmp(str, "buffered") == 0) {
141
- flag = NPY_ITER_BUFFERED;
142
- }
143
- break;
144
- case 'c':
145
- if (length >= 6) switch (str[5]) {
146
- case 'e':
147
- if (strcmp(str, "c_index") == 0) {
148
- flag = NPY_ITER_C_INDEX;
149
- }
150
- break;
151
- case 'n':
152
- if (strcmp(str, "common_dtype") == 0) {
153
- flag = NPY_ITER_COMMON_DTYPE;
154
- }
155
- break;
156
- }
157
- break;
158
- case 'd':
159
- if (strcmp(str, "delay_bufalloc") == 0) {
160
- flag = NPY_ITER_DELAY_BUFALLOC;
161
- }
162
- break;
163
- case 'e':
164
- if (strcmp(str, "external_loop") == 0) {
165
- flag = NPY_ITER_EXTERNAL_LOOP;
166
- }
167
- break;
168
- case 'f':
169
- if (strcmp(str, "f_index") == 0) {
170
- flag = NPY_ITER_F_INDEX;
171
- }
172
- break;
173
- case 'g':
174
- /*
175
- * Documentation is grow_inner, but initial implementation
176
- * was growinner, so allowing for either.
177
- */
178
- if (strcmp(str, "grow_inner") == 0 ||
179
- strcmp(str, "growinner") == 0) {
180
- flag = NPY_ITER_GROWINNER;
181
- }
182
- break;
183
- case 'm':
184
- if (strcmp(str, "multi_index") == 0) {
185
- flag = NPY_ITER_MULTI_INDEX;
186
- }
187
- break;
188
- case 'r':
189
- if (strcmp(str, "ranged") == 0) {
190
- flag = NPY_ITER_RANGED;
191
- }
192
- else if (strcmp(str, "refs_ok") == 0) {
193
- flag = NPY_ITER_REFS_OK;
194
- }
195
- else if (strcmp(str, "reduce_ok") == 0) {
196
- flag = NPY_ITER_REDUCE_OK;
197
- }
198
- break;
199
- case 'z':
200
- if (strcmp(str, "zerosize_ok") == 0) {
201
- flag = NPY_ITER_ZEROSIZE_OK;
202
- }
203
- break;
204
- }
205
- if (flag == 0) {
206
- PyErr_Format(PyExc_ValueError,
207
- "Unexpected iterator global flag \"%s\"", str);
208
- Py_DECREF(f);
209
- return 0;
210
- }
211
- else {
212
- tmpflags |= flag;
213
- }
214
- Py_DECREF(f);
215
- }
216
-
217
- *flags |= tmpflags;
218
- return 1;
219
- }
220
-
221
- /* TODO: Use PyArray_OrderConverter once 'K' is added there */
222
- static int
223
- npyiter_order_converter(PyObject *order_in, NPY_ORDER *order)
224
- {
225
- char *str = NULL;
226
- Py_ssize_t length = 0;
227
-
228
- if (PyUnicode_Check(order_in)) {
229
- /* accept unicode input */
230
- PyObject *str_obj;
231
- int ret;
232
- str_obj = PyUnicode_AsASCIIString(order_in);
233
- if (str_obj == NULL) {
234
- return 0;
235
- }
236
- ret = npyiter_order_converter(str_obj, order);
237
- Py_DECREF(str_obj);
238
- return ret;
239
- }
240
-
241
- if (PyBytes_AsStringAndSize(order_in, &str, &length) == -1) {
242
- return 0;
243
- }
244
-
245
- if (length == 1) switch (str[0]) {
246
- case 'C':
247
- *order = NPY_CORDER;
248
- return 1;
249
- case 'F':
250
- *order = NPY_FORTRANORDER;
251
- return 1;
252
- case 'A':
253
- *order = NPY_ANYORDER;
254
- return 1;
255
- case 'K':
256
- *order = NPY_KEEPORDER;
257
- return 1;
258
- }
259
-
260
- PyErr_SetString(PyExc_ValueError,
261
- "order must be one of 'C', 'F', 'A', or 'K'");
262
- return 0;
263
- }
264
-
265
- static int
266
- NpyIter_OpFlagsConverter(PyObject *op_flags_in,
267
- npy_uint32 *op_flags)
268
- {
269
- int iflags, nflags;
270
- npy_uint32 flag;
271
-
272
- if (!PyTuple_Check(op_flags_in) && !PyList_Check(op_flags_in)) {
273
- PyErr_SetString(PyExc_ValueError,
274
- "op_flags must be a tuple or array of per-op flag-tuples");
275
- return 0;
276
- }
277
-
278
- nflags = PySequence_Size(op_flags_in);
279
-
280
- *op_flags = 0;
281
- for (iflags = 0; iflags < nflags; ++iflags) {
282
- PyObject *f;
283
- char *str = NULL;
284
- Py_ssize_t length = 0;
285
-
286
- f = PySequence_GetItem(op_flags_in, iflags);
287
- if (f == NULL) {
288
- return 0;
289
- }
290
-
291
- if (PyUnicode_Check(f)) {
292
- /* accept unicode input */
293
- PyObject *f_str;
294
- f_str = PyUnicode_AsASCIIString(f);
295
- if (f_str == NULL) {
296
- Py_DECREF(f);
297
- return 0;
298
- }
299
- Py_DECREF(f);
300
- f = f_str;
301
- }
302
-
303
- if (PyBytes_AsStringAndSize(f, &str, &length) == -1) {
304
- Py_DECREF(f);
305
- PyErr_SetString(PyExc_ValueError,
306
- "op_flags must be a tuple or array of per-op flag-tuples");
307
- return 0;
308
- }
309
-
310
- /* Use switch statements to quickly isolate the right flag */
311
- flag = 0;
312
- switch (str[0]) {
313
- case 'a':
314
- if (length > 2) switch(str[2]) {
315
- case 'i':
316
- if (strcmp(str, "aligned") == 0) {
317
- flag = NPY_ITER_ALIGNED;
318
- }
319
- break;
320
- case 'l':
321
- if (strcmp(str, "allocate") == 0) {
322
- flag = NPY_ITER_ALLOCATE;
323
- }
324
- break;
325
- case 'r':
326
- if (strcmp(str, "arraymask") == 0) {
327
- flag = NPY_ITER_ARRAYMASK;
328
- }
329
- break;
330
- }
331
- break;
332
- case 'c':
333
- if (strcmp(str, "copy") == 0) {
334
- flag = NPY_ITER_COPY;
335
- }
336
- if (strcmp(str, "contig") == 0) {
337
- flag = NPY_ITER_CONTIG;
338
- }
339
- break;
340
- case 'n':
341
- switch (str[1]) {
342
- case 'b':
343
- if (strcmp(str, "nbo") == 0) {
344
- flag = NPY_ITER_NBO;
345
- }
346
- break;
347
- case 'o':
348
- if (strcmp(str, "no_subtype") == 0) {
349
- flag = NPY_ITER_NO_SUBTYPE;
350
- }
351
- else if (strcmp(str, "no_broadcast") == 0) {
352
- flag = NPY_ITER_NO_BROADCAST;
353
- }
354
- break;
355
- }
356
- break;
357
- case 'r':
358
- if (length > 4) switch (str[4]) {
359
- case 'o':
360
- if (strcmp(str, "readonly") == 0) {
361
- flag = NPY_ITER_READONLY;
362
- }
363
- break;
364
- case 'w':
365
- if (strcmp(str, "readwrite") == 0) {
366
- flag = NPY_ITER_READWRITE;
367
- }
368
- break;
369
- }
370
- break;
371
- case 'u':
372
- switch (str[1]) {
373
- case 'p':
374
- if (strcmp(str, "updateifcopy") == 0) {
375
- flag = NPY_ITER_UPDATEIFCOPY;
376
- }
377
- break;
378
- }
379
- break;
380
- case 'v':
381
- if (strcmp(str, "virtual") == 0) {
382
- flag = NPY_ITER_VIRTUAL;
383
- }
384
- break;
385
- case 'w':
386
- if (length > 5) switch (str[5]) {
387
- case 'o':
388
- if (strcmp(str, "writeonly") == 0) {
389
- flag = NPY_ITER_WRITEONLY;
390
- }
391
- break;
392
- case 'm':
393
- if (strcmp(str, "writemasked") == 0) {
394
- flag = NPY_ITER_WRITEMASKED;
395
- }
396
- break;
397
- }
398
- break;
399
- }
400
- if (flag == 0) {
401
- PyErr_Format(PyExc_ValueError,
402
- "Unexpected per-op iterator flag \"%s\"", str);
403
- Py_DECREF(f);
404
- return 0;
405
- }
406
- else {
407
- *op_flags |= flag;
408
- }
409
- Py_DECREF(f);
410
- }
411
-
412
- return 1;
413
- }
414
-
415
- static int
416
- npyiter_convert_op_flags_array(PyObject *op_flags_in,
417
- npy_uint32 *op_flags_array, npy_intp nop)
418
- {
419
- npy_intp iop;
420
-
421
- if (!PyTuple_Check(op_flags_in) && !PyList_Check(op_flags_in)) {
422
- PyErr_SetString(PyExc_ValueError,
423
- "op_flags must be a tuple or array of per-op flag-tuples");
424
- return 0;
425
- }
426
-
427
- if (PySequence_Size(op_flags_in) != nop) {
428
- goto try_single_flags;
429
- }
430
-
431
- for (iop = 0; iop < nop; ++iop) {
432
- PyObject *f = PySequence_GetItem(op_flags_in, iop);
433
- if (f == NULL) {
434
- return 0;
435
- }
436
- /* If the first item is a string, try as one set of flags */
437
- if (iop == 0 && (PyBytes_Check(f) || PyUnicode_Check(f))) {
438
- Py_DECREF(f);
439
- goto try_single_flags;
440
- }
441
- if (NpyIter_OpFlagsConverter(f,
442
- &op_flags_array[iop]) != 1) {
443
- Py_DECREF(f);
444
- return 0;
445
- }
446
-
447
- Py_DECREF(f);
448
- }
449
-
450
- return 1;
451
-
452
- try_single_flags:
453
- if (NpyIter_OpFlagsConverter(op_flags_in,
454
- &op_flags_array[0]) != 1) {
455
- return 0;
456
- }
457
-
458
- for (iop = 1; iop < nop; ++iop) {
459
- op_flags_array[iop] = op_flags_array[0];
460
- }
461
-
462
- return 1;
463
- }
464
-
465
- static int
466
- npyiter_convert_dtypes(PyObject *op_dtypes_in,
467
- PyArray_Descr **op_dtypes,
468
- npy_intp nop)
469
- {
470
- npy_intp iop;
471
-
472
- /*
473
- * If the input isn't a tuple of dtypes, try converting it as-is
474
- * to a dtype, and replicating to all operands.
475
- */
476
- if ((!PyTuple_Check(op_dtypes_in) && !PyList_Check(op_dtypes_in)) ||
477
- PySequence_Size(op_dtypes_in) != nop) {
478
- goto try_single_dtype;
479
- }
480
-
481
- for (iop = 0; iop < nop; ++iop) {
482
- PyObject *dtype = PySequence_GetItem(op_dtypes_in, iop);
483
- if (dtype == NULL) {
484
- npy_intp i;
485
- for (i = 0; i < iop; ++i ) {
486
- Py_XDECREF(op_dtypes[i]);
487
- }
488
- return 0;
489
- }
490
-
491
- /* Try converting the object to a descr */
492
- if (PyArray_DescrConverter2(dtype, &op_dtypes[iop]) != 1) {
493
- npy_intp i;
494
- for (i = 0; i < iop; ++i ) {
495
- Py_XDECREF(op_dtypes[i]);
496
- }
497
- Py_DECREF(dtype);
498
- PyErr_Clear();
499
- goto try_single_dtype;
500
- }
501
-
502
- Py_DECREF(dtype);
503
- }
504
-
505
- return 1;
506
-
507
- try_single_dtype:
508
- if (PyArray_DescrConverter2(op_dtypes_in, &op_dtypes[0]) == 1) {
509
- for (iop = 1; iop < nop; ++iop) {
510
- op_dtypes[iop] = op_dtypes[0];
511
- Py_XINCREF(op_dtypes[iop]);
512
- }
513
- return 1;
514
- }
515
-
516
- return 0;
517
- }
518
-
519
- static int
520
- npyiter_convert_op_axes(PyObject *op_axes_in, npy_intp nop,
521
- int **op_axes, int *oa_ndim)
522
- {
523
- PyObject *a;
524
- int iop;
525
-
526
- if ((!PyTuple_Check(op_axes_in) && !PyList_Check(op_axes_in)) ||
527
- PySequence_Size(op_axes_in) != nop) {
528
- PyErr_SetString(PyExc_ValueError,
529
- "op_axes must be a tuple/list matching the number of ops");
530
- return 0;
531
- }
532
-
533
- *oa_ndim = -1;
534
-
535
- /* Copy the tuples into op_axes */
536
- for (iop = 0; iop < nop; ++iop) {
537
- int idim;
538
- a = PySequence_GetItem(op_axes_in, iop);
539
- if (a == NULL) {
540
- return 0;
541
- }
542
- if (a == Py_None) {
543
- op_axes[iop] = NULL;
544
- } else {
545
- if (!PyTuple_Check(a) && !PyList_Check(a)) {
546
- PyErr_SetString(PyExc_ValueError,
547
- "Each entry of op_axes must be None "
548
- "or a tuple/list");
549
- Py_DECREF(a);
550
- return 0;
551
- }
552
- if (*oa_ndim == -1) {
553
- *oa_ndim = PySequence_Size(a);
554
- if (*oa_ndim > NPY_MAXDIMS) {
555
- PyErr_SetString(PyExc_ValueError,
556
- "Too many dimensions in op_axes");
557
- return 0;
558
- }
559
- }
560
- if (PySequence_Size(a) != *oa_ndim) {
561
- PyErr_SetString(PyExc_ValueError,
562
- "Each entry of op_axes must have the same size");
563
- Py_DECREF(a);
564
- return 0;
565
- }
566
- for (idim = 0; idim < *oa_ndim; ++idim) {
567
- PyObject *v = PySequence_GetItem(a, idim);
568
- if (v == NULL) {
569
- Py_DECREF(a);
570
- return 0;
571
- }
572
- /* numpy.newaxis is None */
573
- if (v == Py_None) {
574
- op_axes[iop][idim] = -1;
575
- }
576
- else {
577
- op_axes[iop][idim] = PyArray_PyIntAsInt(v);
578
- if (op_axes[iop][idim]==-1 &&
579
- PyErr_Occurred()) {
580
- Py_DECREF(a);
581
- Py_DECREF(v);
582
- return 0;
583
- }
584
- }
585
- Py_DECREF(v);
586
- }
587
- Py_DECREF(a);
588
- }
589
- }
590
-
591
- if (*oa_ndim == -1) {
592
- PyErr_SetString(PyExc_ValueError,
593
- "If op_axes is provided, at least one list of axes "
594
- "must be contained within it");
595
- return 0;
596
- }
597
-
598
- return 1;
599
- }
600
-
601
- /*
602
- * Converts the operand array and op_flags array into the form
603
- * NpyIter_AdvancedNew needs. Sets nop, and on success, each
604
- * op[i] owns a reference to an array object.
605
- */
606
- static int
607
- npyiter_convert_ops(PyObject *op_in, PyObject *op_flags_in,
608
- PyArrayObject **op, npy_uint32 *op_flags,
609
- int *nop_out)
610
- {
611
- int iop, nop;
612
-
613
- /* nop and op */
614
- if (PyTuple_Check(op_in) || PyList_Check(op_in)) {
615
- nop = PySequence_Size(op_in);
616
- if (nop == 0) {
617
- PyErr_SetString(PyExc_ValueError,
618
- "Must provide at least one operand");
619
- return 0;
620
- }
621
- if (nop > NPY_MAXARGS) {
622
- PyErr_SetString(PyExc_ValueError, "Too many operands");
623
- return 0;
624
- }
625
-
626
- for (iop = 0; iop < nop; ++iop) {
627
- PyObject *item = PySequence_GetItem(op_in, iop);
628
- if (item == NULL) {
629
- npy_intp i;
630
- for (i = 0; i < iop; ++i) {
631
- Py_XDECREF(op[i]);
632
- }
633
- return 0;
634
- }
635
- else if (item == Py_None) {
636
- Py_DECREF(item);
637
- item = NULL;
638
- }
639
- /* This is converted to an array after op flags are retrieved */
640
- op[iop] = (PyArrayObject *)item;
641
- }
642
- }
643
- else {
644
- nop = 1;
645
- /* Is converted to an array after op flags are retrieved */
646
- Py_INCREF(op_in);
647
- op[0] = (PyArrayObject *)op_in;
648
- }
649
-
650
- *nop_out = nop;
651
-
652
- /* op_flags */
653
- if (op_flags_in == NULL || op_flags_in == Py_None) {
654
- for (iop = 0; iop < nop; ++iop) {
655
- /*
656
- * By default, make NULL operands writeonly and flagged for
657
- * allocation, and everything else readonly. To write
658
- * to a provided operand, you must specify the write flag manually.
659
- */
660
- if (op[iop] == NULL) {
661
- op_flags[iop] = NPY_ITER_WRITEONLY | NPY_ITER_ALLOCATE;
662
- }
663
- else {
664
- op_flags[iop] = NPY_ITER_READONLY;
665
- }
666
- }
667
- }
668
- else if (npyiter_convert_op_flags_array(op_flags_in,
669
- op_flags, nop) != 1) {
670
- for (iop = 0; iop < nop; ++iop) {
671
- Py_XDECREF(op[iop]);
672
- }
673
- *nop_out = 0;
674
- return 0;
675
- }
676
-
677
- /* Now that we have the flags - convert all the ops to arrays */
678
- for (iop = 0; iop < nop; ++iop) {
679
- if (op[iop] != NULL) {
680
- PyArrayObject *ao;
681
- int fromanyflags = 0;
682
-
683
- if (op_flags[iop]&(NPY_ITER_READWRITE|NPY_ITER_WRITEONLY)) {
684
- fromanyflags |= NPY_ARRAY_UPDATEIFCOPY;
685
- }
686
- ao = (PyArrayObject *)PyArray_FromAny((PyObject *)op[iop],
687
- NULL, 0, 0, fromanyflags, NULL);
688
- if (ao == NULL) {
689
- if (PyErr_Occurred() &&
690
- PyErr_ExceptionMatches(PyExc_TypeError)) {
691
- PyErr_SetString(PyExc_TypeError,
692
- "Iterator operand is flagged as writeable, "
693
- "but is an object which cannot be written "
694
- "back to via UPDATEIFCOPY");
695
- }
696
- for (iop = 0; iop < nop; ++iop) {
697
- Py_DECREF(op[iop]);
698
- }
699
- *nop_out = 0;
700
- return 0;
701
- }
702
- Py_DECREF(op[iop]);
703
- op[iop] = ao;
704
- }
705
- }
706
-
707
- return 1;
708
- }
709
-
710
- static int
711
- npyiter_init(NewNpyArrayIterObject *self, PyObject *args, PyObject *kwds)
712
- {
713
- static char *kwlist[] = {"op", "flags", "op_flags", "op_dtypes",
714
- "order", "casting", "op_axes", "itershape",
715
- "buffersize",
716
- NULL};
717
-
718
- PyObject *op_in = NULL, *op_flags_in = NULL,
719
- *op_dtypes_in = NULL, *op_axes_in = NULL;
720
-
721
- int iop, nop = 0;
722
- PyArrayObject *op[NPY_MAXARGS];
723
- npy_uint32 flags = 0;
724
- NPY_ORDER order = NPY_KEEPORDER;
725
- NPY_CASTING casting = NPY_SAFE_CASTING;
726
- npy_uint32 op_flags[NPY_MAXARGS];
727
- PyArray_Descr *op_request_dtypes[NPY_MAXARGS];
728
- int oa_ndim = -1;
729
- int op_axes_arrays[NPY_MAXARGS][NPY_MAXDIMS];
730
- int *op_axes[NPY_MAXARGS];
731
- PyArray_Dims itershape = {NULL, 0};
732
- int buffersize = 0;
733
-
734
- if (self->iter != NULL) {
735
- PyErr_SetString(PyExc_ValueError,
736
- "Iterator was already initialized");
737
- return -1;
738
- }
739
-
740
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O&OOO&O&OO&i", kwlist,
741
- &op_in,
742
- NpyIter_GlobalFlagsConverter, &flags,
743
- &op_flags_in,
744
- &op_dtypes_in,
745
- npyiter_order_converter, &order,
746
- PyArray_CastingConverter, &casting,
747
- &op_axes_in,
748
- PyArray_IntpConverter, &itershape,
749
- &buffersize)) {
750
- PyDimMem_FREE(itershape.ptr);
751
- return -1;
752
- }
753
-
754
- /* Set the dtypes and ops to all NULL to start */
755
- memset(op_request_dtypes, 0, sizeof(op_request_dtypes));
756
-
757
- /* op and op_flags */
758
- if (npyiter_convert_ops(op_in, op_flags_in, op, op_flags, &nop)
759
- != 1) {
760
- goto fail;
761
- }
762
-
763
- /* op_request_dtypes */
764
- if (op_dtypes_in != NULL && op_dtypes_in != Py_None &&
765
- npyiter_convert_dtypes(op_dtypes_in,
766
- op_request_dtypes, nop) != 1) {
767
- goto fail;
768
- }
769
-
770
- /* op_axes */
771
- if (op_axes_in != NULL && op_axes_in != Py_None) {
772
- /* Initialize to point to the op_axes arrays */
773
- for (iop = 0; iop < nop; ++iop) {
774
- op_axes[iop] = op_axes_arrays[iop];
775
- }
776
-
777
- if (npyiter_convert_op_axes(op_axes_in, nop,
778
- op_axes, &oa_ndim) != 1) {
779
- goto fail;
780
- }
781
- }
782
-
783
- if (itershape.len > 0) {
784
- if (oa_ndim == -1) {
785
- oa_ndim = itershape.len;
786
- memset(op_axes, 0, sizeof(op_axes[0]) * nop);
787
- }
788
- else if (oa_ndim != itershape.len) {
789
- PyErr_SetString(PyExc_ValueError,
790
- "'op_axes' and 'itershape' must have the same number "
791
- "of entries equal to the iterator ndim");
792
- goto fail;
793
- }
794
- }
795
- else if (itershape.ptr != NULL) {
796
- PyDimMem_FREE(itershape.ptr);
797
- itershape.ptr = NULL;
798
- }
799
-
800
- self->iter = NpyIter_AdvancedNew(nop, op, flags, order, casting, op_flags,
801
- op_request_dtypes,
802
- oa_ndim, oa_ndim >= 0 ? op_axes : NULL,
803
- itershape.ptr,
804
- buffersize);
805
-
806
- if (self->iter == NULL) {
807
- goto fail;
808
- }
809
-
810
- /* Cache some values for the member functions to use */
811
- if (npyiter_cache_values(self) < 0) {
812
- goto fail;
813
- }
814
-
815
- if (NpyIter_GetIterSize(self->iter) == 0) {
816
- self->started = 1;
817
- self->finished = 1;
818
- }
819
- else {
820
- self->started = 0;
821
- self->finished = 0;
822
- }
823
-
824
- PyDimMem_FREE(itershape.ptr);
825
-
826
- /* Release the references we got to the ops and dtypes */
827
- for (iop = 0; iop < nop; ++iop) {
828
- Py_XDECREF(op[iop]);
829
- Py_XDECREF(op_request_dtypes[iop]);
830
- }
831
-
832
- return 0;
833
-
834
- fail:
835
- PyDimMem_FREE(itershape.ptr);
836
- for (iop = 0; iop < nop; ++iop) {
837
- Py_XDECREF(op[iop]);
838
- Py_XDECREF(op_request_dtypes[iop]);
839
- }
840
- return -1;
841
- }
842
-
843
- NPY_NO_EXPORT PyObject *
844
- NpyIter_NestedIters(PyObject *NPY_UNUSED(self),
845
- PyObject *args, PyObject *kwds)
846
- {
847
- static char *kwlist[] = {"op", "axes", "flags", "op_flags",
848
- "op_dtypes", "order",
849
- "casting", "buffersize",
850
- NULL};
851
-
852
- PyObject *op_in = NULL, *axes_in = NULL,
853
- *op_flags_in = NULL, *op_dtypes_in = NULL;
854
-
855
- int iop, nop = 0, inest, nnest = 0;
856
- PyArrayObject *op[NPY_MAXARGS];
857
- npy_uint32 flags = 0, flags_inner;
858
- NPY_ORDER order = NPY_KEEPORDER;
859
- NPY_CASTING casting = NPY_SAFE_CASTING;
860
- npy_uint32 op_flags[NPY_MAXARGS], op_flags_inner[NPY_MAXARGS];
861
- PyArray_Descr *op_request_dtypes[NPY_MAXARGS],
862
- *op_request_dtypes_inner[NPY_MAXARGS];
863
- int op_axes_data[NPY_MAXDIMS];
864
- int *nested_op_axes[NPY_MAXDIMS];
865
- int nested_naxes[NPY_MAXDIMS], iaxes, naxes;
866
- int negones[NPY_MAXDIMS];
867
- char used_axes[NPY_MAXDIMS];
868
- int buffersize = 0;
869
-
870
- PyObject *ret = NULL;
871
-
872
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO|O&OOO&O&i", kwlist,
873
- &op_in,
874
- &axes_in,
875
- NpyIter_GlobalFlagsConverter, &flags,
876
- &op_flags_in,
877
- &op_dtypes_in,
878
- npyiter_order_converter, &order,
879
- PyArray_CastingConverter, &casting,
880
- &buffersize)) {
881
- return NULL;
882
- }
883
-
884
- /* axes */
885
- if (!PyTuple_Check(axes_in) && !PyList_Check(axes_in)) {
886
- PyErr_SetString(PyExc_ValueError,
887
- "axes must be a tuple of axis arrays");
888
- return NULL;
889
- }
890
- nnest = PySequence_Size(axes_in);
891
- if (nnest < 2) {
892
- PyErr_SetString(PyExc_ValueError,
893
- "axes must have at least 2 entries for nested iteration");
894
- return NULL;
895
- }
896
- naxes = 0;
897
- memset(used_axes, 0, NPY_MAXDIMS);
898
- for (inest = 0; inest < nnest; ++inest) {
899
- PyObject *item = PySequence_GetItem(axes_in, inest);
900
- npy_intp i;
901
- if (item == NULL) {
902
- return NULL;
903
- }
904
- if (!PyTuple_Check(item) && !PyList_Check(item)) {
905
- PyErr_SetString(PyExc_ValueError,
906
- "Each item in axes must be a an integer tuple");
907
- Py_DECREF(item);
908
- return NULL;
909
- }
910
- nested_naxes[inest] = PySequence_Size(item);
911
- if (naxes + nested_naxes[inest] > NPY_MAXDIMS) {
912
- PyErr_SetString(PyExc_ValueError,
913
- "Too many axes given");
914
- Py_DECREF(item);
915
- return NULL;
916
- }
917
- for (i = 0; i < nested_naxes[inest]; ++i) {
918
- PyObject *v = PySequence_GetItem(item, i);
919
- npy_intp axis;
920
- if (v == NULL) {
921
- Py_DECREF(item);
922
- return NULL;
923
- }
924
- axis = PyInt_AsLong(v);
925
- Py_DECREF(v);
926
- if (axis < 0 || axis >= NPY_MAXDIMS) {
927
- PyErr_SetString(PyExc_ValueError,
928
- "An axis is out of bounds");
929
- Py_DECREF(item);
930
- return NULL;
931
- }
932
- /*
933
- * This check is very important, without it out of bounds
934
- * data accesses are possible.
935
- */
936
- if (used_axes[axis] != 0) {
937
- PyErr_SetString(PyExc_ValueError,
938
- "An axis is used more than once");
939
- Py_DECREF(item);
940
- return NULL;
941
- }
942
- used_axes[axis] = 1;
943
- op_axes_data[naxes+i] = axis;
944
- }
945
- nested_op_axes[inest] = &op_axes_data[naxes];
946
- naxes += nested_naxes[inest];
947
- Py_DECREF(item);
948
- }
949
-
950
- /* op and op_flags */
951
- if (npyiter_convert_ops(op_in, op_flags_in, op, op_flags, &nop)
952
- != 1) {
953
- return NULL;
954
- }
955
-
956
- /* Set the dtypes to all NULL to start as well */
957
- memset(op_request_dtypes, 0, sizeof(op_request_dtypes[0])*nop);
958
- memset(op_request_dtypes_inner, 0,
959
- sizeof(op_request_dtypes_inner[0])*nop);
960
-
961
- /* op_request_dtypes */
962
- if (op_dtypes_in != NULL && op_dtypes_in != Py_None &&
963
- npyiter_convert_dtypes(op_dtypes_in,
964
- op_request_dtypes, nop) != 1) {
965
- goto fail;
966
- }
967
-
968
- ret = PyTuple_New(nnest);
969
- if (ret == NULL) {
970
- goto fail;
971
- }
972
-
973
- /* For broadcasting allocated arrays */
974
- for (iaxes = 0; iaxes < naxes; ++iaxes) {
975
- negones[iaxes] = -1;
976
- }
977
-
978
- /*
979
- * Clear any unnecessary ALLOCATE flags, so we can use them
980
- * to indicate exactly the allocated outputs. Also, separate
981
- * the inner loop flags.
982
- */
983
- for (iop = 0; iop < nop; ++iop) {
984
- if ((op_flags[iop]&NPY_ITER_ALLOCATE) && op[iop] != NULL) {
985
- op_flags[iop] &= ~NPY_ITER_ALLOCATE;
986
- }
987
-
988
- /*
989
- * Clear any flags allowing copies or output allocation for
990
- * the inner loop.
991
- */
992
- op_flags_inner[iop] = op_flags[iop] & ~(NPY_ITER_COPY|
993
- NPY_ITER_UPDATEIFCOPY|
994
- NPY_ITER_ALLOCATE);
995
- /*
996
- * If buffering is enabled and copying is not,
997
- * clear the nbo_aligned flag and strip the data type
998
- * for the outer loops.
999
- */
1000
- if ((flags&(NPY_ITER_BUFFERED)) &&
1001
- !(op_flags[iop]&(NPY_ITER_COPY|
1002
- NPY_ITER_UPDATEIFCOPY|
1003
- NPY_ITER_ALLOCATE))) {
1004
- op_flags[iop] &= ~(NPY_ITER_NBO|NPY_ITER_ALIGNED|NPY_ITER_CONTIG);
1005
- op_request_dtypes_inner[iop] = op_request_dtypes[iop];
1006
- op_request_dtypes[iop] = NULL;
1007
- }
1008
- }
1009
-
1010
- /* Only the inner loop gets the buffering and no inner flags */
1011
- flags_inner = flags&~NPY_ITER_COMMON_DTYPE;
1012
- flags &= ~(NPY_ITER_EXTERNAL_LOOP|
1013
- NPY_ITER_BUFFERED);
1014
-
1015
- for (inest = 0; inest < nnest; ++inest) {
1016
- NewNpyArrayIterObject *iter;
1017
- int *op_axes_nop[NPY_MAXARGS];
1018
-
1019
- /*
1020
- * All the operands' op_axes are the same, except for
1021
- * allocated outputs.
1022
- */
1023
- for (iop = 0; iop < nop; ++iop) {
1024
- if (op_flags[iop]&NPY_ITER_ALLOCATE) {
1025
- if (inest == 0) {
1026
- op_axes_nop[iop] = NULL;
1027
- }
1028
- else {
1029
- op_axes_nop[iop] = negones;
1030
- }
1031
- }
1032
- else {
1033
- op_axes_nop[iop] = nested_op_axes[inest];
1034
- }
1035
- }
1036
-
1037
- /*
1038
- printf("\n");
1039
- for (iop = 0; iop < nop; ++iop) {
1040
- npy_intp i;
1041
-
1042
- for (i = 0; i < nested_naxes[inest]; ++i) {
1043
- printf("%d ", (int)op_axes_nop[iop][i]);
1044
- }
1045
- printf("\n");
1046
- }
1047
- */
1048
-
1049
- /* Allocate the iterator */
1050
- iter = (NewNpyArrayIterObject *)npyiter_new(&NpyIter_Type, NULL, NULL);
1051
- if (iter == NULL) {
1052
- Py_DECREF(ret);
1053
- goto fail;
1054
- }
1055
-
1056
- if (inest < nnest-1) {
1057
- iter->iter = NpyIter_AdvancedNew(nop, op, flags, order,
1058
- casting, op_flags, op_request_dtypes,
1059
- nested_naxes[inest], op_axes_nop,
1060
- NULL,
1061
- 0);
1062
- }
1063
- else {
1064
- iter->iter = NpyIter_AdvancedNew(nop, op, flags_inner, order,
1065
- casting, op_flags_inner,
1066
- op_request_dtypes_inner,
1067
- nested_naxes[inest], op_axes_nop,
1068
- NULL,
1069
- buffersize);
1070
- }
1071
-
1072
- if (iter->iter == NULL) {
1073
- Py_DECREF(ret);
1074
- goto fail;
1075
- }
1076
-
1077
- /* Cache some values for the member functions to use */
1078
- if (npyiter_cache_values(iter) < 0) {
1079
- Py_DECREF(ret);
1080
- goto fail;
1081
- }
1082
-
1083
- if (NpyIter_GetIterSize(iter->iter) == 0) {
1084
- iter->started = 1;
1085
- iter->finished = 1;
1086
- }
1087
- else {
1088
- iter->started = 0;
1089
- iter->finished = 0;
1090
- }
1091
-
1092
- /*
1093
- * If there are any allocated outputs or any copies were made,
1094
- * adjust op so that the other iterators use the same ones.
1095
- */
1096
- if (inest == 0) {
1097
- PyArrayObject **operands = NpyIter_GetOperandArray(iter->iter);
1098
- for (iop = 0; iop < nop; ++iop) {
1099
- if (op[iop] != operands[iop]) {
1100
- Py_XDECREF(op[iop]);
1101
- op[iop] = operands[iop];
1102
- Py_INCREF(op[iop]);
1103
- }
1104
-
1105
- /*
1106
- * Clear any flags allowing copies for
1107
- * the rest of the iterators
1108
- */
1109
- op_flags[iop] &= ~(NPY_ITER_COPY|
1110
- NPY_ITER_UPDATEIFCOPY);
1111
- }
1112
- /* Clear the common dtype flag for the rest of the iterators */
1113
- flags &= ~NPY_ITER_COMMON_DTYPE;
1114
- }
1115
-
1116
- PyTuple_SET_ITEM(ret, inest, (PyObject *)iter);
1117
- }
1118
-
1119
- /* Release our references to the ops and dtypes */
1120
- for (iop = 0; iop < nop; ++iop) {
1121
- Py_XDECREF(op[iop]);
1122
- Py_XDECREF(op_request_dtypes[iop]);
1123
- Py_XDECREF(op_request_dtypes_inner[iop]);
1124
- }
1125
-
1126
- /* Set up the nested child references */
1127
- for (inest = 0; inest < nnest-1; ++inest) {
1128
- NewNpyArrayIterObject *iter;
1129
- iter = (NewNpyArrayIterObject *)PyTuple_GET_ITEM(ret, inest);
1130
- /*
1131
- * Indicates which iterator to reset with new base pointers
1132
- * each iteration step.
1133
- */
1134
- iter->nested_child =
1135
- (NewNpyArrayIterObject *)PyTuple_GET_ITEM(ret, inest+1);
1136
- Py_INCREF(iter->nested_child);
1137
- /*
1138
- * Need to do a nested reset so all the iterators point
1139
- * at the right data
1140
- */
1141
- if (NpyIter_ResetBasePointers(iter->nested_child->iter,
1142
- iter->dataptrs, NULL) != NPY_SUCCEED) {
1143
- Py_DECREF(ret);
1144
- return NULL;
1145
- }
1146
- }
1147
-
1148
- return ret;
1149
-
1150
- fail:
1151
- for (iop = 0; iop < nop; ++iop) {
1152
- Py_XDECREF(op[iop]);
1153
- Py_XDECREF(op_request_dtypes[iop]);
1154
- Py_XDECREF(op_request_dtypes_inner[iop]);
1155
- }
1156
- return NULL;
1157
- }
1158
-
1159
- static void
1160
- npyiter_dealloc(NewNpyArrayIterObject *self)
1161
- {
1162
- if (self->iter) {
1163
- NpyIter_Deallocate(self->iter);
1164
- self->iter = NULL;
1165
- Py_XDECREF(self->nested_child);
1166
- self->nested_child = NULL;
1167
- }
1168
- Py_TYPE(self)->tp_free((PyObject*)self);
1169
- }
1170
-
1171
- static int
1172
- npyiter_resetbasepointers(NewNpyArrayIterObject *self)
1173
- {
1174
- while (self->nested_child) {
1175
- if (NpyIter_ResetBasePointers(self->nested_child->iter,
1176
- self->dataptrs, NULL) != NPY_SUCCEED) {
1177
- return NPY_FAIL;
1178
- }
1179
- self = self->nested_child;
1180
- if (NpyIter_GetIterSize(self->iter) == 0) {
1181
- self->started = 1;
1182
- self->finished = 1;
1183
- }
1184
- else {
1185
- self->started = 0;
1186
- self->finished = 0;
1187
- }
1188
- }
1189
-
1190
- return NPY_SUCCEED;
1191
- }
1192
-
1193
- static PyObject *
1194
- npyiter_reset(NewNpyArrayIterObject *self)
1195
- {
1196
- if (self->iter == NULL) {
1197
- PyErr_SetString(PyExc_ValueError,
1198
- "Iterator is invalid");
1199
- return NULL;
1200
- }
1201
-
1202
- if (NpyIter_Reset(self->iter, NULL) != NPY_SUCCEED) {
1203
- return NULL;
1204
- }
1205
- if (NpyIter_GetIterSize(self->iter) == 0) {
1206
- self->started = 1;
1207
- self->finished = 1;
1208
- }
1209
- else {
1210
- self->started = 0;
1211
- self->finished = 0;
1212
- }
1213
-
1214
- if (self->get_multi_index == NULL && NpyIter_HasMultiIndex(self->iter)) {
1215
- self->get_multi_index = NpyIter_GetGetMultiIndex(self->iter, NULL);
1216
- }
1217
-
1218
- /* If there is nesting, the nested iterators should be reset */
1219
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1220
- return NULL;
1221
- }
1222
-
1223
- Py_RETURN_NONE;
1224
- }
1225
-
1226
- /*
1227
- * Makes a copy of the iterator. Note that the nesting is not
1228
- * copied.
1229
- */
1230
- static PyObject *
1231
- npyiter_copy(NewNpyArrayIterObject *self)
1232
- {
1233
- NewNpyArrayIterObject *iter;
1234
-
1235
- if (self->iter == NULL) {
1236
- PyErr_SetString(PyExc_ValueError,
1237
- "Iterator is invalid");
1238
- return NULL;
1239
- }
1240
-
1241
- /* Allocate the iterator */
1242
- iter = (NewNpyArrayIterObject *)npyiter_new(&NpyIter_Type, NULL, NULL);
1243
- if (iter == NULL) {
1244
- return NULL;
1245
- }
1246
-
1247
- /* Copy the C iterator */
1248
- iter->iter = NpyIter_Copy(self->iter);
1249
- if (iter->iter == NULL) {
1250
- Py_DECREF(iter);
1251
- return NULL;
1252
- }
1253
-
1254
- /* Cache some values for the member functions to use */
1255
- if (npyiter_cache_values(iter) < 0) {
1256
- Py_DECREF(iter);
1257
- return NULL;
1258
- }
1259
-
1260
- iter->started = self->started;
1261
- iter->finished = self->finished;
1262
-
1263
- return (PyObject *)iter;
1264
- }
1265
-
1266
- static PyObject *
1267
- npyiter_iternext(NewNpyArrayIterObject *self)
1268
- {
1269
- if (self->iter != NULL && self->iternext != NULL &&
1270
- !self->finished && self->iternext(self->iter)) {
1271
- /* If there is nesting, the nested iterators should be reset */
1272
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1273
- return NULL;
1274
- }
1275
-
1276
- Py_RETURN_TRUE;
1277
- }
1278
- else {
1279
- self->finished = 1;
1280
- Py_RETURN_FALSE;
1281
- }
1282
- }
1283
-
1284
- static PyObject *
1285
- npyiter_remove_axis(NewNpyArrayIterObject *self, PyObject *args)
1286
- {
1287
- int axis = 0;
1288
-
1289
- if (self->iter == NULL) {
1290
- PyErr_SetString(PyExc_ValueError,
1291
- "Iterator is invalid");
1292
- return NULL;
1293
- }
1294
-
1295
- if (!PyArg_ParseTuple(args, "i", &axis)) {
1296
- return NULL;
1297
- }
1298
-
1299
- if (NpyIter_RemoveAxis(self->iter, axis) != NPY_SUCCEED) {
1300
- return NULL;
1301
- }
1302
- /* RemoveAxis invalidates cached values */
1303
- if (npyiter_cache_values(self) < 0) {
1304
- return NULL;
1305
- }
1306
- /* RemoveAxis also resets the iterator */
1307
- if (NpyIter_GetIterSize(self->iter) == 0) {
1308
- self->started = 1;
1309
- self->finished = 1;
1310
- }
1311
- else {
1312
- self->started = 0;
1313
- self->finished = 0;
1314
- }
1315
-
1316
- Py_RETURN_NONE;
1317
- }
1318
-
1319
- static PyObject *
1320
- npyiter_remove_multi_index(NewNpyArrayIterObject *self)
1321
- {
1322
- if (self->iter == NULL) {
1323
- PyErr_SetString(PyExc_ValueError,
1324
- "Iterator is invalid");
1325
- return NULL;
1326
- }
1327
-
1328
- NpyIter_RemoveMultiIndex(self->iter);
1329
- /* RemoveMultiIndex invalidates cached values */
1330
- npyiter_cache_values(self);
1331
- /* RemoveMultiIndex also resets the iterator */
1332
- if (NpyIter_GetIterSize(self->iter) == 0) {
1333
- self->started = 1;
1334
- self->finished = 1;
1335
- }
1336
- else {
1337
- self->started = 0;
1338
- self->finished = 0;
1339
- }
1340
-
1341
- Py_RETURN_NONE;
1342
- }
1343
-
1344
- static PyObject *
1345
- npyiter_enable_external_loop(NewNpyArrayIterObject *self)
1346
- {
1347
- if (self->iter == NULL) {
1348
- PyErr_SetString(PyExc_ValueError,
1349
- "Iterator is invalid");
1350
- return NULL;
1351
- }
1352
-
1353
- NpyIter_EnableExternalLoop(self->iter);
1354
- /* EnableExternalLoop invalidates cached values */
1355
- npyiter_cache_values(self);
1356
- /* EnableExternalLoop also resets the iterator */
1357
- if (NpyIter_GetIterSize(self->iter) == 0) {
1358
- self->started = 1;
1359
- self->finished = 1;
1360
- }
1361
- else {
1362
- self->started = 0;
1363
- self->finished = 0;
1364
- }
1365
-
1366
- Py_RETURN_NONE;
1367
- }
1368
-
1369
- static PyObject *
1370
- npyiter_debug_print(NewNpyArrayIterObject *self)
1371
- {
1372
- if (self->iter != NULL) {
1373
- NpyIter_DebugPrint(self->iter);
1374
- }
1375
- else {
1376
- printf("Iterator: (nil)\n");
1377
- }
1378
-
1379
- Py_RETURN_NONE;
1380
- }
1381
-
1382
- NPY_NO_EXPORT PyObject *
1383
- npyiter_seq_item(NewNpyArrayIterObject *self, Py_ssize_t i);
1384
-
1385
- static PyObject *npyiter_value_get(NewNpyArrayIterObject *self)
1386
- {
1387
- PyObject *ret;
1388
-
1389
- npy_intp iop, nop;
1390
-
1391
- if (self->iter == NULL || self->finished) {
1392
- PyErr_SetString(PyExc_ValueError,
1393
- "Iterator is past the end");
1394
- return NULL;
1395
- }
1396
-
1397
- nop = NpyIter_GetNOp(self->iter);
1398
-
1399
- /* Return an array or tuple of arrays with the values */
1400
- if (nop == 1) {
1401
- ret = npyiter_seq_item(self, 0);
1402
- }
1403
- else {
1404
- ret = PyTuple_New(nop);
1405
- if (ret == NULL) {
1406
- return NULL;
1407
- }
1408
- for (iop = 0; iop < nop; ++iop) {
1409
- PyObject *a = npyiter_seq_item(self, iop);
1410
- if (a == NULL) {
1411
- Py_DECREF(ret);
1412
- return NULL;
1413
- }
1414
- PyTuple_SET_ITEM(ret, iop, a);
1415
- }
1416
- }
1417
-
1418
- return ret;
1419
- }
1420
-
1421
- static PyObject *npyiter_operands_get(NewNpyArrayIterObject *self)
1422
- {
1423
- PyObject *ret;
1424
-
1425
- npy_intp iop, nop;
1426
- PyArrayObject **operands;
1427
-
1428
- if (self->iter == NULL) {
1429
- PyErr_SetString(PyExc_ValueError,
1430
- "Iterator is invalid");
1431
- return NULL;
1432
- }
1433
-
1434
- nop = NpyIter_GetNOp(self->iter);
1435
- operands = self->operands;
1436
-
1437
- ret = PyTuple_New(nop);
1438
- if (ret == NULL) {
1439
- return NULL;
1440
- }
1441
- for (iop = 0; iop < nop; ++iop) {
1442
- PyObject *operand = (PyObject *)operands[iop];
1443
-
1444
- Py_INCREF(operand);
1445
- PyTuple_SET_ITEM(ret, iop, operand);
1446
- }
1447
-
1448
- return ret;
1449
- }
1450
-
1451
- static PyObject *npyiter_itviews_get(NewNpyArrayIterObject *self)
1452
- {
1453
- PyObject *ret;
1454
-
1455
- npy_intp iop, nop;
1456
-
1457
- if (self->iter == NULL) {
1458
- PyErr_SetString(PyExc_ValueError,
1459
- "Iterator is invalid");
1460
- return NULL;
1461
- }
1462
-
1463
- nop = NpyIter_GetNOp(self->iter);
1464
-
1465
- ret = PyTuple_New(nop);
1466
- if (ret == NULL) {
1467
- return NULL;
1468
- }
1469
- for (iop = 0; iop < nop; ++iop) {
1470
- PyArrayObject *view = NpyIter_GetIterView(self->iter, iop);
1471
-
1472
- if (view == NULL) {
1473
- Py_DECREF(ret);
1474
- return NULL;
1475
- }
1476
- PyTuple_SET_ITEM(ret, iop, (PyObject *)view);
1477
- }
1478
-
1479
- return ret;
1480
- }
1481
-
1482
- static PyObject *
1483
- npyiter_next(NewNpyArrayIterObject *self)
1484
- {
1485
- if (self->iter == NULL || self->iternext == NULL || self->finished) {
1486
- return NULL;
1487
- }
1488
-
1489
- /*
1490
- * Use the started flag for the Python iteration protocol to work
1491
- * when buffering is enabled.
1492
- */
1493
- if (self->started) {
1494
- if (!self->iternext(self->iter)) {
1495
- self->finished = 1;
1496
- return NULL;
1497
- }
1498
-
1499
- /* If there is nesting, the nested iterators should be reset */
1500
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1501
- return NULL;
1502
- }
1503
- }
1504
- self->started = 1;
1505
-
1506
- return npyiter_value_get(self);
1507
- };
1508
-
1509
- static PyObject *npyiter_shape_get(NewNpyArrayIterObject *self)
1510
- {
1511
- PyObject *ret;
1512
- npy_intp idim, ndim, shape[NPY_MAXDIMS];
1513
-
1514
- if (self->iter == NULL || self->finished) {
1515
- PyErr_SetString(PyExc_ValueError,
1516
- "Iterator is past the end");
1517
- return NULL;
1518
- }
1519
-
1520
- if (NpyIter_GetShape(self->iter, shape) == NPY_SUCCEED) {
1521
- ndim = NpyIter_GetNDim(self->iter);
1522
- ret = PyTuple_New(ndim);
1523
- if (ret != NULL) {
1524
- for (idim = 0; idim < ndim; ++idim) {
1525
- PyTuple_SET_ITEM(ret, idim,
1526
- PyInt_FromLong(shape[idim]));
1527
- }
1528
- return ret;
1529
- }
1530
- }
1531
-
1532
- return NULL;
1533
- }
1534
-
1535
- static PyObject *npyiter_multi_index_get(NewNpyArrayIterObject *self)
1536
- {
1537
- PyObject *ret;
1538
- npy_intp idim, ndim, multi_index[NPY_MAXDIMS];
1539
-
1540
- if (self->iter == NULL || self->finished) {
1541
- PyErr_SetString(PyExc_ValueError,
1542
- "Iterator is past the end");
1543
- return NULL;
1544
- }
1545
-
1546
- if (self->get_multi_index != NULL) {
1547
- ndim = NpyIter_GetNDim(self->iter);
1548
- self->get_multi_index(self->iter, multi_index);
1549
- ret = PyTuple_New(ndim);
1550
- if (ret == NULL) {
1551
- return NULL;
1552
- }
1553
- for (idim = 0; idim < ndim; ++idim) {
1554
- PyTuple_SET_ITEM(ret, idim,
1555
- PyInt_FromLong(multi_index[idim]));
1556
- }
1557
- return ret;
1558
- }
1559
- else {
1560
- if (!NpyIter_HasMultiIndex(self->iter)) {
1561
- PyErr_SetString(PyExc_ValueError,
1562
- "Iterator is not tracking a multi-index");
1563
- return NULL;
1564
- }
1565
- else if (NpyIter_HasDelayedBufAlloc(self->iter)) {
1566
- PyErr_SetString(PyExc_ValueError,
1567
- "Iterator construction used delayed buffer allocation, "
1568
- "and no reset has been done yet");
1569
- return NULL;
1570
- }
1571
- else {
1572
- PyErr_SetString(PyExc_ValueError,
1573
- "Iterator is in an invalid state");
1574
- return NULL;
1575
- }
1576
- }
1577
- }
1578
-
1579
- static int
1580
- npyiter_multi_index_set(NewNpyArrayIterObject *self, PyObject *value)
1581
- {
1582
- npy_intp idim, ndim, multi_index[NPY_MAXDIMS];
1583
-
1584
- if (value == NULL) {
1585
- PyErr_SetString(PyExc_AttributeError,
1586
- "Cannot delete nditer multi_index");
1587
- return -1;
1588
- }
1589
- if (self->iter == NULL) {
1590
- PyErr_SetString(PyExc_ValueError,
1591
- "Iterator is invalid");
1592
- return -1;
1593
- }
1594
-
1595
- if (NpyIter_HasMultiIndex(self->iter)) {
1596
- ndim = NpyIter_GetNDim(self->iter);
1597
- if (!PySequence_Check(value)) {
1598
- PyErr_SetString(PyExc_ValueError,
1599
- "multi_index must be set with a sequence");
1600
- return -1;
1601
- }
1602
- if (PySequence_Size(value) != ndim) {
1603
- PyErr_SetString(PyExc_ValueError,
1604
- "Wrong number of indices");
1605
- return -1;
1606
- }
1607
- for (idim = 0; idim < ndim; ++idim) {
1608
- PyObject *v = PySequence_GetItem(value, idim);
1609
- multi_index[idim] = PyInt_AsLong(v);
1610
- if (multi_index[idim]==-1 && PyErr_Occurred()) {
1611
- Py_XDECREF(v);
1612
- return -1;
1613
- }
1614
- }
1615
- if (NpyIter_GotoMultiIndex(self->iter, multi_index) != NPY_SUCCEED) {
1616
- return -1;
1617
- }
1618
- self->started = 0;
1619
- self->finished = 0;
1620
-
1621
- /* If there is nesting, the nested iterators should be reset */
1622
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1623
- return -1;
1624
- }
1625
-
1626
- return 0;
1627
- }
1628
- else {
1629
- PyErr_SetString(PyExc_ValueError,
1630
- "Iterator is not tracking a multi-index");
1631
- return -1;
1632
- }
1633
- }
1634
-
1635
- static PyObject *npyiter_index_get(NewNpyArrayIterObject *self)
1636
- {
1637
- if (self->iter == NULL || self->finished) {
1638
- PyErr_SetString(PyExc_ValueError,
1639
- "Iterator is past the end");
1640
- return NULL;
1641
- }
1642
-
1643
- if (NpyIter_HasIndex(self->iter)) {
1644
- npy_intp ind = *NpyIter_GetIndexPtr(self->iter);
1645
- return PyInt_FromLong(ind);
1646
- }
1647
- else {
1648
- PyErr_SetString(PyExc_ValueError,
1649
- "Iterator does not have an index");
1650
- return NULL;
1651
- }
1652
- }
1653
-
1654
- static int npyiter_index_set(NewNpyArrayIterObject *self, PyObject *value)
1655
- {
1656
- if (value == NULL) {
1657
- PyErr_SetString(PyExc_AttributeError,
1658
- "Cannot delete nditer index");
1659
- return -1;
1660
- }
1661
- if (self->iter == NULL) {
1662
- PyErr_SetString(PyExc_ValueError,
1663
- "Iterator is invalid");
1664
- return -1;
1665
- }
1666
-
1667
- if (NpyIter_HasIndex(self->iter)) {
1668
- npy_intp ind;
1669
- ind = PyInt_AsLong(value);
1670
- if (ind==-1 && PyErr_Occurred()) {
1671
- return -1;
1672
- }
1673
- if (NpyIter_GotoIndex(self->iter, ind) != NPY_SUCCEED) {
1674
- return -1;
1675
- }
1676
- self->started = 0;
1677
- self->finished = 0;
1678
-
1679
- /* If there is nesting, the nested iterators should be reset */
1680
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1681
- return -1;
1682
- }
1683
-
1684
- return 0;
1685
- }
1686
- else {
1687
- PyErr_SetString(PyExc_ValueError,
1688
- "Iterator does not have an index");
1689
- return -1;
1690
- }
1691
- }
1692
-
1693
- static PyObject *npyiter_iterindex_get(NewNpyArrayIterObject *self)
1694
- {
1695
- if (self->iter == NULL || self->finished) {
1696
- PyErr_SetString(PyExc_ValueError,
1697
- "Iterator is past the end");
1698
- return NULL;
1699
- }
1700
-
1701
- return PyInt_FromLong(NpyIter_GetIterIndex(self->iter));
1702
- }
1703
-
1704
- static int npyiter_iterindex_set(NewNpyArrayIterObject *self, PyObject *value)
1705
- {
1706
- npy_intp iterindex;
1707
-
1708
- if (value == NULL) {
1709
- PyErr_SetString(PyExc_AttributeError,
1710
- "Cannot delete nditer iterindex");
1711
- return -1;
1712
- }
1713
- if (self->iter == NULL) {
1714
- PyErr_SetString(PyExc_ValueError,
1715
- "Iterator is invalid");
1716
- return -1;
1717
- }
1718
-
1719
- iterindex = PyInt_AsLong(value);
1720
- if (iterindex==-1 && PyErr_Occurred()) {
1721
- return -1;
1722
- }
1723
- if (NpyIter_GotoIterIndex(self->iter, iterindex) != NPY_SUCCEED) {
1724
- return -1;
1725
- }
1726
- self->started = 0;
1727
- self->finished = 0;
1728
-
1729
- /* If there is nesting, the nested iterators should be reset */
1730
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1731
- return -1;
1732
- }
1733
-
1734
- return 0;
1735
- }
1736
-
1737
- static PyObject *npyiter_iterrange_get(NewNpyArrayIterObject *self)
1738
- {
1739
- npy_intp istart = 0, iend = 0;
1740
- PyObject *ret;
1741
-
1742
- if (self->iter == NULL) {
1743
- PyErr_SetString(PyExc_ValueError,
1744
- "Iterator is invalid");
1745
- return NULL;
1746
- }
1747
-
1748
- NpyIter_GetIterIndexRange(self->iter, &istart, &iend);
1749
-
1750
- ret = PyTuple_New(2);
1751
- if (ret == NULL) {
1752
- return NULL;
1753
- }
1754
-
1755
- PyTuple_SET_ITEM(ret, 0, PyInt_FromLong(istart));
1756
- PyTuple_SET_ITEM(ret, 1, PyInt_FromLong(iend));
1757
-
1758
- return ret;
1759
- }
1760
-
1761
- static int npyiter_iterrange_set(NewNpyArrayIterObject *self, PyObject *value)
1762
- {
1763
- npy_intp istart = 0, iend = 0;
1764
-
1765
- if (value == NULL) {
1766
- PyErr_SetString(PyExc_AttributeError,
1767
- "Cannot delete nditer iterrange");
1768
- return -1;
1769
- }
1770
- if (self->iter == NULL) {
1771
- PyErr_SetString(PyExc_ValueError,
1772
- "Iterator is invalid");
1773
- return -1;
1774
- }
1775
-
1776
- if (!PyArg_ParseTuple(value, "nn", &istart, &iend)) {
1777
- return -1;
1778
- }
1779
-
1780
- if (NpyIter_ResetToIterIndexRange(self->iter, istart, iend, NULL)
1781
- != NPY_SUCCEED) {
1782
- return -1;
1783
- }
1784
- if (istart < iend) {
1785
- self->started = self->finished = 0;
1786
- }
1787
- else {
1788
- self->started = self->finished = 1;
1789
- }
1790
-
1791
- if (self->get_multi_index == NULL && NpyIter_HasMultiIndex(self->iter)) {
1792
- self->get_multi_index = NpyIter_GetGetMultiIndex(self->iter, NULL);
1793
- }
1794
-
1795
- /* If there is nesting, the nested iterators should be reset */
1796
- if (npyiter_resetbasepointers(self) != NPY_SUCCEED) {
1797
- return -1;
1798
- }
1799
-
1800
- return 0;
1801
- }
1802
-
1803
- static PyObject *npyiter_has_delayed_bufalloc_get(NewNpyArrayIterObject *self)
1804
- {
1805
- if (self->iter == NULL) {
1806
- PyErr_SetString(PyExc_ValueError,
1807
- "Iterator is invalid");
1808
- return NULL;
1809
- }
1810
-
1811
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
1812
- Py_RETURN_TRUE;
1813
- }
1814
- else {
1815
- Py_RETURN_FALSE;
1816
- }
1817
- }
1818
-
1819
- static PyObject *npyiter_iterationneedsapi_get(NewNpyArrayIterObject *self)
1820
- {
1821
- if (self->iter == NULL) {
1822
- PyErr_SetString(PyExc_ValueError,
1823
- "Iterator is invalid");
1824
- return NULL;
1825
- }
1826
-
1827
- if (NpyIter_IterationNeedsAPI(self->iter)) {
1828
- Py_RETURN_TRUE;
1829
- }
1830
- else {
1831
- Py_RETURN_FALSE;
1832
- }
1833
- }
1834
-
1835
- static PyObject *npyiter_has_multi_index_get(NewNpyArrayIterObject *self)
1836
- {
1837
- if (self->iter == NULL) {
1838
- PyErr_SetString(PyExc_ValueError,
1839
- "Iterator is invalid");
1840
- return NULL;
1841
- }
1842
-
1843
- if (NpyIter_HasMultiIndex(self->iter)) {
1844
- Py_RETURN_TRUE;
1845
- }
1846
- else {
1847
- Py_RETURN_FALSE;
1848
- }
1849
- }
1850
-
1851
- static PyObject *npyiter_has_index_get(NewNpyArrayIterObject *self)
1852
- {
1853
- if (self->iter == NULL) {
1854
- PyErr_SetString(PyExc_ValueError,
1855
- "Iterator is invalid");
1856
- return NULL;
1857
- }
1858
-
1859
- if (NpyIter_HasIndex(self->iter)) {
1860
- Py_RETURN_TRUE;
1861
- }
1862
- else {
1863
- Py_RETURN_FALSE;
1864
- }
1865
- }
1866
-
1867
- static PyObject *npyiter_dtypes_get(NewNpyArrayIterObject *self)
1868
- {
1869
- PyObject *ret;
1870
-
1871
- npy_intp iop, nop;
1872
- PyArray_Descr **dtypes;
1873
-
1874
- if (self->iter == NULL) {
1875
- PyErr_SetString(PyExc_ValueError,
1876
- "Iterator is invalid");
1877
- return NULL;
1878
- }
1879
-
1880
- nop = NpyIter_GetNOp(self->iter);
1881
-
1882
- ret = PyTuple_New(nop);
1883
- if (ret == NULL) {
1884
- return NULL;
1885
- }
1886
- dtypes = self->dtypes;
1887
- for (iop = 0; iop < nop; ++iop) {
1888
- PyArray_Descr *dtype = dtypes[iop];
1889
-
1890
- Py_INCREF(dtype);
1891
- PyTuple_SET_ITEM(ret, iop, (PyObject *)dtype);
1892
- }
1893
-
1894
- return ret;
1895
- }
1896
-
1897
- static PyObject *npyiter_ndim_get(NewNpyArrayIterObject *self)
1898
- {
1899
- if (self->iter == NULL) {
1900
- PyErr_SetString(PyExc_ValueError,
1901
- "Iterator is invalid");
1902
- return NULL;
1903
- }
1904
-
1905
- return PyInt_FromLong(NpyIter_GetNDim(self->iter));
1906
- }
1907
-
1908
- static PyObject *npyiter_nop_get(NewNpyArrayIterObject *self)
1909
- {
1910
- if (self->iter == NULL) {
1911
- PyErr_SetString(PyExc_ValueError,
1912
- "Iterator is invalid");
1913
- return NULL;
1914
- }
1915
-
1916
- return PyInt_FromLong(NpyIter_GetNOp(self->iter));
1917
- }
1918
-
1919
- static PyObject *npyiter_itersize_get(NewNpyArrayIterObject *self)
1920
- {
1921
- if (self->iter == NULL) {
1922
- PyErr_SetString(PyExc_ValueError,
1923
- "Iterator is invalid");
1924
- return NULL;
1925
- }
1926
-
1927
- return PyInt_FromLong(NpyIter_GetIterSize(self->iter));
1928
- }
1929
-
1930
- static PyObject *npyiter_finished_get(NewNpyArrayIterObject *self)
1931
- {
1932
- if (self->iter == NULL || !self->finished) {
1933
- Py_RETURN_FALSE;
1934
- }
1935
- else {
1936
- Py_RETURN_TRUE;
1937
- }
1938
- }
1939
-
1940
- NPY_NO_EXPORT Py_ssize_t
1941
- npyiter_seq_length(NewNpyArrayIterObject *self)
1942
- {
1943
- if (self->iter == NULL) {
1944
- return 0;
1945
- }
1946
- else {
1947
- return NpyIter_GetNOp(self->iter);
1948
- }
1949
- }
1950
-
1951
- NPY_NO_EXPORT PyObject *
1952
- npyiter_seq_item(NewNpyArrayIterObject *self, Py_ssize_t i)
1953
- {
1954
- PyArrayObject *ret;
1955
-
1956
- npy_intp ret_ndim;
1957
- npy_intp nop, innerloopsize, innerstride;
1958
- char *dataptr;
1959
- PyArray_Descr *dtype;
1960
- int has_external_loop;
1961
- Py_ssize_t i_orig = i;
1962
-
1963
- if (self->iter == NULL || self->finished) {
1964
- PyErr_SetString(PyExc_ValueError,
1965
- "Iterator is past the end");
1966
- return NULL;
1967
- }
1968
-
1969
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
1970
- PyErr_SetString(PyExc_ValueError,
1971
- "Iterator construction used delayed buffer allocation, "
1972
- "and no reset has been done yet");
1973
- return NULL;
1974
- }
1975
-
1976
- nop = NpyIter_GetNOp(self->iter);
1977
-
1978
- /* Negative indexing */
1979
- if (i < 0) {
1980
- i += nop;
1981
- }
1982
-
1983
- if (i < 0 || i >= nop) {
1984
- PyErr_Format(PyExc_IndexError,
1985
- "Iterator operand index %d is out of bounds", (int)i_orig);
1986
- return NULL;
1987
- }
1988
-
1989
- #if 0
1990
- /*
1991
- * This check is disabled because it prevents things like
1992
- * np.add(it[0], it[1], it[2]), where it[2] is a write-only
1993
- * parameter. When write-only, the value of it[i] is
1994
- * likely random junk, as if it were allocated with an
1995
- * np.empty(...) call.
1996
- */
1997
- if (!self->readflags[i]) {
1998
- PyErr_Format(PyExc_RuntimeError,
1999
- "Iterator operand %d is write-only", (int)i);
2000
- return NULL;
2001
- }
2002
- #endif
2003
-
2004
- dataptr = self->dataptrs[i];
2005
- dtype = self->dtypes[i];
2006
- has_external_loop = NpyIter_HasExternalLoop(self->iter);
2007
-
2008
- if (has_external_loop) {
2009
- innerloopsize = *self->innerloopsizeptr;
2010
- innerstride = self->innerstrides[i];
2011
- ret_ndim = 1;
2012
- }
2013
- else {
2014
- innerloopsize = 1;
2015
- innerstride = 0;
2016
- /* If the iterator is going over every element, return array scalars */
2017
- ret_ndim = 0;
2018
- }
2019
-
2020
- Py_INCREF(dtype);
2021
- ret = (PyArrayObject *)PyArray_NewFromDescr(&PyArray_Type, dtype,
2022
- ret_ndim, &innerloopsize,
2023
- &innerstride, dataptr,
2024
- self->writeflags[i] ? NPY_ARRAY_WRITEABLE : 0, NULL);
2025
- if (ret == NULL) {
2026
- return NULL;
2027
- }
2028
- Py_INCREF(self);
2029
- if (PyArray_SetBaseObject(ret, (PyObject *)self) < 0) {
2030
- Py_XDECREF(ret);
2031
- return NULL;
2032
- }
2033
-
2034
- PyArray_UpdateFlags(ret, NPY_ARRAY_UPDATE_ALL);
2035
-
2036
- return (PyObject *)ret;
2037
- }
2038
-
2039
- NPY_NO_EXPORT PyObject *
2040
- npyiter_seq_slice(NewNpyArrayIterObject *self,
2041
- Py_ssize_t ilow, Py_ssize_t ihigh)
2042
- {
2043
- PyObject *ret;
2044
- npy_intp nop;
2045
- Py_ssize_t i;
2046
-
2047
- if (self->iter == NULL || self->finished) {
2048
- PyErr_SetString(PyExc_ValueError,
2049
- "Iterator is past the end");
2050
- return NULL;
2051
- }
2052
-
2053
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
2054
- PyErr_SetString(PyExc_ValueError,
2055
- "Iterator construction used delayed buffer allocation, "
2056
- "and no reset has been done yet");
2057
- return NULL;
2058
- }
2059
-
2060
- nop = NpyIter_GetNOp(self->iter);
2061
- if (ilow < 0) {
2062
- ilow = 0;
2063
- }
2064
- else if (ilow >= nop) {
2065
- ilow = nop-1;
2066
- }
2067
- if (ihigh < ilow) {
2068
- ihigh = ilow;
2069
- }
2070
- else if (ihigh > nop) {
2071
- ihigh = nop;
2072
- }
2073
-
2074
- ret = PyTuple_New(ihigh-ilow);
2075
- if (ret == NULL) {
2076
- return NULL;
2077
- }
2078
- for (i = ilow; i < ihigh ; ++i) {
2079
- PyObject *item = npyiter_seq_item(self, i);
2080
- if (item == NULL) {
2081
- Py_DECREF(ret);
2082
- return NULL;
2083
- }
2084
- PyTuple_SET_ITEM(ret, i-ilow, item);
2085
- }
2086
- return ret;
2087
- }
2088
-
2089
- NPY_NO_EXPORT int
2090
- npyiter_seq_ass_item(NewNpyArrayIterObject *self, Py_ssize_t i, PyObject *v)
2091
- {
2092
-
2093
- npy_intp nop, innerloopsize, innerstride;
2094
- char *dataptr;
2095
- PyArray_Descr *dtype;
2096
- PyArrayObject *tmp;
2097
- int ret, has_external_loop;
2098
- Py_ssize_t i_orig = i;
2099
-
2100
-
2101
- if (v == NULL) {
2102
- PyErr_SetString(PyExc_TypeError,
2103
- "Cannot delete iterator elements");
2104
- return -1;
2105
- }
2106
-
2107
- if (self->iter == NULL || self->finished) {
2108
- PyErr_SetString(PyExc_ValueError,
2109
- "Iterator is past the end");
2110
- return -1;
2111
- }
2112
-
2113
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
2114
- PyErr_SetString(PyExc_ValueError,
2115
- "Iterator construction used delayed buffer allocation, "
2116
- "and no reset has been done yet");
2117
- return -1;
2118
- }
2119
-
2120
- nop = NpyIter_GetNOp(self->iter);
2121
-
2122
- /* Negative indexing */
2123
- if (i < 0) {
2124
- i += nop;
2125
- }
2126
-
2127
- if (i < 0 || i >= nop) {
2128
- PyErr_Format(PyExc_IndexError,
2129
- "Iterator operand index %d is out of bounds", (int)i_orig);
2130
- return -1;
2131
- }
2132
- if (!self->writeflags[i]) {
2133
- PyErr_Format(PyExc_RuntimeError,
2134
- "Iterator operand %d is not writeable", (int)i_orig);
2135
- return -1;
2136
- }
2137
-
2138
- dataptr = self->dataptrs[i];
2139
- dtype = self->dtypes[i];
2140
- has_external_loop = NpyIter_HasExternalLoop(self->iter);
2141
-
2142
- if (has_external_loop) {
2143
- innerloopsize = *self->innerloopsizeptr;
2144
- innerstride = self->innerstrides[i];
2145
- }
2146
- else {
2147
- innerloopsize = 1;
2148
- innerstride = 0;
2149
- }
2150
-
2151
- /* TODO - there should be a better way than this... */
2152
- Py_INCREF(dtype);
2153
- tmp = (PyArrayObject *)PyArray_NewFromDescr(&PyArray_Type, dtype,
2154
- 1, &innerloopsize,
2155
- &innerstride, dataptr,
2156
- NPY_ARRAY_WRITEABLE, NULL);
2157
- if (tmp == NULL) {
2158
- return -1;
2159
- }
2160
-
2161
- PyArray_UpdateFlags(tmp, NPY_ARRAY_UPDATE_ALL);
2162
-
2163
- ret = PyArray_CopyObject(tmp, v);
2164
- Py_DECREF(tmp);
2165
- return ret;
2166
- }
2167
-
2168
- static int
2169
- npyiter_seq_ass_slice(NewNpyArrayIterObject *self, Py_ssize_t ilow,
2170
- Py_ssize_t ihigh, PyObject *v)
2171
- {
2172
- npy_intp nop;
2173
- Py_ssize_t i;
2174
-
2175
- if (v == NULL) {
2176
- PyErr_SetString(PyExc_TypeError,
2177
- "Cannot delete iterator elements");
2178
- return -1;
2179
- }
2180
-
2181
- if (self->iter == NULL || self->finished) {
2182
- PyErr_SetString(PyExc_ValueError,
2183
- "Iterator is past the end");
2184
- return -1;
2185
- }
2186
-
2187
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
2188
- PyErr_SetString(PyExc_ValueError,
2189
- "Iterator construction used delayed buffer allocation, "
2190
- "and no reset has been done yet");
2191
- return -1;
2192
- }
2193
-
2194
- nop = NpyIter_GetNOp(self->iter);
2195
- if (ilow < 0) {
2196
- ilow = 0;
2197
- }
2198
- else if (ilow >= nop) {
2199
- ilow = nop-1;
2200
- }
2201
- if (ihigh < ilow) {
2202
- ihigh = ilow;
2203
- }
2204
- else if (ihigh > nop) {
2205
- ihigh = nop;
2206
- }
2207
-
2208
- if (!PySequence_Check(v) || PySequence_Size(v) != ihigh-ilow) {
2209
- PyErr_SetString(PyExc_ValueError,
2210
- "Wrong size to assign to iterator slice");
2211
- return -1;
2212
- }
2213
-
2214
- for (i = ilow; i < ihigh ; ++i) {
2215
- PyObject *item = PySequence_GetItem(v, i-ilow);
2216
- if (item == NULL) {
2217
- return -1;
2218
- }
2219
- if (npyiter_seq_ass_item(self, i, item) < 0) {
2220
- Py_DECREF(item);
2221
- return -1;
2222
- }
2223
- Py_DECREF(item);
2224
- }
2225
-
2226
- return 0;
2227
- }
2228
-
2229
- static PyObject *
2230
- npyiter_subscript(NewNpyArrayIterObject *self, PyObject *op)
2231
- {
2232
- if (self->iter == NULL || self->finished) {
2233
- PyErr_SetString(PyExc_ValueError,
2234
- "Iterator is past the end");
2235
- return NULL;
2236
- }
2237
-
2238
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
2239
- PyErr_SetString(PyExc_ValueError,
2240
- "Iterator construction used delayed buffer allocation, "
2241
- "and no reset has been done yet");
2242
- return NULL;
2243
- }
2244
-
2245
- if (PyInt_Check(op) || PyLong_Check(op) ||
2246
- (PyIndex_Check(op) && !PySequence_Check(op))) {
2247
- npy_intp i = PyArray_PyIntAsIntp(op);
2248
- if (i == -1 && PyErr_Occurred()) {
2249
- return NULL;
2250
- }
2251
- return npyiter_seq_item(self, i);
2252
- }
2253
- else if (PySlice_Check(op)) {
2254
- Py_ssize_t istart = 0, iend = 0, istep = 0;
2255
- if (PySlice_GetIndices((PySliceObject *)op,
2256
- NpyIter_GetNOp(self->iter),
2257
- &istart, &iend, &istep) < 0) {
2258
- return NULL;
2259
- }
2260
- if (istep != 1) {
2261
- PyErr_SetString(PyExc_ValueError,
2262
- "Iterator slicing only supports a step of 1");
2263
- return NULL;
2264
- }
2265
- return npyiter_seq_slice(self, istart, iend);
2266
- }
2267
-
2268
- PyErr_SetString(PyExc_TypeError,
2269
- "invalid index type for iterator indexing");
2270
- return NULL;
2271
- }
2272
-
2273
- static int
2274
- npyiter_ass_subscript(NewNpyArrayIterObject *self, PyObject *op,
2275
- PyObject *value)
2276
- {
2277
- if (value == NULL) {
2278
- PyErr_SetString(PyExc_TypeError,
2279
- "Cannot delete iterator elements");
2280
- return -1;
2281
- }
2282
- if (self->iter == NULL || self->finished) {
2283
- PyErr_SetString(PyExc_ValueError,
2284
- "Iterator is past the end");
2285
- return -1;
2286
- }
2287
-
2288
- if (NpyIter_HasDelayedBufAlloc(self->iter)) {
2289
- PyErr_SetString(PyExc_ValueError,
2290
- "Iterator construction used delayed buffer allocation, "
2291
- "and no reset has been done yet");
2292
- return -1;
2293
- }
2294
-
2295
- if (PyInt_Check(op) || PyLong_Check(op) ||
2296
- (PyIndex_Check(op) && !PySequence_Check(op))) {
2297
- npy_intp i = PyArray_PyIntAsIntp(op);
2298
- if (i == -1 && PyErr_Occurred()) {
2299
- return -1;
2300
- }
2301
- return npyiter_seq_ass_item(self, i, value);
2302
- }
2303
- else if (PySlice_Check(op)) {
2304
- Py_ssize_t istart = 0, iend = 0, istep = 0;
2305
- if (PySlice_GetIndices((PySliceObject *)op,
2306
- NpyIter_GetNOp(self->iter),
2307
- &istart, &iend, &istep) < 0) {
2308
- return -1;
2309
- }
2310
- if (istep != 1) {
2311
- PyErr_SetString(PyExc_ValueError,
2312
- "Iterator slice assignment only supports a step of 1");
2313
- return -1;
2314
- }
2315
- return npyiter_seq_ass_slice(self, istart, iend, value);
2316
- }
2317
-
2318
- PyErr_SetString(PyExc_TypeError,
2319
- "invalid index type for iterator indexing");
2320
- return -1;
2321
- }
2322
-
2323
- static PyMethodDef npyiter_methods[] = {
2324
- {"reset",
2325
- (PyCFunction)npyiter_reset,
2326
- METH_NOARGS, NULL},
2327
- {"copy",
2328
- (PyCFunction)npyiter_copy,
2329
- METH_NOARGS, NULL},
2330
- {"__copy__",
2331
- (PyCFunction)npyiter_copy,
2332
- METH_NOARGS, NULL},
2333
- {"iternext",
2334
- (PyCFunction)npyiter_iternext,
2335
- METH_NOARGS, NULL},
2336
- {"remove_axis",
2337
- (PyCFunction)npyiter_remove_axis,
2338
- METH_VARARGS, NULL},
2339
- {"remove_multi_index",
2340
- (PyCFunction)npyiter_remove_multi_index,
2341
- METH_NOARGS, NULL},
2342
- {"enable_external_loop",
2343
- (PyCFunction)npyiter_enable_external_loop,
2344
- METH_NOARGS, NULL},
2345
- {"debug_print",
2346
- (PyCFunction)npyiter_debug_print,
2347
- METH_NOARGS, NULL},
2348
- {NULL, NULL, 0, NULL},
2349
- };
2350
-
2351
- static PyMemberDef npyiter_members[] = {
2352
- {NULL, 0, 0, 0, NULL},
2353
- };
2354
-
2355
- static PyGetSetDef npyiter_getsets[] = {
2356
- {"value",
2357
- (getter)npyiter_value_get,
2358
- NULL, NULL, NULL},
2359
- {"shape",
2360
- (getter)npyiter_shape_get,
2361
- NULL, NULL, NULL},
2362
- {"multi_index",
2363
- (getter)npyiter_multi_index_get,
2364
- (setter)npyiter_multi_index_set,
2365
- NULL, NULL},
2366
- {"index",
2367
- (getter)npyiter_index_get,
2368
- (setter)npyiter_index_set,
2369
- NULL, NULL},
2370
- {"iterindex",
2371
- (getter)npyiter_iterindex_get,
2372
- (setter)npyiter_iterindex_set,
2373
- NULL, NULL},
2374
- {"iterrange",
2375
- (getter)npyiter_iterrange_get,
2376
- (setter)npyiter_iterrange_set,
2377
- NULL, NULL},
2378
- {"operands",
2379
- (getter)npyiter_operands_get,
2380
- NULL, NULL, NULL},
2381
- {"itviews",
2382
- (getter)npyiter_itviews_get,
2383
- NULL, NULL, NULL},
2384
- {"has_delayed_bufalloc",
2385
- (getter)npyiter_has_delayed_bufalloc_get,
2386
- NULL, NULL, NULL},
2387
- {"iterationneedsapi",
2388
- (getter)npyiter_iterationneedsapi_get,
2389
- NULL, NULL, NULL},
2390
- {"has_multi_index",
2391
- (getter)npyiter_has_multi_index_get,
2392
- NULL, NULL, NULL},
2393
- {"has_index",
2394
- (getter)npyiter_has_index_get,
2395
- NULL, NULL, NULL},
2396
- {"dtypes",
2397
- (getter)npyiter_dtypes_get,
2398
- NULL, NULL, NULL},
2399
- {"ndim",
2400
- (getter)npyiter_ndim_get,
2401
- NULL, NULL, NULL},
2402
- {"nop",
2403
- (getter)npyiter_nop_get,
2404
- NULL, NULL, NULL},
2405
- {"itersize",
2406
- (getter)npyiter_itersize_get,
2407
- NULL, NULL, NULL},
2408
- {"finished",
2409
- (getter)npyiter_finished_get,
2410
- NULL, NULL, NULL},
2411
-
2412
- {NULL, NULL, NULL, NULL, NULL}
2413
- };
2414
-
2415
- NPY_NO_EXPORT PySequenceMethods npyiter_as_sequence = {
2416
- (lenfunc)npyiter_seq_length, /*sq_length*/
2417
- (binaryfunc)NULL, /*sq_concat*/
2418
- (ssizeargfunc)NULL, /*sq_repeat*/
2419
- (ssizeargfunc)npyiter_seq_item, /*sq_item*/
2420
- (ssizessizeargfunc)npyiter_seq_slice, /*sq_slice*/
2421
- (ssizeobjargproc)npyiter_seq_ass_item, /*sq_ass_item*/
2422
- (ssizessizeobjargproc)npyiter_seq_ass_slice,/*sq_ass_slice*/
2423
- (objobjproc)NULL, /*sq_contains */
2424
- (binaryfunc)NULL, /*sq_inplace_concat */
2425
- (ssizeargfunc)NULL, /*sq_inplace_repeat */
2426
- };
2427
-
2428
- NPY_NO_EXPORT PyMappingMethods npyiter_as_mapping = {
2429
- (lenfunc)npyiter_seq_length, /*mp_length*/
2430
- (binaryfunc)npyiter_subscript, /*mp_subscript*/
2431
- (objobjargproc)npyiter_ass_subscript, /*mp_ass_subscript*/
2432
- };
2433
-
2434
- NPY_NO_EXPORT PyTypeObject NpyIter_Type = {
2435
- #if defined(NPY_PY3K)
2436
- PyVarObject_HEAD_INIT(NULL, 0)
2437
- #else
2438
- PyObject_HEAD_INIT(NULL)
2439
- 0, /* ob_size */
2440
- #endif
2441
- "numpy.nditer", /* tp_name */
2442
- sizeof(NewNpyArrayIterObject), /* tp_basicsize */
2443
- 0, /* tp_itemsize */
2444
- /* methods */
2445
- (destructor)npyiter_dealloc, /* tp_dealloc */
2446
- 0, /* tp_print */
2447
- 0, /* tp_getattr */
2448
- 0, /* tp_setattr */
2449
- #if defined(NPY_PY3K)
2450
- 0, /* tp_reserved */
2451
- #else
2452
- 0, /* tp_compare */
2453
- #endif
2454
- 0, /* tp_repr */
2455
- 0, /* tp_as_number */
2456
- &npyiter_as_sequence, /* tp_as_sequence */
2457
- &npyiter_as_mapping, /* tp_as_mapping */
2458
- 0, /* tp_hash */
2459
- 0, /* tp_call */
2460
- 0, /* tp_str */
2461
- 0, /* tp_getattro */
2462
- 0, /* tp_setattro */
2463
- 0, /* tp_as_buffer */
2464
- Py_TPFLAGS_DEFAULT, /* tp_flags */
2465
- 0, /* tp_doc */
2466
- 0, /* tp_traverse */
2467
- 0, /* tp_clear */
2468
- 0, /* tp_richcompare */
2469
- 0, /* tp_weaklistoffset */
2470
- 0, /* tp_iter */
2471
- (iternextfunc)npyiter_next, /* tp_iternext */
2472
- npyiter_methods, /* tp_methods */
2473
- npyiter_members, /* tp_members */
2474
- npyiter_getsets, /* tp_getset */
2475
- 0, /* tp_base */
2476
- 0, /* tp_dict */
2477
- 0, /* tp_descr_get */
2478
- 0, /* tp_descr_set */
2479
- 0, /* tp_dictoffset */
2480
- (initproc)npyiter_init, /* tp_init */
2481
- 0, /* tp_alloc */
2482
- npyiter_new, /* tp_new */
2483
- 0, /* tp_free */
2484
- 0, /* tp_is_gc */
2485
- 0, /* tp_bases */
2486
- 0, /* tp_mro */
2487
- 0, /* tp_cache */
2488
- 0, /* tp_subclasses */
2489
- 0, /* tp_weaklist */
2490
- 0, /* tp_del */
2491
- 0, /* tp_version_tag */
2492
- };