numpy 1.9.2__zip → 1.10.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1593) hide show
  1. numpy-1.10.0.post2/INSTALL.txt +200 -0
  2. numpy-1.10.0.post2/LICENSE.txt +30 -0
  3. numpy-1.10.0.post2/MANIFEST.in +31 -0
  4. numpy-1.10.0.post2/PKG-INFO +47 -0
  5. numpy-1.10.0.post2/cnew.txt +117 -0
  6. numpy-1.10.0.post2/cold.txt +44 -0
  7. numpy-1.10.0.post2/committers.txt +160 -0
  8. numpy-1.10.0.post2/cpre.txt +283 -0
  9. numpy-1.10.0.post2/crel.txt +161 -0
  10. numpy-1.10.0.post2/doc/release/1.10.0-notes.rst +439 -0
  11. numpy-1.10.0.post2/doc/scipy-sphinx-theme/.git +1 -0
  12. numpy-1.10.0.post2/doc/source/conf.py +331 -0
  13. numpy-1.10.0.post2/doc/source/dev/development_environment.rst +211 -0
  14. numpy-1.10.0.post2/doc/source/dev/gitwash/development_workflow.rst +534 -0
  15. numpy-1.10.0.post2/doc/source/dev/gitwash/git_links.inc +95 -0
  16. numpy-1.10.0.post2/doc/source/dev/gitwash/index.rst +14 -0
  17. numpy-1.10.0.post2/doc/source/dev/index.rst +11 -0
  18. numpy-1.10.0.post2/doc/source/reference/arrays.classes.rst +490 -0
  19. numpy-1.10.0.post2/doc/source/reference/arrays.dtypes.rst +536 -0
  20. numpy-1.10.0.post2/doc/source/reference/arrays.indexing.rst +549 -0
  21. numpy-1.10.0.post2/doc/source/reference/arrays.interface.rst +337 -0
  22. numpy-1.10.0.post2/doc/source/reference/arrays.ndarray.rst +622 -0
  23. numpy-1.10.0.post2/doc/source/reference/arrays.scalars.rst +291 -0
  24. numpy-1.10.0.post2/doc/source/reference/c-api.array.rst +3393 -0
  25. numpy-1.10.0.post2/doc/source/reference/c-api.config.rst +103 -0
  26. numpy-1.10.0.post2/doc/source/reference/c-api.coremath.rst +420 -0
  27. numpy-1.10.0.post2/doc/source/reference/c-api.dtype.rst +376 -0
  28. numpy-1.10.0.post2/doc/source/reference/c-api.generalized-ufuncs.rst +191 -0
  29. numpy-1.10.0.post2/doc/source/reference/c-api.iterator.rst +1300 -0
  30. numpy-1.10.0.post2/doc/source/reference/c-api.types-and-structures.rst +1240 -0
  31. numpy-1.10.0.post2/doc/source/reference/c-api.ufunc.rst +413 -0
  32. numpy-1.10.0.post2/doc/source/reference/index.rst +43 -0
  33. numpy-1.10.0.post2/doc/source/reference/internals.code-explanations.rst +615 -0
  34. numpy-1.10.0.post2/doc/source/reference/routines.array-manipulation.rst +115 -0
  35. numpy-1.10.0.post2/doc/source/reference/routines.io.rst +78 -0
  36. numpy-1.10.0.post2/doc/source/reference/routines.linalg.rst +91 -0
  37. numpy-1.10.0.post2/doc/source/reference/routines.ma.rst +407 -0
  38. numpy-1.10.0.post2/doc/source/reference/routines.sort.rst +41 -0
  39. numpy-1.10.0.post2/doc/source/reference/routines.statistics.rst +57 -0
  40. numpy-1.10.0.post2/doc/source/reference/swig.interface-file.rst +1066 -0
  41. numpy-1.10.0.post2/doc/source/reference/swig.testing.rst +167 -0
  42. numpy-1.10.0.post2/doc/source/reference/ufuncs.rst +666 -0
  43. numpy-1.10.0.post2/doc/source/release.rst +20 -0
  44. numpy-1.10.0.post2/doc/source/user/basics.io.genfromtxt.rst +531 -0
  45. numpy-1.10.0.post2/doc/source/user/basics.rec.rst +7 -0
  46. numpy-1.10.0.post2/doc/source/user/c-info.beyond-basics.rst +560 -0
  47. numpy-1.10.0.post2/doc/source/user/c-info.how-to-extend.rst +642 -0
  48. numpy-1.10.0.post2/doc/source/user/c-info.python-as-glue.rst +1177 -0
  49. numpy-1.10.0.post2/doc/source/user/c-info.ufunc-tutorial.rst +1211 -0
  50. numpy-1.10.0.post2/doc/source/user/install.rst +194 -0
  51. numpy-1.10.0.post2/doc/sphinxext/.git +1 -0
  52. numpy-1.10.0.post2/numpy/__init__.py +227 -0
  53. numpy-1.10.0.post2/numpy/_build_utils/README +8 -0
  54. numpy-1.10.0.post2/numpy/_build_utils/apple_accelerate.py +21 -0
  55. numpy-1.10.0.post2/numpy/_build_utils/common.py +138 -0
  56. numpy-1.10.0.post2/numpy/_build_utils/src/apple_sgemv_fix.c +227 -0
  57. numpy-1.10.0.post2/numpy/_build_utils/waf.py +531 -0
  58. numpy-1.10.0.post2/numpy/_import_tools.py +353 -0
  59. numpy-1.10.0.post2/numpy/add_newdocs.py +7611 -0
  60. numpy-1.10.0.post2/numpy/compat/_inspect.py +194 -0
  61. numpy-1.10.0.post2/numpy/compat/py3k.py +88 -0
  62. numpy-1.10.0.post2/numpy/compat/setup.py +12 -0
  63. numpy-1.10.0.post2/numpy/core/__init__.py +89 -0
  64. numpy-1.10.0.post2/numpy/core/_internal.py +761 -0
  65. numpy-1.10.0.post2/numpy/core/_methods.py +133 -0
  66. numpy-1.10.0.post2/numpy/core/arrayprint.py +760 -0
  67. numpy-1.10.0.post2/numpy/core/code_generators/cversions.txt +34 -0
  68. numpy-1.10.0.post2/numpy/core/code_generators/generate_ufunc_api.py +219 -0
  69. numpy-1.10.0.post2/numpy/core/code_generators/generate_umath.py +1017 -0
  70. numpy-1.10.0.post2/numpy/core/code_generators/numpy_api.py +415 -0
  71. numpy-1.10.0.post2/numpy/core/code_generators/ufunc_docstrings.py +3442 -0
  72. numpy-1.10.0.post2/numpy/core/defchararray.py +2689 -0
  73. numpy-1.10.0.post2/numpy/core/fromnumeric.py +3089 -0
  74. numpy-1.10.0.post2/numpy/core/function_base.py +203 -0
  75. numpy-1.10.0.post2/numpy/core/getlimits.py +308 -0
  76. numpy-1.10.0.post2/numpy/core/include/numpy/ndarrayobject.h +246 -0
  77. numpy-1.10.0.post2/numpy/core/include/numpy/ndarraytypes.h +1797 -0
  78. numpy-1.10.0.post2/numpy/core/include/numpy/npy_3kcompat.h +448 -0
  79. numpy-1.10.0.post2/numpy/core/include/numpy/npy_common.h +1051 -0
  80. numpy-1.10.0.post2/numpy/core/include/numpy/npy_cpu.h +92 -0
  81. numpy-1.10.0.post2/numpy/core/include/numpy/npy_endian.h +61 -0
  82. numpy-1.10.0.post2/numpy/core/include/numpy/npy_math.h +525 -0
  83. numpy-1.10.0.post2/numpy/core/include/numpy/numpyconfig.h +36 -0
  84. numpy-1.10.0.post2/numpy/core/machar.py +342 -0
  85. numpy-1.10.0.post2/numpy/core/memmap.py +311 -0
  86. numpy-1.10.0.post2/numpy/core/numeric.py +2893 -0
  87. numpy-1.10.0.post2/numpy/core/numerictypes.py +1036 -0
  88. numpy-1.10.0.post2/numpy/core/records.py +846 -0
  89. numpy-1.10.0.post2/numpy/core/setup.py +983 -0
  90. numpy-1.10.0.post2/numpy/core/setup_common.py +352 -0
  91. numpy-1.10.0.post2/numpy/core/shape_base.py +350 -0
  92. numpy-1.10.0.post2/numpy/core/src/multiarray/alloc.c +244 -0
  93. numpy-1.10.0.post2/numpy/core/src/multiarray/arrayobject.c +1858 -0
  94. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.c.src +4738 -0
  95. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.h +37 -0
  96. numpy-1.10.0.post2/numpy/core/src/multiarray/buffer.c +981 -0
  97. numpy-1.10.0.post2/numpy/core/src/multiarray/calculation.c +1224 -0
  98. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.c +812 -0
  99. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.h +10 -0
  100. numpy-1.10.0.post2/numpy/core/src/multiarray/common.c +911 -0
  101. numpy-1.10.0.post2/numpy/core/src/multiarray/common.h +250 -0
  102. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.c +1664 -0
  103. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.h +24 -0
  104. numpy-1.10.0.post2/numpy/core/src/multiarray/conversion_utils.c +1217 -0
  105. numpy-1.10.0.post2/numpy/core/src/multiarray/convert.c +590 -0
  106. numpy-1.10.0.post2/numpy/core/src/multiarray/convert_datatype.c +2155 -0
  107. numpy-1.10.0.post2/numpy/core/src/multiarray/ctors.c +3838 -0
  108. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime.c +3821 -0
  109. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busday.c +1322 -0
  110. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busdaycal.c +552 -0
  111. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_strings.c +1772 -0
  112. numpy-1.10.0.post2/numpy/core/src/multiarray/descriptor.c +3719 -0
  113. numpy-1.10.0.post2/numpy/core/src/multiarray/dtype_transfer.c +4239 -0
  114. numpy-1.10.0.post2/numpy/core/src/multiarray/einsum.c.src +3005 -0
  115. numpy-1.10.0.post2/numpy/core/src/multiarray/getset.c +986 -0
  116. numpy-1.10.0.post2/numpy/core/src/multiarray/hashdescr.c +318 -0
  117. numpy-1.10.0.post2/numpy/core/src/multiarray/item_selection.c +2413 -0
  118. numpy-1.10.0.post2/numpy/core/src/multiarray/iterators.c +2192 -0
  119. numpy-1.10.0.post2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +1769 -0
  120. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.c +3380 -0
  121. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.h +77 -0
  122. numpy-1.10.0.post2/numpy/core/src/multiarray/methods.c +2514 -0
  123. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarray_tests.c.src +1035 -0
  124. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.c +4628 -0
  125. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.h +15 -0
  126. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_api.c +2809 -0
  127. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_constr.c +3160 -0
  128. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_pywrap.c +2499 -0
  129. numpy-1.10.0.post2/numpy/core/src/multiarray/number.c +1106 -0
  130. numpy-1.10.0.post2/numpy/core/src/multiarray/number.h +77 -0
  131. numpy-1.10.0.post2/numpy/core/src/multiarray/numpymemoryview.c +308 -0
  132. numpy-1.10.0.post2/numpy/core/src/multiarray/numpyos.c +683 -0
  133. numpy-1.10.0.post2/numpy/core/src/multiarray/scalarapi.c +870 -0
  134. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.c.src +4343 -0
  135. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.h +55 -0
  136. numpy-1.10.0.post2/numpy/core/src/multiarray/shape.c +1131 -0
  137. numpy-1.10.0.post2/numpy/core/src/multiarray/ucsnarrow.c +174 -0
  138. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.c +180 -0
  139. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.h +18 -0
  140. numpy-1.10.0.post2/numpy/core/src/npymath/ieee754.c.src +808 -0
  141. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math.c.src +597 -0
  142. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_complex.c.src +1788 -0
  143. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_private.h +544 -0
  144. numpy-1.10.0.post2/numpy/core/src/npysort/heapsort.c.src +402 -0
  145. numpy-1.10.0.post2/numpy/core/src/npysort/mergesort.c.src +488 -0
  146. numpy-1.10.0.post2/numpy/core/src/npysort/npysort_common.h +360 -0
  147. numpy-1.10.0.post2/numpy/core/src/npysort/quicksort.c.src +523 -0
  148. numpy-1.10.0.post2/numpy/core/src/npysort/selection.c.src +426 -0
  149. numpy-1.10.0.post2/numpy/core/src/private/npy_cblas.h +584 -0
  150. numpy-1.10.0.post2/numpy/core/src/private/npy_config.h +101 -0
  151. numpy-1.10.0.post2/numpy/core/src/private/npy_import.h +32 -0
  152. numpy-1.10.0.post2/numpy/core/src/private/npy_partition.h.src +122 -0
  153. numpy-1.10.0.post2/numpy/core/src/private/npy_sort.h +196 -0
  154. numpy-1.10.0.post2/numpy/core/src/private/templ_common.h.src +43 -0
  155. numpy-1.10.0.post2/numpy/core/src/private/ufunc_override.h +397 -0
  156. numpy-1.10.0.post2/numpy/core/src/umath/funcs.inc.src +356 -0
  157. numpy-1.10.0.post2/numpy/core/src/umath/loops.c.src +2675 -0
  158. numpy-1.10.0.post2/numpy/core/src/umath/loops.h.src +497 -0
  159. numpy-1.10.0.post2/numpy/core/src/umath/operand_flag_tests.c.src +105 -0
  160. numpy-1.10.0.post2/numpy/core/src/umath/scalarmath.c.src +1738 -0
  161. numpy-1.10.0.post2/numpy/core/src/umath/simd.inc.src +903 -0
  162. numpy-1.10.0.post2/numpy/core/src/umath/test_rational.c.src +1404 -0
  163. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_object.c +5703 -0
  164. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_type_resolution.c +2159 -0
  165. numpy-1.10.0.post2/numpy/core/src/umath/umath_tests.c.src +392 -0
  166. numpy-1.10.0.post2/numpy/core/src/umath/umathmodule.c +443 -0
  167. numpy-1.10.0.post2/numpy/core/tests/test_abc.py +47 -0
  168. numpy-1.10.0.post2/numpy/core/tests/test_api.py +515 -0
  169. numpy-1.10.0.post2/numpy/core/tests/test_arrayprint.py +171 -0
  170. numpy-1.10.0.post2/numpy/core/tests/test_datetime.py +1820 -0
  171. numpy-1.10.0.post2/numpy/core/tests/test_defchararray.py +703 -0
  172. numpy-1.10.0.post2/numpy/core/tests/test_deprecations.py +619 -0
  173. numpy-1.10.0.post2/numpy/core/tests/test_dtype.py +578 -0
  174. numpy-1.10.0.post2/numpy/core/tests/test_einsum.py +627 -0
  175. numpy-1.10.0.post2/numpy/core/tests/test_errstate.py +52 -0
  176. numpy-1.10.0.post2/numpy/core/tests/test_function_base.py +142 -0
  177. numpy-1.10.0.post2/numpy/core/tests/test_getlimits.py +77 -0
  178. numpy-1.10.0.post2/numpy/core/tests/test_half.py +436 -0
  179. numpy-1.10.0.post2/numpy/core/tests/test_indexerrors.py +126 -0
  180. numpy-1.10.0.post2/numpy/core/tests/test_indexing.py +1047 -0
  181. numpy-1.10.0.post2/numpy/core/tests/test_item_selection.py +73 -0
  182. numpy-1.10.0.post2/numpy/core/tests/test_machar.py +29 -0
  183. numpy-1.10.0.post2/numpy/core/tests/test_memmap.py +130 -0
  184. numpy-1.10.0.post2/numpy/core/tests/test_multiarray.py +5924 -0
  185. numpy-1.10.0.post2/numpy/core/tests/test_multiarray_assignment.py +84 -0
  186. numpy-1.10.0.post2/numpy/core/tests/test_nditer.py +2638 -0
  187. numpy-1.10.0.post2/numpy/core/tests/test_numeric.py +2204 -0
  188. numpy-1.10.0.post2/numpy/core/tests/test_numerictypes.py +382 -0
  189. numpy-1.10.0.post2/numpy/core/tests/test_print.py +248 -0
  190. numpy-1.10.0.post2/numpy/core/tests/test_records.py +299 -0
  191. numpy-1.10.0.post2/numpy/core/tests/test_regression.py +2177 -0
  192. numpy-1.10.0.post2/numpy/core/tests/test_scalarinherit.py +41 -0
  193. numpy-1.10.0.post2/numpy/core/tests/test_scalarmath.py +316 -0
  194. numpy-1.10.0.post2/numpy/core/tests/test_shape_base.py +319 -0
  195. numpy-1.10.0.post2/numpy/core/tests/test_ufunc.py +1227 -0
  196. numpy-1.10.0.post2/numpy/core/tests/test_umath.py +1933 -0
  197. numpy-1.10.0.post2/numpy/core/tests/test_umath_complex.py +538 -0
  198. numpy-1.10.0.post2/numpy/core/tests/test_unicode.py +360 -0
  199. numpy-1.10.0.post2/numpy/distutils/__init__.py +23 -0
  200. numpy-1.10.0.post2/numpy/distutils/ccompiler.py +690 -0
  201. numpy-1.10.0.post2/numpy/distutils/command/autodist.py +94 -0
  202. numpy-1.10.0.post2/numpy/distutils/command/build.py +47 -0
  203. numpy-1.10.0.post2/numpy/distutils/command/build_clib.py +295 -0
  204. numpy-1.10.0.post2/numpy/distutils/command/build_ext.py +522 -0
  205. numpy-1.10.0.post2/numpy/distutils/command/config.py +437 -0
  206. numpy-1.10.0.post2/numpy/distutils/exec_command.py +651 -0
  207. numpy-1.10.0.post2/numpy/distutils/fcompiler/compaq.py +128 -0
  208. numpy-1.10.0.post2/numpy/distutils/fcompiler/gnu.py +403 -0
  209. numpy-1.10.0.post2/numpy/distutils/fcompiler/intel.py +217 -0
  210. numpy-1.10.0.post2/numpy/distutils/fcompiler/pg.py +63 -0
  211. numpy-1.10.0.post2/numpy/distutils/fcompiler/sun.py +55 -0
  212. numpy-1.10.0.post2/numpy/distutils/intelccompiler.py +95 -0
  213. numpy-1.10.0.post2/numpy/distutils/lib2def.py +116 -0
  214. numpy-1.10.0.post2/numpy/distutils/mingw32ccompiler.py +599 -0
  215. numpy-1.10.0.post2/numpy/distutils/misc_util.py +2306 -0
  216. numpy-1.10.0.post2/numpy/distutils/msvc9compiler.py +23 -0
  217. numpy-1.10.0.post2/numpy/distutils/msvccompiler.py +17 -0
  218. numpy-1.10.0.post2/numpy/distutils/npy_pkg_config.py +451 -0
  219. numpy-1.10.0.post2/numpy/distutils/system_info.py +2397 -0
  220. numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +12 -0
  221. numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +11 -0
  222. numpy-1.10.0.post2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +11 -0
  223. numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +13 -0
  224. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/__init__.py +1 -0
  225. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example.py +17 -0
  226. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example2.py +15 -0
  227. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_gnu.py +60 -0
  228. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_intel.py +36 -0
  229. numpy-1.10.0.post2/numpy/distutils/tests/test_misc_util.py +79 -0
  230. numpy-1.10.0.post2/numpy/distutils/tests/test_npy_pkg_config.py +102 -0
  231. numpy-1.10.0.post2/numpy/distutils/tests/test_system_info.py +209 -0
  232. numpy-1.10.0.post2/numpy/distutils/unixccompiler.py +125 -0
  233. numpy-1.10.0.post2/numpy/doc/byteswapping.py +156 -0
  234. numpy-1.10.0.post2/numpy/doc/creation.py +144 -0
  235. numpy-1.10.0.post2/numpy/doc/glossary.py +423 -0
  236. numpy-1.10.0.post2/numpy/doc/indexing.py +439 -0
  237. numpy-1.10.0.post2/numpy/doc/structured_arrays.py +290 -0
  238. numpy-1.10.0.post2/numpy/f2py/__init__.py +49 -0
  239. numpy-1.10.0.post2/numpy/f2py/__main__.py +25 -0
  240. numpy-1.10.0.post2/numpy/f2py/auxfuncs.py +858 -0
  241. numpy-1.10.0.post2/numpy/f2py/capi_maps.py +851 -0
  242. numpy-1.10.0.post2/numpy/f2py/cb_rules.py +554 -0
  243. numpy-1.10.0.post2/numpy/f2py/cfuncs.py +1261 -0
  244. numpy-1.10.0.post2/numpy/f2py/common_rules.py +150 -0
  245. numpy-1.10.0.post2/numpy/f2py/crackfortran.py +3314 -0
  246. numpy-1.10.0.post2/numpy/f2py/diagnose.py +156 -0
  247. numpy-1.10.0.post2/numpy/f2py/f2py2e.py +656 -0
  248. numpy-1.10.0.post2/numpy/f2py/f2py_testing.py +48 -0
  249. numpy-1.10.0.post2/numpy/f2py/f90mod_rules.py +272 -0
  250. numpy-1.10.0.post2/numpy/f2py/func2subr.py +299 -0
  251. numpy-1.10.0.post2/numpy/f2py/rules.py +1475 -0
  252. numpy-1.10.0.post2/numpy/f2py/setup.py +117 -0
  253. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.c +1037 -0
  254. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.h +162 -0
  255. numpy-1.10.0.post2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +223 -0
  256. numpy-1.10.0.post2/numpy/f2py/tests/test_array_from_pyobj.py +593 -0
  257. numpy-1.10.0.post2/numpy/f2py/tests/test_assumed_shape.py +35 -0
  258. numpy-1.10.0.post2/numpy/f2py/tests/test_callback.py +136 -0
  259. numpy-1.10.0.post2/numpy/f2py/tests/test_kind.py +36 -0
  260. numpy-1.10.0.post2/numpy/f2py/tests/test_mixed.py +40 -0
  261. numpy-1.10.0.post2/numpy/f2py/tests/test_regression.py +34 -0
  262. numpy-1.10.0.post2/numpy/f2py/tests/test_return_character.py +148 -0
  263. numpy-1.10.0.post2/numpy/f2py/tests/test_return_complex.py +170 -0
  264. numpy-1.10.0.post2/numpy/f2py/tests/test_return_integer.py +180 -0
  265. numpy-1.10.0.post2/numpy/f2py/tests/test_return_logical.py +189 -0
  266. numpy-1.10.0.post2/numpy/f2py/tests/test_return_real.py +206 -0
  267. numpy-1.10.0.post2/numpy/f2py/tests/test_size.py +44 -0
  268. numpy-1.10.0.post2/numpy/f2py/tests/util.py +367 -0
  269. numpy-1.10.0.post2/numpy/f2py/use_rules.py +115 -0
  270. numpy-1.10.0.post2/numpy/fft/fftpack.c +1501 -0
  271. numpy-1.10.0.post2/numpy/fft/fftpack.h +28 -0
  272. numpy-1.10.0.post2/numpy/fft/fftpack.py +1241 -0
  273. numpy-1.10.0.post2/numpy/fft/fftpack_litemodule.c +363 -0
  274. numpy-1.10.0.post2/numpy/fft/info.py +187 -0
  275. numpy-1.10.0.post2/numpy/fft/setup.py +19 -0
  276. numpy-1.10.0.post2/numpy/fft/tests/test_fftpack.py +166 -0
  277. numpy-1.10.0.post2/numpy/fft/tests/test_helper.py +78 -0
  278. numpy-1.10.0.post2/numpy/lib/_iotools.py +917 -0
  279. numpy-1.10.0.post2/numpy/lib/arraypad.py +1497 -0
  280. numpy-1.10.0.post2/numpy/lib/arraysetops.py +480 -0
  281. numpy-1.10.0.post2/numpy/lib/arrayterator.py +226 -0
  282. numpy-1.10.0.post2/numpy/lib/financial.py +737 -0
  283. numpy-1.10.0.post2/numpy/lib/format.py +814 -0
  284. numpy-1.10.0.post2/numpy/lib/function_base.py +4150 -0
  285. numpy-1.10.0.post2/numpy/lib/index_tricks.py +874 -0
  286. numpy-1.10.0.post2/numpy/lib/info.py +152 -0
  287. numpy-1.10.0.post2/numpy/lib/nanfunctions.py +1237 -0
  288. numpy-1.10.0.post2/numpy/lib/npyio.py +1992 -0
  289. numpy-1.10.0.post2/numpy/lib/polynomial.py +1277 -0
  290. numpy-1.10.0.post2/numpy/lib/recfunctions.py +1003 -0
  291. numpy-1.10.0.post2/numpy/lib/setup.py +12 -0
  292. numpy-1.10.0.post2/numpy/lib/shape_base.py +872 -0
  293. numpy-1.10.0.post2/numpy/lib/stride_tricks.py +200 -0
  294. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npy +0 -0
  295. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npz +0 -0
  296. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npy +0 -0
  297. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npz +0 -0
  298. numpy-1.10.0.post2/numpy/lib/tests/test__iotools.py +348 -0
  299. numpy-1.10.0.post2/numpy/lib/tests/test__version.py +70 -0
  300. numpy-1.10.0.post2/numpy/lib/tests/test_arraypad.py +1047 -0
  301. numpy-1.10.0.post2/numpy/lib/tests/test_arraysetops.py +309 -0
  302. numpy-1.10.0.post2/numpy/lib/tests/test_financial.py +163 -0
  303. numpy-1.10.0.post2/numpy/lib/tests/test_format.py +841 -0
  304. numpy-1.10.0.post2/numpy/lib/tests/test_function_base.py +2555 -0
  305. numpy-1.10.0.post2/numpy/lib/tests/test_index_tricks.py +326 -0
  306. numpy-1.10.0.post2/numpy/lib/tests/test_io.py +1916 -0
  307. numpy-1.10.0.post2/numpy/lib/tests/test_nanfunctions.py +707 -0
  308. numpy-1.10.0.post2/numpy/lib/tests/test_packbits.py +26 -0
  309. numpy-1.10.0.post2/numpy/lib/tests/test_polynomial.py +188 -0
  310. numpy-1.10.0.post2/numpy/lib/tests/test_recfunctions.py +734 -0
  311. numpy-1.10.0.post2/numpy/lib/tests/test_shape_base.py +386 -0
  312. numpy-1.10.0.post2/numpy/lib/tests/test_stride_tricks.py +405 -0
  313. numpy-1.10.0.post2/numpy/lib/tests/test_twodim_base.py +535 -0
  314. numpy-1.10.0.post2/numpy/lib/tests/test_type_check.py +332 -0
  315. numpy-1.10.0.post2/numpy/lib/twodim_base.py +1007 -0
  316. numpy-1.10.0.post2/numpy/lib/type_check.py +596 -0
  317. numpy-1.10.0.post2/numpy/lib/utils.py +1122 -0
  318. numpy-1.10.0.post2/numpy/linalg/lapack_lite/python_xerbla.c +46 -0
  319. numpy-1.10.0.post2/numpy/linalg/lapack_litemodule.c +358 -0
  320. numpy-1.10.0.post2/numpy/linalg/linalg.py +2406 -0
  321. numpy-1.10.0.post2/numpy/linalg/tests/test_build.py +59 -0
  322. numpy-1.10.0.post2/numpy/linalg/tests/test_linalg.py +1351 -0
  323. numpy-1.10.0.post2/numpy/linalg/tests/test_regression.py +95 -0
  324. numpy-1.10.0.post2/numpy/linalg/umath_linalg.c.src +3236 -0
  325. numpy-1.10.0.post2/numpy/ma/__init__.py +56 -0
  326. numpy-1.10.0.post2/numpy/ma/bench.py +131 -0
  327. numpy-1.10.0.post2/numpy/ma/core.py +7608 -0
  328. numpy-1.10.0.post2/numpy/ma/extras.py +1953 -0
  329. numpy-1.10.0.post2/numpy/ma/mrecords.py +796 -0
  330. numpy-1.10.0.post2/numpy/ma/setup.py +13 -0
  331. numpy-1.10.0.post2/numpy/ma/tests/test_core.py +4100 -0
  332. numpy-1.10.0.post2/numpy/ma/tests/test_extras.py +1132 -0
  333. numpy-1.10.0.post2/numpy/ma/tests/test_mrecords.py +520 -0
  334. numpy-1.10.0.post2/numpy/ma/tests/test_old_ma.py +879 -0
  335. numpy-1.10.0.post2/numpy/ma/tests/test_regression.py +80 -0
  336. numpy-1.10.0.post2/numpy/ma/tests/test_subclassing.py +338 -0
  337. numpy-1.10.0.post2/numpy/ma/testutils.py +289 -0
  338. numpy-1.10.0.post2/numpy/ma/timer_comparison.py +440 -0
  339. numpy-1.10.0.post2/numpy/matlib.py +358 -0
  340. numpy-1.10.0.post2/numpy/matrixlib/defmatrix.py +1232 -0
  341. numpy-1.10.0.post2/numpy/matrixlib/tests/test_defmatrix.py +449 -0
  342. numpy-1.10.0.post2/numpy/matrixlib/tests/test_multiarray.py +23 -0
  343. numpy-1.10.0.post2/numpy/matrixlib/tests/test_numeric.py +23 -0
  344. numpy-1.10.0.post2/numpy/matrixlib/tests/test_regression.py +37 -0
  345. numpy-1.10.0.post2/numpy/polynomial/_polybase.py +962 -0
  346. numpy-1.10.0.post2/numpy/polynomial/chebyshev.py +2056 -0
  347. numpy-1.10.0.post2/numpy/polynomial/hermite.py +1831 -0
  348. numpy-1.10.0.post2/numpy/polynomial/hermite_e.py +1828 -0
  349. numpy-1.10.0.post2/numpy/polynomial/laguerre.py +1780 -0
  350. numpy-1.10.0.post2/numpy/polynomial/legendre.py +1808 -0
  351. numpy-1.10.0.post2/numpy/polynomial/polyutils.py +403 -0
  352. numpy-1.10.0.post2/numpy/random/mtrand/distributions.c +912 -0
  353. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.c +34805 -0
  354. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.pyx +4766 -0
  355. numpy-1.10.0.post2/numpy/random/setup.py +61 -0
  356. numpy-1.10.0.post2/numpy/random/tests/test_random.py +723 -0
  357. numpy-1.10.0.post2/numpy/random/tests/test_regression.py +117 -0
  358. numpy-1.10.0.post2/numpy/setup.py +29 -0
  359. numpy-1.10.0.post2/numpy/testing/__init__.py +15 -0
  360. numpy-1.10.0.post2/numpy/testing/decorators.py +271 -0
  361. numpy-1.10.0.post2/numpy/testing/noseclasses.py +353 -0
  362. numpy-1.10.0.post2/numpy/testing/nosetester.py +511 -0
  363. numpy-1.10.0.post2/numpy/testing/print_coercion_tables.py +91 -0
  364. numpy-1.10.0.post2/numpy/testing/setup.py +20 -0
  365. numpy-1.10.0.post2/numpy/testing/tests/test_decorators.py +182 -0
  366. numpy-1.10.0.post2/numpy/testing/tests/test_utils.py +781 -0
  367. numpy-1.10.0.post2/numpy/testing/utils.py +1831 -0
  368. numpy-1.10.0.post2/numpy/tests/test_ctypeslib.py +106 -0
  369. numpy-1.10.0.post2/numpy/tests/test_matlib.py +55 -0
  370. numpy-1.10.0.post2/numpy/tests/test_scripts.py +69 -0
  371. numpy-1.10.0.post2/numpy/version.py +10 -0
  372. numpy-1.10.0.post2/setup.py +260 -0
  373. numpy-1.10.0.post2/site.cfg.example +193 -0
  374. numpy-1.10.0.post2/tmp.txt +789 -0
  375. numpy-1.10.0.post2/tools/swig/README +145 -0
  376. numpy-1.10.0.post2/tools/swig/numpy.i +3161 -0
  377. numpy-1.10.0.post2/tools/swig/test/Array.i +135 -0
  378. numpy-1.10.0.post2/tools/swig/test/ArrayZ.cxx +131 -0
  379. numpy-1.10.0.post2/tools/swig/test/ArrayZ.h +56 -0
  380. numpy-1.10.0.post2/tools/swig/test/Flat.cxx +36 -0
  381. numpy-1.10.0.post2/tools/swig/test/Flat.h +34 -0
  382. numpy-1.10.0.post2/tools/swig/test/Flat.i +36 -0
  383. numpy-1.10.0.post2/tools/swig/test/Makefile +37 -0
  384. numpy-1.10.0.post2/tools/swig/test/setup.py +71 -0
  385. numpy-1.10.0.post2/tools/swig/test/testArray.py +385 -0
  386. numpy-1.10.0.post2/tools/swig/test/testFarray.py +159 -0
  387. numpy-1.10.0.post2/tools/swig/test/testFlat.py +200 -0
  388. numpy-1.10.0.post2/tools/swig/test/testFortran.py +173 -0
  389. numpy-1.10.0.post2/tools/swig/test/testMatrix.py +362 -0
  390. numpy-1.10.0.post2/tools/swig/test/testSuperTensor.py +388 -0
  391. numpy-1.10.0.post2/tools/swig/test/testTensor.py +402 -0
  392. numpy-1.10.0.post2/tools/swig/test/testVector.py +381 -0
  393. numpy-1.9.2/INSTALL.txt +0 -138
  394. numpy-1.9.2/LICENSE.txt +0 -30
  395. numpy-1.9.2/MANIFEST.in +0 -26
  396. numpy-1.9.2/PKG-INFO +0 -39
  397. numpy-1.9.2/doc/scipy-sphinx-theme/.git +0 -1
  398. numpy-1.9.2/doc/source/conf.py +0 -331
  399. numpy-1.9.2/doc/source/dev/gitwash/branch_list.png +0 -0
  400. numpy-1.9.2/doc/source/dev/gitwash/branch_list_compare.png +0 -0
  401. numpy-1.9.2/doc/source/dev/gitwash/development_workflow.rst +0 -568
  402. numpy-1.9.2/doc/source/dev/gitwash/git_links.inc +0 -88
  403. numpy-1.9.2/doc/source/dev/gitwash/index.rst +0 -14
  404. numpy-1.9.2/doc/source/dev/index.rst +0 -10
  405. numpy-1.9.2/doc/source/reference/arrays.classes.rst +0 -427
  406. numpy-1.9.2/doc/source/reference/arrays.dtypes.rst +0 -534
  407. numpy-1.9.2/doc/source/reference/arrays.indexing.rst +0 -550
  408. numpy-1.9.2/doc/source/reference/arrays.interface.rst +0 -336
  409. numpy-1.9.2/doc/source/reference/arrays.ndarray.rst +0 -609
  410. numpy-1.9.2/doc/source/reference/arrays.scalars.rst +0 -291
  411. numpy-1.9.2/doc/source/reference/c-api.array.rst +0 -3362
  412. numpy-1.9.2/doc/source/reference/c-api.config.rst +0 -103
  413. numpy-1.9.2/doc/source/reference/c-api.coremath.rst +0 -420
  414. numpy-1.9.2/doc/source/reference/c-api.dtype.rst +0 -376
  415. numpy-1.9.2/doc/source/reference/c-api.generalized-ufuncs.rst +0 -171
  416. numpy-1.9.2/doc/source/reference/c-api.iterator.rst +0 -1298
  417. numpy-1.9.2/doc/source/reference/c-api.types-and-structures.rst +0 -1204
  418. numpy-1.9.2/doc/source/reference/c-api.ufunc.rst +0 -399
  419. numpy-1.9.2/doc/source/reference/index.rst +0 -44
  420. numpy-1.9.2/doc/source/reference/internals.code-explanations.rst +0 -666
  421. numpy-1.9.2/doc/source/reference/routines.array-manipulation.rst +0 -113
  422. numpy-1.9.2/doc/source/reference/routines.io.rst +0 -74
  423. numpy-1.9.2/doc/source/reference/routines.linalg.rst +0 -88
  424. numpy-1.9.2/doc/source/reference/routines.ma.rst +0 -405
  425. numpy-1.9.2/doc/source/reference/routines.sort.rst +0 -42
  426. numpy-1.9.2/doc/source/reference/routines.statistics.rst +0 -55
  427. numpy-1.9.2/doc/source/reference/swig.interface-file.rst +0 -1055
  428. numpy-1.9.2/doc/source/reference/swig.testing.rst +0 -166
  429. numpy-1.9.2/doc/source/reference/ufuncs.rst +0 -651
  430. numpy-1.9.2/doc/source/release.rst +0 -19
  431. numpy-1.9.2/doc/source/user/basics.io.genfromtxt.rst +0 -531
  432. numpy-1.9.2/doc/source/user/basics.rec.rst +0 -7
  433. numpy-1.9.2/doc/source/user/c-info.beyond-basics.rst +0 -560
  434. numpy-1.9.2/doc/source/user/c-info.how-to-extend.rst +0 -642
  435. numpy-1.9.2/doc/source/user/c-info.python-as-glue.rst +0 -1528
  436. numpy-1.9.2/doc/source/user/c-info.ufunc-tutorial.rst +0 -1211
  437. numpy-1.9.2/doc/source/user/install.rst +0 -180
  438. numpy-1.9.2/doc/sphinxext/.git +0 -1
  439. numpy-1.9.2/numpy/__init__.py +0 -216
  440. numpy-1.9.2/numpy/_import_tools.py +0 -348
  441. numpy-1.9.2/numpy/add_newdocs.py +0 -7518
  442. numpy-1.9.2/numpy/compat/_inspect.py +0 -221
  443. numpy-1.9.2/numpy/compat/py3k.py +0 -89
  444. numpy-1.9.2/numpy/compat/setup.py +0 -12
  445. numpy-1.9.2/numpy/core/__init__.py +0 -78
  446. numpy-1.9.2/numpy/core/_internal.py +0 -570
  447. numpy-1.9.2/numpy/core/_methods.py +0 -134
  448. numpy-1.9.2/numpy/core/arrayprint.py +0 -752
  449. numpy-1.9.2/numpy/core/blasdot/_dotblas.c +0 -1255
  450. numpy-1.9.2/numpy/core/blasdot/apple_sgemv_patch.c +0 -216
  451. numpy-1.9.2/numpy/core/blasdot/cblas.h +0 -578
  452. numpy-1.9.2/numpy/core/code_generators/cversions.txt +0 -31
  453. numpy-1.9.2/numpy/core/code_generators/generate_ufunc_api.py +0 -219
  454. numpy-1.9.2/numpy/core/code_generators/generate_umath.py +0 -972
  455. numpy-1.9.2/numpy/core/code_generators/numpy_api.py +0 -412
  456. numpy-1.9.2/numpy/core/code_generators/ufunc_docstrings.py +0 -3419
  457. numpy-1.9.2/numpy/core/defchararray.py +0 -2687
  458. numpy-1.9.2/numpy/core/fromnumeric.py +0 -2938
  459. numpy-1.9.2/numpy/core/function_base.py +0 -190
  460. numpy-1.9.2/numpy/core/getlimits.py +0 -306
  461. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.c +0 -38
  462. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.h +0 -224
  463. numpy-1.9.2/numpy/core/include/numpy/ndarrayobject.h +0 -237
  464. numpy-1.9.2/numpy/core/include/numpy/ndarraytypes.h +0 -1820
  465. numpy-1.9.2/numpy/core/include/numpy/npy_3kcompat.h +0 -506
  466. numpy-1.9.2/numpy/core/include/numpy/npy_common.h +0 -1038
  467. numpy-1.9.2/numpy/core/include/numpy/npy_cpu.h +0 -122
  468. numpy-1.9.2/numpy/core/include/numpy/npy_endian.h +0 -49
  469. numpy-1.9.2/numpy/core/include/numpy/npy_math.h +0 -479
  470. numpy-1.9.2/numpy/core/include/numpy/numpyconfig.h +0 -35
  471. numpy-1.9.2/numpy/core/machar.py +0 -338
  472. numpy-1.9.2/numpy/core/memmap.py +0 -308
  473. numpy-1.9.2/numpy/core/numeric.py +0 -2842
  474. numpy-1.9.2/numpy/core/numerictypes.py +0 -1042
  475. numpy-1.9.2/numpy/core/records.py +0 -804
  476. numpy-1.9.2/numpy/core/setup.py +0 -1016
  477. numpy-1.9.2/numpy/core/setup_common.py +0 -321
  478. numpy-1.9.2/numpy/core/shape_base.py +0 -277
  479. numpy-1.9.2/numpy/core/src/multiarray/alloc.c +0 -241
  480. numpy-1.9.2/numpy/core/src/multiarray/arrayobject.c +0 -1791
  481. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.c.src +0 -4372
  482. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.h +0 -13
  483. numpy-1.9.2/numpy/core/src/multiarray/buffer.c +0 -954
  484. numpy-1.9.2/numpy/core/src/multiarray/calculation.c +0 -1229
  485. numpy-1.9.2/numpy/core/src/multiarray/common.c +0 -798
  486. numpy-1.9.2/numpy/core/src/multiarray/common.h +0 -328
  487. numpy-1.9.2/numpy/core/src/multiarray/conversion_utils.c +0 -1240
  488. numpy-1.9.2/numpy/core/src/multiarray/convert.c +0 -589
  489. numpy-1.9.2/numpy/core/src/multiarray/convert_datatype.c +0 -2199
  490. numpy-1.9.2/numpy/core/src/multiarray/ctors.c +0 -3785
  491. numpy-1.9.2/numpy/core/src/multiarray/datetime.c +0 -3823
  492. numpy-1.9.2/numpy/core/src/multiarray/datetime_busday.c +0 -1322
  493. numpy-1.9.2/numpy/core/src/multiarray/datetime_busdaycal.c +0 -552
  494. numpy-1.9.2/numpy/core/src/multiarray/datetime_strings.c +0 -1772
  495. numpy-1.9.2/numpy/core/src/multiarray/descriptor.c +0 -3658
  496. numpy-1.9.2/numpy/core/src/multiarray/dtype_transfer.c +0 -4232
  497. numpy-1.9.2/numpy/core/src/multiarray/einsum.c.src +0 -3013
  498. numpy-1.9.2/numpy/core/src/multiarray/getset.c +0 -984
  499. numpy-1.9.2/numpy/core/src/multiarray/hashdescr.c +0 -319
  500. numpy-1.9.2/numpy/core/src/multiarray/item_selection.c +0 -2711
  501. numpy-1.9.2/numpy/core/src/multiarray/iterators.c +0 -2160
  502. numpy-1.9.2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +0 -1767
  503. numpy-1.9.2/numpy/core/src/multiarray/mapping.c +0 -3316
  504. numpy-1.9.2/numpy/core/src/multiarray/mapping.h +0 -73
  505. numpy-1.9.2/numpy/core/src/multiarray/methods.c +0 -2497
  506. numpy-1.9.2/numpy/core/src/multiarray/multiarray_tests.c.src +0 -977
  507. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.c +0 -4202
  508. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.h +0 -4
  509. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule_onefile.c +0 -58
  510. numpy-1.9.2/numpy/core/src/multiarray/nditer_api.c +0 -2809
  511. numpy-1.9.2/numpy/core/src/multiarray/nditer_constr.c +0 -3159
  512. numpy-1.9.2/numpy/core/src/multiarray/nditer_pywrap.c +0 -2492
  513. numpy-1.9.2/numpy/core/src/multiarray/number.c +0 -1057
  514. numpy-1.9.2/numpy/core/src/multiarray/number.h +0 -76
  515. numpy-1.9.2/numpy/core/src/multiarray/numpymemoryview.c +0 -309
  516. numpy-1.9.2/numpy/core/src/multiarray/numpyos.c +0 -683
  517. numpy-1.9.2/numpy/core/src/multiarray/scalarapi.c +0 -861
  518. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.c.src +0 -4270
  519. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.h +0 -52
  520. numpy-1.9.2/numpy/core/src/multiarray/shape.c +0 -1141
  521. numpy-1.9.2/numpy/core/src/multiarray/ucsnarrow.c +0 -173
  522. numpy-1.9.2/numpy/core/src/npymath/ieee754.c.src +0 -814
  523. numpy-1.9.2/numpy/core/src/npymath/npy_math.c.src +0 -527
  524. numpy-1.9.2/numpy/core/src/npymath/npy_math_complex.c.src +0 -291
  525. numpy-1.9.2/numpy/core/src/npymath/npy_math_private.h +0 -539
  526. numpy-1.9.2/numpy/core/src/npysort/heapsort.c.src +0 -341
  527. numpy-1.9.2/numpy/core/src/npysort/mergesort.c.src +0 -428
  528. numpy-1.9.2/numpy/core/src/npysort/npysort_common.h +0 -367
  529. numpy-1.9.2/numpy/core/src/npysort/quicksort.c.src +0 -363
  530. numpy-1.9.2/numpy/core/src/npysort/selection.c.src +0 -474
  531. numpy-1.9.2/numpy/core/src/private/npy_config.h +0 -44
  532. numpy-1.9.2/numpy/core/src/private/npy_partition.h.src +0 -138
  533. numpy-1.9.2/numpy/core/src/private/npy_sort.h +0 -194
  534. numpy-1.9.2/numpy/core/src/private/scalarmathmodule.h.src +0 -42
  535. numpy-1.9.2/numpy/core/src/private/ufunc_override.h +0 -384
  536. numpy-1.9.2/numpy/core/src/scalarmathmodule.c.src +0 -1980
  537. numpy-1.9.2/numpy/core/src/umath/funcs.inc.src +0 -715
  538. numpy-1.9.2/numpy/core/src/umath/loops.c.src +0 -2654
  539. numpy-1.9.2/numpy/core/src/umath/loops.h.src +0 -501
  540. numpy-1.9.2/numpy/core/src/umath/operand_flag_tests.c.src +0 -105
  541. numpy-1.9.2/numpy/core/src/umath/simd.inc.src +0 -881
  542. numpy-1.9.2/numpy/core/src/umath/test_rational.c.src +0 -1404
  543. numpy-1.9.2/numpy/core/src/umath/ufunc_object.c +0 -5520
  544. numpy-1.9.2/numpy/core/src/umath/ufunc_type_resolution.c +0 -2164
  545. numpy-1.9.2/numpy/core/src/umath/umath_tests.c.src +0 -341
  546. numpy-1.9.2/numpy/core/src/umath/umathmodule.c +0 -561
  547. numpy-1.9.2/numpy/core/src/umath/umathmodule_onefile.c +0 -6
  548. numpy-1.9.2/numpy/core/tests/test_abc.py +0 -45
  549. numpy-1.9.2/numpy/core/tests/test_api.py +0 -514
  550. numpy-1.9.2/numpy/core/tests/test_arrayprint.py +0 -167
  551. numpy-1.9.2/numpy/core/tests/test_blasdot.py +0 -249
  552. numpy-1.9.2/numpy/core/tests/test_datetime.py +0 -1781
  553. numpy-1.9.2/numpy/core/tests/test_defchararray.py +0 -642
  554. numpy-1.9.2/numpy/core/tests/test_deprecations.py +0 -512
  555. numpy-1.9.2/numpy/core/tests/test_dtype.py +0 -542
  556. numpy-1.9.2/numpy/core/tests/test_einsum.py +0 -583
  557. numpy-1.9.2/numpy/core/tests/test_errstate.py +0 -51
  558. numpy-1.9.2/numpy/core/tests/test_function_base.py +0 -111
  559. numpy-1.9.2/numpy/core/tests/test_getlimits.py +0 -86
  560. numpy-1.9.2/numpy/core/tests/test_half.py +0 -439
  561. numpy-1.9.2/numpy/core/tests/test_indexerrors.py +0 -127
  562. numpy-1.9.2/numpy/core/tests/test_indexing.py +0 -1014
  563. numpy-1.9.2/numpy/core/tests/test_item_selection.py +0 -70
  564. numpy-1.9.2/numpy/core/tests/test_machar.py +0 -30
  565. numpy-1.9.2/numpy/core/tests/test_memmap.py +0 -127
  566. numpy-1.9.2/numpy/core/tests/test_multiarray.py +0 -4645
  567. numpy-1.9.2/numpy/core/tests/test_multiarray_assignment.py +0 -80
  568. numpy-1.9.2/numpy/core/tests/test_nditer.py +0 -2630
  569. numpy-1.9.2/numpy/core/tests/test_numeric.py +0 -2117
  570. numpy-1.9.2/numpy/core/tests/test_numerictypes.py +0 -377
  571. numpy-1.9.2/numpy/core/tests/test_print.py +0 -245
  572. numpy-1.9.2/numpy/core/tests/test_records.py +0 -185
  573. numpy-1.9.2/numpy/core/tests/test_regression.py +0 -2108
  574. numpy-1.9.2/numpy/core/tests/test_scalarinherit.py +0 -34
  575. numpy-1.9.2/numpy/core/tests/test_scalarmath.py +0 -275
  576. numpy-1.9.2/numpy/core/tests/test_shape_base.py +0 -250
  577. numpy-1.9.2/numpy/core/tests/test_ufunc.py +0 -1153
  578. numpy-1.9.2/numpy/core/tests/test_umath.py +0 -1695
  579. numpy-1.9.2/numpy/core/tests/test_umath_complex.py +0 -537
  580. numpy-1.9.2/numpy/core/tests/test_unicode.py +0 -357
  581. numpy-1.9.2/numpy/distutils/__init__.py +0 -39
  582. numpy-1.9.2/numpy/distutils/ccompiler.py +0 -656
  583. numpy-1.9.2/numpy/distutils/command/autodist.py +0 -43
  584. numpy-1.9.2/numpy/distutils/command/build.py +0 -39
  585. numpy-1.9.2/numpy/distutils/command/build_clib.py +0 -284
  586. numpy-1.9.2/numpy/distutils/command/build_ext.py +0 -503
  587. numpy-1.9.2/numpy/distutils/command/config.py +0 -476
  588. numpy-1.9.2/numpy/distutils/exec_command.py +0 -618
  589. numpy-1.9.2/numpy/distutils/fcompiler/compaq.py +0 -128
  590. numpy-1.9.2/numpy/distutils/fcompiler/gnu.py +0 -390
  591. numpy-1.9.2/numpy/distutils/fcompiler/intel.py +0 -205
  592. numpy-1.9.2/numpy/distutils/fcompiler/pg.py +0 -60
  593. numpy-1.9.2/numpy/distutils/fcompiler/sun.py +0 -52
  594. numpy-1.9.2/numpy/distutils/intelccompiler.py +0 -45
  595. numpy-1.9.2/numpy/distutils/lib2def.py +0 -116
  596. numpy-1.9.2/numpy/distutils/mingw32ccompiler.py +0 -582
  597. numpy-1.9.2/numpy/distutils/misc_util.py +0 -2271
  598. numpy-1.9.2/numpy/distutils/npy_pkg_config.py +0 -464
  599. numpy-1.9.2/numpy/distutils/system_info.py +0 -2319
  600. numpy-1.9.2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +0 -13
  601. numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +0 -12
  602. numpy-1.9.2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +0 -12
  603. numpy-1.9.2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +0 -14
  604. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example.py +0 -18
  605. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example2.py +0 -16
  606. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_gnu.py +0 -53
  607. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_intel.py +0 -36
  608. numpy-1.9.2/numpy/distutils/tests/test_misc_util.py +0 -75
  609. numpy-1.9.2/numpy/distutils/tests/test_npy_pkg_config.py +0 -98
  610. numpy-1.9.2/numpy/distutils/unixccompiler.py +0 -113
  611. numpy-1.9.2/numpy/doc/byteswapping.py +0 -147
  612. numpy-1.9.2/numpy/doc/creation.py +0 -144
  613. numpy-1.9.2/numpy/doc/glossary.py +0 -418
  614. numpy-1.9.2/numpy/doc/indexing.py +0 -437
  615. numpy-1.9.2/numpy/doc/structured_arrays.py +0 -223
  616. numpy-1.9.2/numpy/f2py/__init__.py +0 -49
  617. numpy-1.9.2/numpy/f2py/auxfuncs.py +0 -711
  618. numpy-1.9.2/numpy/f2py/capi_maps.py +0 -773
  619. numpy-1.9.2/numpy/f2py/cb_rules.py +0 -539
  620. numpy-1.9.2/numpy/f2py/cfuncs.py +0 -1224
  621. numpy-1.9.2/numpy/f2py/common_rules.py +0 -132
  622. numpy-1.9.2/numpy/f2py/crackfortran.py +0 -2870
  623. numpy-1.9.2/numpy/f2py/diagnose.py +0 -149
  624. numpy-1.9.2/numpy/f2py/f2py2e.py +0 -598
  625. numpy-1.9.2/numpy/f2py/f2py_testing.py +0 -46
  626. numpy-1.9.2/numpy/f2py/f90mod_rules.py +0 -246
  627. numpy-1.9.2/numpy/f2py/func2subr.py +0 -291
  628. numpy-1.9.2/numpy/f2py/rules.py +0 -1448
  629. numpy-1.9.2/numpy/f2py/setup.py +0 -129
  630. numpy-1.9.2/numpy/f2py/src/fortranobject.c +0 -972
  631. numpy-1.9.2/numpy/f2py/src/fortranobject.h +0 -162
  632. numpy-1.9.2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +0 -223
  633. numpy-1.9.2/numpy/f2py/tests/test_array_from_pyobj.py +0 -559
  634. numpy-1.9.2/numpy/f2py/tests/test_assumed_shape.py +0 -37
  635. numpy-1.9.2/numpy/f2py/tests/test_callback.py +0 -132
  636. numpy-1.9.2/numpy/f2py/tests/test_kind.py +0 -36
  637. numpy-1.9.2/numpy/f2py/tests/test_mixed.py +0 -41
  638. numpy-1.9.2/numpy/f2py/tests/test_regression.py +0 -32
  639. numpy-1.9.2/numpy/f2py/tests/test_return_character.py +0 -142
  640. numpy-1.9.2/numpy/f2py/tests/test_return_complex.py +0 -169
  641. numpy-1.9.2/numpy/f2py/tests/test_return_integer.py +0 -178
  642. numpy-1.9.2/numpy/f2py/tests/test_return_logical.py +0 -187
  643. numpy-1.9.2/numpy/f2py/tests/test_return_real.py +0 -203
  644. numpy-1.9.2/numpy/f2py/tests/test_size.py +0 -47
  645. numpy-1.9.2/numpy/f2py/tests/util.py +0 -353
  646. numpy-1.9.2/numpy/f2py/use_rules.py +0 -109
  647. numpy-1.9.2/numpy/fft/fftpack.c +0 -1501
  648. numpy-1.9.2/numpy/fft/fftpack.h +0 -28
  649. numpy-1.9.2/numpy/fft/fftpack.py +0 -1169
  650. numpy-1.9.2/numpy/fft/fftpack_litemodule.c +0 -371
  651. numpy-1.9.2/numpy/fft/info.py +0 -179
  652. numpy-1.9.2/numpy/fft/setup.py +0 -20
  653. numpy-1.9.2/numpy/fft/tests/test_fftpack.py +0 -75
  654. numpy-1.9.2/numpy/fft/tests/test_helper.py +0 -78
  655. numpy-1.9.2/numpy/lib/_iotools.py +0 -891
  656. numpy-1.9.2/numpy/lib/arraypad.py +0 -1475
  657. numpy-1.9.2/numpy/lib/arraysetops.py +0 -464
  658. numpy-1.9.2/numpy/lib/arrayterator.py +0 -226
  659. numpy-1.9.2/numpy/lib/financial.py +0 -737
  660. numpy-1.9.2/numpy/lib/format.py +0 -771
  661. numpy-1.9.2/numpy/lib/function_base.py +0 -3884
  662. numpy-1.9.2/numpy/lib/index_tricks.py +0 -869
  663. numpy-1.9.2/numpy/lib/info.py +0 -151
  664. numpy-1.9.2/numpy/lib/nanfunctions.py +0 -1158
  665. numpy-1.9.2/numpy/lib/npyio.py +0 -1918
  666. numpy-1.9.2/numpy/lib/polynomial.py +0 -1271
  667. numpy-1.9.2/numpy/lib/recfunctions.py +0 -1003
  668. numpy-1.9.2/numpy/lib/setup.py +0 -23
  669. numpy-1.9.2/numpy/lib/shape_base.py +0 -865
  670. numpy-1.9.2/numpy/lib/src/_compiled_base.c +0 -1761
  671. numpy-1.9.2/numpy/lib/stride_tricks.py +0 -123
  672. numpy-1.9.2/numpy/lib/tests/test__iotools.py +0 -326
  673. numpy-1.9.2/numpy/lib/tests/test__version.py +0 -57
  674. numpy-1.9.2/numpy/lib/tests/test_arraypad.py +0 -560
  675. numpy-1.9.2/numpy/lib/tests/test_arraysetops.py +0 -301
  676. numpy-1.9.2/numpy/lib/tests/test_financial.py +0 -160
  677. numpy-1.9.2/numpy/lib/tests/test_format.py +0 -716
  678. numpy-1.9.2/numpy/lib/tests/test_function_base.py +0 -2145
  679. numpy-1.9.2/numpy/lib/tests/test_index_tricks.py +0 -289
  680. numpy-1.9.2/numpy/lib/tests/test_io.py +0 -1754
  681. numpy-1.9.2/numpy/lib/tests/test_nanfunctions.py +0 -774
  682. numpy-1.9.2/numpy/lib/tests/test_polynomial.py +0 -177
  683. numpy-1.9.2/numpy/lib/tests/test_recfunctions.py +0 -705
  684. numpy-1.9.2/numpy/lib/tests/test_shape_base.py +0 -368
  685. numpy-1.9.2/numpy/lib/tests/test_stride_tricks.py +0 -238
  686. numpy-1.9.2/numpy/lib/tests/test_twodim_base.py +0 -504
  687. numpy-1.9.2/numpy/lib/tests/test_type_check.py +0 -328
  688. numpy-1.9.2/numpy/lib/twodim_base.py +0 -1003
  689. numpy-1.9.2/numpy/lib/type_check.py +0 -605
  690. numpy-1.9.2/numpy/lib/utils.py +0 -1176
  691. numpy-1.9.2/numpy/linalg/lapack_lite/python_xerbla.c +0 -47
  692. numpy-1.9.2/numpy/linalg/lapack_litemodule.c +0 -362
  693. numpy-1.9.2/numpy/linalg/linalg.py +0 -2136
  694. numpy-1.9.2/numpy/linalg/tests/test_build.py +0 -53
  695. numpy-1.9.2/numpy/linalg/tests/test_linalg.py +0 -1156
  696. numpy-1.9.2/numpy/linalg/tests/test_regression.py +0 -90
  697. numpy-1.9.2/numpy/linalg/umath_linalg.c.src +0 -3210
  698. numpy-1.9.2/numpy/ma/__init__.py +0 -58
  699. numpy-1.9.2/numpy/ma/bench.py +0 -166
  700. numpy-1.9.2/numpy/ma/core.py +0 -7374
  701. numpy-1.9.2/numpy/ma/extras.py +0 -1932
  702. numpy-1.9.2/numpy/ma/mrecords.py +0 -734
  703. numpy-1.9.2/numpy/ma/setup.py +0 -20
  704. numpy-1.9.2/numpy/ma/tests/test_core.py +0 -3706
  705. numpy-1.9.2/numpy/ma/tests/test_extras.py +0 -954
  706. numpy-1.9.2/numpy/ma/tests/test_mrecords.py +0 -521
  707. numpy-1.9.2/numpy/ma/tests/test_old_ma.py +0 -869
  708. numpy-1.9.2/numpy/ma/tests/test_regression.py +0 -75
  709. numpy-1.9.2/numpy/ma/tests/test_subclassing.py +0 -236
  710. numpy-1.9.2/numpy/ma/testutils.py +0 -240
  711. numpy-1.9.2/numpy/ma/timer_comparison.py +0 -459
  712. numpy-1.9.2/numpy/matlib.py +0 -358
  713. numpy-1.9.2/numpy/matrixlib/defmatrix.py +0 -1094
  714. numpy-1.9.2/numpy/matrixlib/tests/test_defmatrix.py +0 -400
  715. numpy-1.9.2/numpy/matrixlib/tests/test_multiarray.py +0 -18
  716. numpy-1.9.2/numpy/matrixlib/tests/test_numeric.py +0 -10
  717. numpy-1.9.2/numpy/matrixlib/tests/test_regression.py +0 -34
  718. numpy-1.9.2/numpy/polynomial/_polybase.py +0 -962
  719. numpy-1.9.2/numpy/polynomial/chebyshev.py +0 -2056
  720. numpy-1.9.2/numpy/polynomial/hermite.py +0 -1789
  721. numpy-1.9.2/numpy/polynomial/hermite_e.py +0 -1786
  722. numpy-1.9.2/numpy/polynomial/laguerre.py +0 -1781
  723. numpy-1.9.2/numpy/polynomial/legendre.py +0 -1809
  724. numpy-1.9.2/numpy/polynomial/polytemplate.py +0 -927
  725. numpy-1.9.2/numpy/polynomial/polyutils.py +0 -403
  726. numpy-1.9.2/numpy/random/mtrand/distributions.c +0 -892
  727. numpy-1.9.2/numpy/random/mtrand/mtrand.c +0 -31204
  728. numpy-1.9.2/numpy/random/mtrand/mtrand.pyx +0 -4706
  729. numpy-1.9.2/numpy/random/setup.py +0 -74
  730. numpy-1.9.2/numpy/random/tests/test_random.py +0 -707
  731. numpy-1.9.2/numpy/random/tests/test_regression.py +0 -86
  732. numpy-1.9.2/numpy/setup.py +0 -27
  733. numpy-1.9.2/numpy/testing/__init__.py +0 -16
  734. numpy-1.9.2/numpy/testing/decorators.py +0 -271
  735. numpy-1.9.2/numpy/testing/noseclasses.py +0 -353
  736. numpy-1.9.2/numpy/testing/nosetester.py +0 -504
  737. numpy-1.9.2/numpy/testing/print_coercion_tables.py +0 -89
  738. numpy-1.9.2/numpy/testing/setup.py +0 -20
  739. numpy-1.9.2/numpy/testing/tests/test_decorators.py +0 -185
  740. numpy-1.9.2/numpy/testing/tests/test_utils.py +0 -558
  741. numpy-1.9.2/numpy/testing/utils.py +0 -1715
  742. numpy-1.9.2/numpy/tests/test_ctypeslib.py +0 -102
  743. numpy-1.9.2/numpy/tests/test_matlib.py +0 -55
  744. numpy-1.9.2/numpy/version.py +0 -10
  745. numpy-1.9.2/setup.py +0 -251
  746. numpy-1.9.2/site.cfg.example +0 -157
  747. numpy-1.9.2/tools/swig/README +0 -135
  748. numpy-1.9.2/tools/swig/numpy.i +0 -3085
  749. numpy-1.9.2/tools/swig/test/Array.i +0 -102
  750. numpy-1.9.2/tools/swig/test/Makefile +0 -34
  751. numpy-1.9.2/tools/swig/test/setup.py +0 -64
  752. numpy-1.9.2/tools/swig/test/testArray.py +0 -284
  753. numpy-1.9.2/tools/swig/test/testFarray.py +0 -159
  754. numpy-1.9.2/tools/swig/test/testFortran.py +0 -173
  755. numpy-1.9.2/tools/swig/test/testMatrix.py +0 -362
  756. numpy-1.9.2/tools/swig/test/testSuperTensor.py +0 -388
  757. numpy-1.9.2/tools/swig/test/testTensor.py +0 -402
  758. numpy-1.9.2/tools/swig/test/testVector.py +0 -381
  759. {numpy-1.9.2 → numpy-1.10.0.post2}/BENTO_BUILD.txt +0 -0
  760. {numpy-1.9.2 → numpy-1.10.0.post2}/COMPATIBILITY +0 -0
  761. {numpy-1.9.2 → numpy-1.10.0.post2}/DEV_README.txt +0 -0
  762. {numpy-1.9.2 → numpy-1.10.0.post2}/README.txt +0 -0
  763. {numpy-1.9.2 → numpy-1.10.0.post2}/THANKS.txt +0 -0
  764. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/Makefile +0 -0
  765. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/BUGS.txt +0 -0
  766. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/FAQ.txt +0 -0
  767. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/HISTORY.txt +0 -0
  768. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Makefile +0 -0
  769. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/OLDNEWS.txt +0 -0
  770. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/README.txt +0 -0
  771. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-1.x.txt +0 -0
  772. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-2.x.txt +0 -0
  773. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-3.x.txt +0 -0
  774. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-4.x.txt +0 -0
  775. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TESTING.txt +0 -0
  776. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/THANKS.txt +0 -0
  777. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TODO.txt +0 -0
  778. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/apps.tex +0 -0
  779. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/bugs.tex +0 -0
  780. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/collectinput.py +0 -0
  781. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/commands.tex +0 -0
  782. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/default.css +0 -0
  783. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/docutils.conf +0 -0
  784. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/arr.f +0 -0
  785. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/bar.f +0 -0
  786. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foo.f +0 -0
  787. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar-smart.f90 +0 -0
  788. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar.f90 +0 -0
  789. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobarmodule.tex +0 -0
  790. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/runme +0 -0
  791. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py.1 +0 -0
  792. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py2e.tex +0 -0
  793. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/README.txt +0 -0
  794. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/aerostructure.jpg +0 -0
  795. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/flow.jpg +0 -0
  796. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_html.sh +0 -0
  797. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_pdf.sh +0 -0
  798. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_ps.sh +0 -0
  799. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1.f +0 -0
  800. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1mess.txt +0 -0
  801. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1session.txt +0 -0
  802. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foo.pyf +0 -0
  803. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foom.pyf +0 -0
  804. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/structure.jpg +0 -0
  805. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/fortranobject.tex +0 -0
  806. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/hello.f +0 -0
  807. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/index.html +0 -0
  808. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/intro.tex +0 -0
  809. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/array_from_pyobj.c +0 -0
  810. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/bar.c +0 -0
  811. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/foo.f +0 -0
  812. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fortran_array_from_pyobj.txt +0 -0
  813. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fun.pyf +0 -0
  814. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/run.pyf +0 -0
  815. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/transpose.txt +0 -0
  816. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarrays.txt +0 -0
  817. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/notes.tex +0 -0
  818. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/oldnews.html +0 -0
  819. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/options.tex +0 -0
  820. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pyforttest.pyf +0 -0
  821. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pytest.py +0 -0
  822. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/python9.tex +0 -0
  823. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/signaturefile.tex +0 -0
  824. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple.f +0 -0
  825. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple_session.dat +0 -0
  826. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/using_F_compiler.txt +0 -0
  827. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/win32_notes.txt +0 -0
  828. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/postprocess.py +0 -0
  829. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.3.0-notes.rst +0 -0
  830. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.4.0-notes.rst +0 -0
  831. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.5.0-notes.rst +0 -0
  832. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.0-notes.rst +0 -0
  833. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.1-notes.rst +0 -0
  834. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.2-notes.rst +0 -0
  835. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.0-notes.rst +0 -0
  836. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.1-notes.rst +0 -0
  837. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.2-notes.rst +0 -0
  838. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.0-notes.rst +0 -0
  839. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.1-notes.rst +0 -0
  840. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.2-notes.rst +0 -0
  841. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.0-notes.rst +0 -0
  842. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.1-notes.rst +0 -0
  843. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.2-notes.rst +0 -0
  844. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/time_based_proposal.rst +0 -0
  845. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.gitignore +0 -0
  846. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/Makefile +0 -0
  847. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/README.rst +0 -0
  848. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_static/scipyshiny_small.png +0 -0
  849. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/layout.html +0 -0
  850. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/searchbox.html +0 -0
  851. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/sourcelink.html +0 -0
  852. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/extend.css +0 -0
  853. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/pygments.css +0 -0
  854. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/scipy-central.css +0 -0
  855. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-bootstrap.css +0 -0
  856. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-extend.css +0 -0
  857. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/all-icons.svg +0 -0
  858. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/contents.png +0 -0
  859. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/create-new-account-icon.png +0 -0
  860. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon-shrunk.png +0 -0
  861. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.png +0 -0
  862. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.svg +0 -0
  863. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiniest.png +0 -0
  864. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiny.png +0 -0
  865. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon.png +0 -0
  866. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ad.png +0 -0
  867. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ae.png +0 -0
  868. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-af.png +0 -0
  869. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ag.png +0 -0
  870. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ai.png +0 -0
  871. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-al.png +0 -0
  872. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-am.png +0 -0
  873. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ao.png +0 -0
  874. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aq.png +0 -0
  875. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ar.png +0 -0
  876. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-as.png +0 -0
  877. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-at.png +0 -0
  878. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-au.png +0 -0
  879. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aw.png +0 -0
  880. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-az.png +0 -0
  881. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ba.png +0 -0
  882. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bb.png +0 -0
  883. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bd.png +0 -0
  884. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-be.png +0 -0
  885. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bf.png +0 -0
  886. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bg.png +0 -0
  887. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bh.png +0 -0
  888. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bi.png +0 -0
  889. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bj.png +0 -0
  890. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bl.png +0 -0
  891. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bm.png +0 -0
  892. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bn.png +0 -0
  893. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bo.png +0 -0
  894. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-br.png +0 -0
  895. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bs.png +0 -0
  896. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bt.png +0 -0
  897. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bw.png +0 -0
  898. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-by.png +0 -0
  899. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bz.png +0 -0
  900. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ca.png +0 -0
  901. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cc.png +0 -0
  902. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cd.png +0 -0
  903. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cf.png +0 -0
  904. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cg.png +0 -0
  905. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ch.png +0 -0
  906. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ci.png +0 -0
  907. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ck.png +0 -0
  908. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cl.png +0 -0
  909. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cm.png +0 -0
  910. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cn.png +0 -0
  911. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-co.png +0 -0
  912. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cr.png +0 -0
  913. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cu.png +0 -0
  914. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cv.png +0 -0
  915. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cw.png +0 -0
  916. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cx.png +0 -0
  917. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cy.png +0 -0
  918. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cz.png +0 -0
  919. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-de.png +0 -0
  920. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dj.png +0 -0
  921. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dk.png +0 -0
  922. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dm.png +0 -0
  923. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-do.png +0 -0
  924. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dz.png +0 -0
  925. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ec.png +0 -0
  926. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ee.png +0 -0
  927. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-eg.png +0 -0
  928. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-er.png +0 -0
  929. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-es.png +0 -0
  930. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-et.png +0 -0
  931. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fi.png +0 -0
  932. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fj.png +0 -0
  933. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fk.png +0 -0
  934. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fm.png +0 -0
  935. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fo.png +0 -0
  936. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fr.png +0 -0
  937. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ga.png +0 -0
  938. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gb.png +0 -0
  939. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gd.png +0 -0
  940. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ge.png +0 -0
  941. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gf.png +0 -0
  942. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gg.png +0 -0
  943. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gh.png +0 -0
  944. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gi.png +0 -0
  945. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gl.png +0 -0
  946. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gm.png +0 -0
  947. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gn.png +0 -0
  948. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gq.png +0 -0
  949. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gr.png +0 -0
  950. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gs.png +0 -0
  951. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gt.png +0 -0
  952. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gu.png +0 -0
  953. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gw.png +0 -0
  954. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gy.png +0 -0
  955. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hk.png +0 -0
  956. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hm.png +0 -0
  957. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hn.png +0 -0
  958. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hr.png +0 -0
  959. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ht.png +0 -0
  960. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hu.png +0 -0
  961. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-id.png +0 -0
  962. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ie.png +0 -0
  963. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-il.png +0 -0
  964. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-im.png +0 -0
  965. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-in.png +0 -0
  966. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-io.png +0 -0
  967. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-iq.png +0 -0
  968. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ir.png +0 -0
  969. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-is.png +0 -0
  970. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-it.png +0 -0
  971. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-je.png +0 -0
  972. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jm.png +0 -0
  973. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jo.png +0 -0
  974. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jp.png +0 -0
  975. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ke.png +0 -0
  976. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kg.png +0 -0
  977. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kh.png +0 -0
  978. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ki.png +0 -0
  979. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-km.png +0 -0
  980. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kn.png +0 -0
  981. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kp.png +0 -0
  982. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kr.png +0 -0
  983. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kw.png +0 -0
  984. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ky.png +0 -0
  985. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kz.png +0 -0
  986. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-la.png +0 -0
  987. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lb.png +0 -0
  988. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lc.png +0 -0
  989. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-li.png +0 -0
  990. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lk.png +0 -0
  991. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lr.png +0 -0
  992. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ls.png +0 -0
  993. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lt.png +0 -0
  994. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lu.png +0 -0
  995. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lv.png +0 -0
  996. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ly.png +0 -0
  997. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ma.png +0 -0
  998. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mc.png +0 -0
  999. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-md.png +0 -0
  1000. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-me.png +0 -0
  1001. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mf.png +0 -0
  1002. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mg.png +0 -0
  1003. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mh.png +0 -0
  1004. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mk.png +0 -0
  1005. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ml.png +0 -0
  1006. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mm.png +0 -0
  1007. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mn.png +0 -0
  1008. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mo.png +0 -0
  1009. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mp.png +0 -0
  1010. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mq.png +0 -0
  1011. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mr.png +0 -0
  1012. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ms.png +0 -0
  1013. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mt.png +0 -0
  1014. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mu.png +0 -0
  1015. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mv.png +0 -0
  1016. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mw.png +0 -0
  1017. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mx.png +0 -0
  1018. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-my.png +0 -0
  1019. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mz.png +0 -0
  1020. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-na.png +0 -0
  1021. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nc.png +0 -0
  1022. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ne.png +0 -0
  1023. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nf.png +0 -0
  1024. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ng.png +0 -0
  1025. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ni.png +0 -0
  1026. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nl.png +0 -0
  1027. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-no.png +0 -0
  1028. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-np.png +0 -0
  1029. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nr.png +0 -0
  1030. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nu.png +0 -0
  1031. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nz.png +0 -0
  1032. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-om.png +0 -0
  1033. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pa.png +0 -0
  1034. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pe.png +0 -0
  1035. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pf.png +0 -0
  1036. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pg.png +0 -0
  1037. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ph.png +0 -0
  1038. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pk.png +0 -0
  1039. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pl.png +0 -0
  1040. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pm.png +0 -0
  1041. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pn.png +0 -0
  1042. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pr.png +0 -0
  1043. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ps.png +0 -0
  1044. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pt.png +0 -0
  1045. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pw.png +0 -0
  1046. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-py.png +0 -0
  1047. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-qa.png +0 -0
  1048. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-re.png +0 -0
  1049. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ro.png +0 -0
  1050. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rs.png +0 -0
  1051. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ru.png +0 -0
  1052. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rw.png +0 -0
  1053. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sa.png +0 -0
  1054. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sb.png +0 -0
  1055. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sc.png +0 -0
  1056. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sd.png +0 -0
  1057. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-se.png +0 -0
  1058. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sg.png +0 -0
  1059. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sh.png +0 -0
  1060. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-si.png +0 -0
  1061. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sj.png +0 -0
  1062. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sk.png +0 -0
  1063. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sl.png +0 -0
  1064. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sm.png +0 -0
  1065. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sn.png +0 -0
  1066. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-so.png +0 -0
  1067. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sr.png +0 -0
  1068. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-st.png +0 -0
  1069. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sv.png +0 -0
  1070. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sy.png +0 -0
  1071. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sz.png +0 -0
  1072. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tc.png +0 -0
  1073. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-td.png +0 -0
  1074. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tf.png +0 -0
  1075. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tg.png +0 -0
  1076. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-th.png +0 -0
  1077. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tj.png +0 -0
  1078. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tk.png +0 -0
  1079. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tl.png +0 -0
  1080. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tm.png +0 -0
  1081. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tn.png +0 -0
  1082. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-to.png +0 -0
  1083. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tr.png +0 -0
  1084. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tt.png +0 -0
  1085. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tv.png +0 -0
  1086. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tw.png +0 -0
  1087. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tz.png +0 -0
  1088. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ua.png +0 -0
  1089. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ug.png +0 -0
  1090. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-um.png +0 -0
  1091. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-us.png +0 -0
  1092. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uy.png +0 -0
  1093. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uz.png +0 -0
  1094. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-va.png +0 -0
  1095. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vc.png +0 -0
  1096. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ve.png +0 -0
  1097. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vg.png +0 -0
  1098. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vi.png +0 -0
  1099. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vn.png +0 -0
  1100. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vu.png +0 -0
  1101. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-wf.png +0 -0
  1102. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ws.png +0 -0
  1103. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ye.png +0 -0
  1104. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-za.png +0 -0
  1105. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zm.png +0 -0
  1106. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zw.png +0 -0
  1107. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings-white.png +0 -0
  1108. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings.png +0 -0
  1109. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/important-icon.png +0 -0
  1110. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/information-icon.png +0 -0
  1111. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/internet-web-browser.png +0 -0
  1112. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon-shrunk.png +0 -0
  1113. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.png +0 -0
  1114. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.svg +0 -0
  1115. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon-tiny.png +0 -0
  1116. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon.png +0 -0
  1117. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/navigation.png +0 -0
  1118. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon-tiny.png +0 -0
  1119. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon.png +0 -0
  1120. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy-logo.png +0 -0
  1121. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy_org_logo.gif +0 -0
  1122. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipycentral_logo.png +0 -0
  1123. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipyshiny_small.png +0 -0
  1124. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/send-email-icon.png +0 -0
  1125. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon-shrunk.png +0 -0
  1126. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.png +0 -0
  1127. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.svg +0 -0
  1128. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiniest.png +0 -0
  1129. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiny.png +0 -0
  1130. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon.png +0 -0
  1131. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/transparent-pixel.gif +0 -0
  1132. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/ui-anim_basic_16x16.gif +0 -0
  1133. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/js/copybutton.js +0 -0
  1134. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/accordion.less +0 -0
  1135. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/alerts.less +0 -0
  1136. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/bootstrap.less +0 -0
  1137. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/breadcrumbs.less +0 -0
  1138. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/button-groups.less +0 -0
  1139. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/buttons.less +0 -0
  1140. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/carousel.less +0 -0
  1141. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/close.less +0 -0
  1142. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/code.less +0 -0
  1143. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/component-animations.less +0 -0
  1144. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/dropdowns.less +0 -0
  1145. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/forms.less +0 -0
  1146. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/grid.less +0 -0
  1147. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/hero-unit.less +0 -0
  1148. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/labels-badges.less +0 -0
  1149. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/layouts.less +0 -0
  1150. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/media.less +0 -0
  1151. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/mixins.less +0 -0
  1152. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/modals.less +0 -0
  1153. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navbar.less +0 -0
  1154. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navs.less +0 -0
  1155. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pager.less +0 -0
  1156. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pagination.less +0 -0
  1157. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/popovers.less +0 -0
  1158. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/progress-bars.less +0 -0
  1159. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/reset.less +0 -0
  1160. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-1200px-min.less +0 -0
  1161. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-767px-max.less +0 -0
  1162. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-768px-979px.less +0 -0
  1163. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-navbar.less +0 -0
  1164. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-utilities.less +0 -0
  1165. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive.less +0 -0
  1166. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/scaffolding.less +0 -0
  1167. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/sprites.less +0 -0
  1168. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tables.less +0 -0
  1169. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/thumbnails.less +0 -0
  1170. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tooltip.less +0 -0
  1171. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/type.less +0 -0
  1172. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/utilities.less +0 -0
  1173. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/variables.less +0 -0
  1174. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/wells.less +0 -0
  1175. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-bootstrap.less +0 -0
  1176. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-content.less +0 -0
  1177. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-extend.less +0 -0
  1178. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-footer.less +0 -0
  1179. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-header.less +0 -0
  1180. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-rightsidebar.less +0 -0
  1181. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-utils.less +0 -0
  1182. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/scipy.css_t +0 -0
  1183. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/theme.conf +0 -0
  1184. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/conf.py +0 -0
  1185. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/index.rst +0 -0
  1186. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc.rst +0 -0
  1187. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_2.rst +0 -0
  1188. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_3.rst +0 -0
  1189. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_4.rst +0 -0
  1190. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_optimize.rst +0 -0
  1191. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/autosummary/class.rst +0 -0
  1192. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexcontent.html +0 -0
  1193. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexsidebar.html +0 -0
  1194. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/layout.html +0 -0
  1195. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/about.rst +0 -0
  1196. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/bugs.rst +0 -0
  1197. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/contents.rst +0 -0
  1198. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/configure_git.rst +0 -0
  1199. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/development_setup.rst +0 -0
  1200. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/dot2_dot3.rst +0 -0
  1201. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/following_latest.rst +0 -0
  1202. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/forking_button.png +0 -0
  1203. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_development.rst +0 -0
  1204. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_intro.rst +0 -0
  1205. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_resources.rst +0 -0
  1206. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/pull_button.png +0 -0
  1207. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash_links.txt +0 -0
  1208. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/advanced.rst +0 -0
  1209. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr.f90 +0 -0
  1210. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr_session.dat +0 -0
  1211. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array.f +0 -0
  1212. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array_session.dat +0 -0
  1213. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate.f +0 -0
  1214. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate_session.dat +0 -0
  1215. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback.f +0 -0
  1216. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback2.pyf +0 -0
  1217. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback_session.dat +0 -0
  1218. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common.f +0 -0
  1219. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common_session.dat +0 -0
  1220. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/compile_session.dat +0 -0
  1221. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/distutils.rst +0 -0
  1222. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback.f +0 -0
  1223. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback_session.dat +0 -0
  1224. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.f +0 -0
  1225. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.pyf +0 -0
  1226. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib2.pyf +0 -0
  1227. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib3.f +0 -0
  1228. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype.f +0 -0
  1229. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype_session.dat +0 -0
  1230. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/getting-started.rst +0 -0
  1231. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/index.rst +0 -0
  1232. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata.f90 +0 -0
  1233. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata_session.dat +0 -0
  1234. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/python-usage.rst +0 -0
  1235. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/run_main_session.dat +0 -0
  1236. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar.f +0 -0
  1237. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar_session.dat +0 -0
  1238. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/setup_example.py +0 -0
  1239. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/signature-file.rst +0 -0
  1240. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam.pyf +0 -0
  1241. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam_session.dat +0 -0
  1242. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string.f +0 -0
  1243. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string_session.dat +0 -0
  1244. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/usage.rst +0 -0
  1245. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var.pyf +0 -0
  1246. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var_session.dat +0 -0
  1247. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/glossary.rst +0 -0
  1248. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/license.rst +0 -0
  1249. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal.rst +0 -0
  1250. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal3.rst +0 -0
  1251. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/deferred-ufunc-evaluation.rst +0 -0
  1252. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/generalized-ufuncs.rst +0 -0
  1253. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/groupby_additions.rst +0 -0
  1254. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/index.rst +0 -0
  1255. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/math_config_clean.rst +0 -0
  1256. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/missing-data.rst +0 -0
  1257. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/new-iterator-ufunc.rst +0 -0
  1258. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/newbugtracker.rst +0 -0
  1259. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/npy-format.rst +0 -0
  1260. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/structured_array_extensions.rst +0 -0
  1261. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/ufunc-overrides.rst +0 -0
  1262. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/warnfix.rst +0 -0
  1263. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.datetime.rst +0 -0
  1264. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.nditer.rst +0 -0
  1265. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.rst +0 -0
  1266. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.deprecations.rst +0 -0
  1267. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.rst +0 -0
  1268. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/distutils.rst +0 -0
  1269. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.dia +0 -0
  1270. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.pdf +0 -0
  1271. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.png +0 -0
  1272. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.fig +0 -0
  1273. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.pdf +0 -0
  1274. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.png +0 -0
  1275. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/internals.rst +0 -0
  1276. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.baseclass.rst +0 -0
  1277. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.generic.rst +0 -0
  1278. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.rst +0 -0
  1279. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.array-creation.rst +0 -0
  1280. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.bitwise.rst +0 -0
  1281. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.char.rst +0 -0
  1282. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.ctypeslib.rst +0 -0
  1283. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.datetime.rst +0 -0
  1284. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dtype.rst +0 -0
  1285. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dual.rst +0 -0
  1286. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.emath.rst +0 -0
  1287. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.err.rst +0 -0
  1288. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.fft.rst +0 -0
  1289. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.financial.rst +0 -0
  1290. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.functional.rst +0 -0
  1291. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.help.rst +0 -0
  1292. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.indexing.rst +0 -0
  1293. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.logic.rst +0 -0
  1294. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.math.rst +0 -0
  1295. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.matlib.rst +0 -0
  1296. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.numarray.rst +0 -0
  1297. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.oldnumeric.rst +0 -0
  1298. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.other.rst +0 -0
  1299. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.padding.rst +0 -0
  1300. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.chebyshev.rst +0 -0
  1301. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.classes.rst +0 -0
  1302. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite.rst +0 -0
  1303. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite_e.rst +0 -0
  1304. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.laguerre.rst +0 -0
  1305. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.legendre.rst +0 -0
  1306. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.package.rst +0 -0
  1307. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.poly1d.rst +0 -0
  1308. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.polynomial.rst +0 -0
  1309. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.rst +0 -0
  1310. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.random.rst +0 -0
  1311. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.rst +0 -0
  1312. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.set.rst +0 -0
  1313. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.testing.rst +0 -0
  1314. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.window.rst +0 -0
  1315. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/swig.rst +0 -0
  1316. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.broadcasting.rst +0 -0
  1317. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.byteswapping.rst +0 -0
  1318. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.creation.rst +0 -0
  1319. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.indexing.rst +0 -0
  1320. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.io.rst +0 -0
  1321. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.rst +0 -0
  1322. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.subclassing.rst +0 -0
  1323. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.types.rst +0 -0
  1324. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/c-info.rst +0 -0
  1325. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/howtofind.rst +0 -0
  1326. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/index.rst +0 -0
  1327. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/introduction.rst +0 -0
  1328. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/misc.rst +0 -0
  1329. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/performance.rst +0 -0
  1330. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/whatisnumpy.rst +0 -0
  1331. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.gitignore +0 -0
  1332. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.travis.yml +0 -0
  1333. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/LICENSE.txt +0 -0
  1334. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/MANIFEST.in +0 -0
  1335. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/README.rst +0 -0
  1336. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/__init__.py +0 -0
  1337. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/comment_eater.py +0 -0
  1338. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/compiler_unparse.py +0 -0
  1339. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape.py +0 -0
  1340. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape_sphinx.py +0 -0
  1341. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/linkcode.py +0 -0
  1342. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/numpydoc.py +0 -0
  1343. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/phantom_import.py +0 -0
  1344. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/plot_directive.py +0 -0
  1345. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_docscrape.py +0 -0
  1346. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_linkcode.py +0 -0
  1347. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_phantom_import.py +0 -0
  1348. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_plot_directive.py +0 -0
  1349. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_traitsdoc.py +0 -0
  1350. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/traitsdoc.py +0 -0
  1351. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/setup.py +0 -0
  1352. {numpy-1.9.2/numpy/core/code_generators → numpy-1.10.0.post2/numpy/_build_utils}/__init__.py +0 -0
  1353. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/compat/__init__.py +0 -0
  1354. {numpy-1.9.2/numpy/distutils/tests/f2py_ext → numpy-1.10.0.post2/numpy/core/code_generators}/__init__.py +0 -0
  1355. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/genapi.py +0 -0
  1356. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/generate_numpy_api.py +0 -0
  1357. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/cversions.py +0 -0
  1358. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_neighborhood_iterator_imp.h +0 -0
  1359. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_numpyconfig.h.in +0 -0
  1360. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayobject.h +0 -0
  1361. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayscalars.h +0 -0
  1362. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/halffloat.h +0 -0
  1363. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/noprefix.h +0 -0
  1364. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_1_7_deprecated_api.h +0 -0
  1365. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_interrupt.h +0 -0
  1366. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_no_deprecated_api.h +0 -0
  1367. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_os.h +0 -0
  1368. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/old_defines.h +0 -0
  1369. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/oldnumeric.h +0 -0
  1370. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/ufuncobject.h +0 -0
  1371. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/utils.h +0 -0
  1372. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/info.py +0 -0
  1373. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/mlib.ini.in +0 -0
  1374. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/npymath.ini.in +0 -0
  1375. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/dummymodule.c +0 -0
  1376. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/_datetime.h +0 -0
  1377. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/alloc.h +0 -0
  1378. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.c +0 -0
  1379. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.h +0 -0
  1380. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_array.c +0 -0
  1381. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_scalar.c +0 -0
  1382. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/arrayobject.h +0 -0
  1383. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/buffer.h +0 -0
  1384. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/calculation.h +0 -0
  1385. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/conversion_utils.h +0 -0
  1386. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert.h +0 -0
  1387. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert_datatype.h +0 -0
  1388. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ctors.h +0 -0
  1389. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busday.h +0 -0
  1390. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busdaycal.h +0 -0
  1391. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_strings.h +0 -0
  1392. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/descriptor.h +0 -0
  1393. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/flagsobject.c +0 -0
  1394. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/getset.h +0 -0
  1395. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/hashdescr.h +0 -0
  1396. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/item_selection.h +0 -0
  1397. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/iterators.h +0 -0
  1398. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/methods.h +0 -0
  1399. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_impl.h +0 -0
  1400. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_pywrap.h +0 -0
  1401. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_templ.c.src +0 -0
  1402. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpymemoryview.h +0 -0
  1403. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpyos.h +0 -0
  1404. {numpy-1.9.2/numpy/core/blasdot → numpy-1.10.0.post2/numpy/core/src/multiarray}/python_xerbla.c +0 -0
  1405. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.c +0 -0
  1406. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.h +0 -0
  1407. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.c +0 -0
  1408. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.h +0 -0
  1409. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/shape.h +0 -0
  1410. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ucsnarrow.h +0 -0
  1411. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.c +0 -0
  1412. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.h +0 -0
  1413. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/_signbit.c +0 -0
  1414. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/halffloat.c +0 -0
  1415. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/npy_math_common.h +0 -0
  1416. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npysort/binsearch.c.src +0 -0
  1417. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/lowlevel_strided_loops.h +0 -0
  1418. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_binsearch.h.src +0 -0
  1419. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_fpmath.h +0 -0
  1420. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_pycompat.h +0 -0
  1421. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.c +0 -0
  1422. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.h +0 -0
  1423. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/struct_ufunc_test.c.src +0 -0
  1424. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_object.h +0 -0
  1425. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_type_resolution.h +0 -0
  1426. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/astype_copy.pkl +0 -0
  1427. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/recarray_from_file.fits +0 -0
  1428. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/test_scalarprint.py +0 -0
  1429. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ctypeslib.py +0 -0
  1430. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/__version__.py +0 -0
  1431. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/__init__.py +0 -0
  1432. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/bdist_rpm.py +0 -0
  1433. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_py.py +0 -0
  1434. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_scripts.py +0 -0
  1435. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_src.py +0 -0
  1436. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/config_compiler.py +0 -0
  1437. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/develop.py +0 -0
  1438. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/egg_info.py +0 -0
  1439. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install.py +0 -0
  1440. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_clib.py +0 -0
  1441. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_data.py +0 -0
  1442. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_headers.py +0 -0
  1443. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/sdist.py +0 -0
  1444. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/compat.py +0 -0
  1445. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/conv_template.py +0 -0
  1446. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/core.py +0 -0
  1447. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/cpuinfo.py +0 -0
  1448. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/environment.py +0 -0
  1449. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/extension.py +0 -0
  1450. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/__init__.py +0 -0
  1451. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/absoft.py +0 -0
  1452. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/g95.py +0 -0
  1453. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/hpux.py +0 -0
  1454. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/ibm.py +0 -0
  1455. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/lahey.py +0 -0
  1456. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/mips.py +0 -0
  1457. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/nag.py +0 -0
  1458. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/none.py +0 -0
  1459. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/pathf95.py +0 -0
  1460. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/vast.py +0 -0
  1461. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/from_template.py +0 -0
  1462. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/info.py +0 -0
  1463. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/line_endings.py +0 -0
  1464. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/log.py +0 -0
  1465. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/mingw/gfortran_vs2003_hack.c +0 -0
  1466. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/numpy_distribution.py +0 -0
  1467. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/pathccompiler.py +0 -0
  1468. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/setup.py +0 -0
  1469. {numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext}/__init__.py +0 -0
  1470. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/setup.py +0 -0
  1471. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib1.f +0 -0
  1472. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib2.pyf +0 -0
  1473. {numpy-1.9.2/numpy/distutils/tests/gen_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext}/__init__.py +0 -0
  1474. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/include/body.f90 +0 -0
  1475. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/setup.py +0 -0
  1476. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/src/foo_free.f90 +0 -0
  1477. {numpy-1.9.2/numpy/distutils/tests/pyrex_ext → numpy-1.10.0.post2/numpy/distutils/tests/gen_ext}/__init__.py +0 -0
  1478. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/gen_ext/setup.py +0 -0
  1479. {numpy-1.9.2/numpy/distutils/tests/swig_ext → numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext}/__init__.py +0 -0
  1480. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/primes.pyx +0 -0
  1481. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/setup.py +0 -0
  1482. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/setup.py +0 -0
  1483. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/setup.py +0 -0
  1484. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.c +0 -0
  1485. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.i +0 -0
  1486. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.cc +0 -0
  1487. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.h +0 -0
  1488. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.i +0 -0
  1489. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/test_exec_command.py +0 -0
  1490. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/__init__.py +0 -0
  1491. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/basics.py +0 -0
  1492. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/broadcasting.py +0 -0
  1493. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/constants.py +0 -0
  1494. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/howtofind.py +0 -0
  1495. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/internals.py +0 -0
  1496. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/io.py +0 -0
  1497. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/jargon.py +0 -0
  1498. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/methods_vs_functions.py +0 -0
  1499. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/misc.py +0 -0
  1500. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/performance.py +0 -0
  1501. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/subclassing.py +0 -0
  1502. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/ufuncs.py +0 -0
  1503. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/dual.py +0 -0
  1504. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/__version__.py +0 -0
  1505. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/info.py +0 -0
  1506. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +0 -0
  1507. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_free.f90 +0 -0
  1508. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +0 -0
  1509. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_use.f90 +0 -0
  1510. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/precision.f90 +0 -0
  1511. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/kind/foo.f90 +0 -0
  1512. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo.f +0 -0
  1513. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_fixed.f90 +0 -0
  1514. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_free.f90 +0 -0
  1515. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/regression/inout.f90 +0 -0
  1516. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/size/foo.f90 +0 -0
  1517. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/__init__.py +0 -0
  1518. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/helper.py +0 -0
  1519. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/__init__.py +0 -0
  1520. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_datasource.py +0 -0
  1521. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_version.py +0 -0
  1522. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/scimath.py +0 -0
  1523. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/python3.npy +0 -0
  1524. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/win64python2.npy +0 -0
  1525. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test__datasource.py +0 -0
  1526. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_arrayterator.py +0 -0
  1527. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_regression.py +0 -0
  1528. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_ufunclike.py +0 -0
  1529. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_utils.py +0 -0
  1530. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/ufunclike.py +0 -0
  1531. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/user_array.py +0 -0
  1532. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/__init__.py +0 -0
  1533. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/info.py +0 -0
  1534. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/blas_lite.c +0 -0
  1535. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlamch.c +0 -0
  1536. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlapack_lite.c +0 -0
  1537. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c.h +0 -0
  1538. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c_lite.c +0 -0
  1539. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/zlapack_lite.c +0 -0
  1540. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/setup.py +0 -0
  1541. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/tests/test_deprecations.py +0 -0
  1542. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ma/version.py +0 -0
  1543. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/__init__.py +0 -0
  1544. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/setup.py +0 -0
  1545. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/__init__.py +0 -0
  1546. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/polynomial.py +0 -0
  1547. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/setup.py +0 -0
  1548. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_chebyshev.py +0 -0
  1549. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_classes.py +0 -0
  1550. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite.py +0 -0
  1551. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite_e.py +0 -0
  1552. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_laguerre.py +0 -0
  1553. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_legendre.py +0 -0
  1554. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polynomial.py +0 -0
  1555. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polyutils.py +0 -0
  1556. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_printing.py +0 -0
  1557. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/__init__.py +0 -0
  1558. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/info.py +0 -0
  1559. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/Python.pxi +0 -0
  1560. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/distributions.h +0 -0
  1561. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/generate_mtrand_c.py +0 -0
  1562. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.c +0 -0
  1563. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.h +0 -0
  1564. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/mtrand_py_helper.h +0 -0
  1565. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/numpy.pxd +0 -0
  1566. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.c +0 -0
  1567. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.h +0 -0
  1568. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/testing/tests/test_doctesting.py +0 -0
  1569. {numpy-1.9.2 → numpy-1.10.0.post2}/setupegg.py +0 -0
  1570. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/Makefile +0 -0
  1571. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/pyfragments.swg +0 -0
  1572. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.cxx +0 -0
  1573. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.h +0 -0
  1574. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.cxx +0 -0
  1575. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.h +0 -0
  1576. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.cxx +0 -0
  1577. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.h +0 -0
  1578. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.i +0 -0
  1579. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.cxx +0 -0
  1580. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.h +0 -0
  1581. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.i +0 -0
  1582. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.cxx +0 -0
  1583. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.h +0 -0
  1584. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.i +0 -0
  1585. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.cxx +0 -0
  1586. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.h +0 -0
  1587. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.i +0 -0
  1588. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.cxx +0 -0
  1589. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.h +0 -0
  1590. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.i +0 -0
  1591. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.cxx +0 -0
  1592. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.h +0 -0
  1593. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.i +0 -0
@@ -0,0 +1,1933 @@
1
+ from __future__ import division, absolute_import, print_function
2
+
3
+ import sys
4
+ import platform
5
+ import warnings
6
+
7
+ from numpy.testing.utils import _gen_alignment_data
8
+ import numpy.core.umath as ncu
9
+ import numpy as np
10
+ from numpy.testing import (
11
+ TestCase, run_module_suite, assert_, assert_equal, assert_raises,
12
+ assert_array_equal, assert_almost_equal, assert_array_almost_equal,
13
+ dec, assert_allclose, assert_no_warnings
14
+ )
15
+
16
+
17
+ def on_powerpc():
18
+ """ True if we are running on a Power PC platform."""
19
+ return platform.processor() == 'powerpc' or \
20
+ platform.machine().startswith('ppc')
21
+
22
+
23
+ class _FilterInvalids(object):
24
+ def setUp(self):
25
+ self.olderr = np.seterr(invalid='ignore')
26
+
27
+ def tearDown(self):
28
+ np.seterr(**self.olderr)
29
+
30
+
31
+ class TestConstants(TestCase):
32
+ def test_pi(self):
33
+ assert_allclose(ncu.pi, 3.141592653589793, 1e-15)
34
+
35
+ def test_e(self):
36
+ assert_allclose(ncu.e, 2.718281828459045, 1e-15)
37
+
38
+ def test_euler_gamma(self):
39
+ assert_allclose(ncu.euler_gamma, 0.5772156649015329, 1e-15)
40
+
41
+
42
+ class TestOut(TestCase):
43
+ def test_out_subok(self):
44
+ for subok in (True, False):
45
+ a = np.array(0.5)
46
+ o = np.empty(())
47
+
48
+ r = np.add(a, 2, o, subok=subok)
49
+ assert_(r is o)
50
+ r = np.add(a, 2, out=o, subok=subok)
51
+ assert_(r is o)
52
+ r = np.add(a, 2, out=(o,), subok=subok)
53
+ assert_(r is o)
54
+
55
+ d = np.array(5.7)
56
+ o1 = np.empty(())
57
+ o2 = np.empty((), dtype=np.int32)
58
+
59
+ r1, r2 = np.frexp(d, o1, None, subok=subok)
60
+ assert_(r1 is o1)
61
+ r1, r2 = np.frexp(d, None, o2, subok=subok)
62
+ assert_(r2 is o2)
63
+ r1, r2 = np.frexp(d, o1, o2, subok=subok)
64
+ assert_(r1 is o1)
65
+ assert_(r2 is o2)
66
+
67
+ r1, r2 = np.frexp(d, out=(o1, None), subok=subok)
68
+ assert_(r1 is o1)
69
+ r1, r2 = np.frexp(d, out=(None, o2), subok=subok)
70
+ assert_(r2 is o2)
71
+ r1, r2 = np.frexp(d, out=(o1, o2), subok=subok)
72
+ assert_(r1 is o1)
73
+ assert_(r2 is o2)
74
+
75
+ with warnings.catch_warnings(record=True) as w:
76
+ warnings.filterwarnings('always', '', DeprecationWarning)
77
+ r1, r2 = np.frexp(d, out=o1, subok=subok)
78
+ assert_(r1 is o1)
79
+ assert_(w[0].category is DeprecationWarning)
80
+
81
+ assert_raises(ValueError, np.add, a, 2, o, o, subok=subok)
82
+ assert_raises(ValueError, np.add, a, 2, o, out=o, subok=subok)
83
+ assert_raises(ValueError, np.add, a, 2, None, out=o, subok=subok)
84
+ assert_raises(ValueError, np.add, a, 2, out=(o, o), subok=subok)
85
+ assert_raises(ValueError, np.add, a, 2, out=(), subok=subok)
86
+ assert_raises(TypeError, np.add, a, 2, [], subok=subok)
87
+ assert_raises(TypeError, np.add, a, 2, out=[], subok=subok)
88
+ assert_raises(TypeError, np.add, a, 2, out=([],), subok=subok)
89
+ o.flags.writeable = False
90
+ assert_raises(ValueError, np.add, a, 2, o, subok=subok)
91
+ assert_raises(ValueError, np.add, a, 2, out=o, subok=subok)
92
+ assert_raises(ValueError, np.add, a, 2, out=(o,), subok=subok)
93
+
94
+ def test_out_wrap_subok(self):
95
+ class ArrayWrap(np.ndarray):
96
+ __array_priority__ = 10
97
+
98
+ def __new__(cls, arr):
99
+ return np.asarray(arr).view(cls).copy()
100
+
101
+ def __array_wrap__(self, arr, context):
102
+ return arr.view(type(self))
103
+
104
+ for subok in (True, False):
105
+ a = ArrayWrap([0.5])
106
+
107
+ r = np.add(a, 2, subok=subok)
108
+ if subok:
109
+ assert_(isinstance(r, ArrayWrap))
110
+ else:
111
+ assert_(type(r) == np.ndarray)
112
+
113
+ r = np.add(a, 2, None, subok=subok)
114
+ if subok:
115
+ assert_(isinstance(r, ArrayWrap))
116
+ else:
117
+ assert_(type(r) == np.ndarray)
118
+
119
+ r = np.add(a, 2, out=None, subok=subok)
120
+ if subok:
121
+ assert_(isinstance(r, ArrayWrap))
122
+ else:
123
+ assert_(type(r) == np.ndarray)
124
+
125
+ r = np.add(a, 2, out=(None,), subok=subok)
126
+ if subok:
127
+ assert_(isinstance(r, ArrayWrap))
128
+ else:
129
+ assert_(type(r) == np.ndarray)
130
+
131
+ d = ArrayWrap([5.7])
132
+ o1 = np.empty((1,))
133
+ o2 = np.empty((1,), dtype=np.int32)
134
+
135
+ r1, r2 = np.frexp(d, o1, subok=subok)
136
+ if subok:
137
+ assert_(isinstance(r2, ArrayWrap))
138
+ else:
139
+ assert_(type(r2) == np.ndarray)
140
+
141
+ r1, r2 = np.frexp(d, o1, None, subok=subok)
142
+ if subok:
143
+ assert_(isinstance(r2, ArrayWrap))
144
+ else:
145
+ assert_(type(r2) == np.ndarray)
146
+
147
+ r1, r2 = np.frexp(d, None, o2, subok=subok)
148
+ if subok:
149
+ assert_(isinstance(r1, ArrayWrap))
150
+ else:
151
+ assert_(type(r1) == np.ndarray)
152
+
153
+ r1, r2 = np.frexp(d, out=(o1, None), subok=subok)
154
+ if subok:
155
+ assert_(isinstance(r2, ArrayWrap))
156
+ else:
157
+ assert_(type(r2) == np.ndarray)
158
+
159
+ r1, r2 = np.frexp(d, out=(None, o2), subok=subok)
160
+ if subok:
161
+ assert_(isinstance(r1, ArrayWrap))
162
+ else:
163
+ assert_(type(r1) == np.ndarray)
164
+
165
+ with warnings.catch_warnings(record=True) as w:
166
+ warnings.filterwarnings('always', '', DeprecationWarning)
167
+ r1, r2 = np.frexp(d, out=o1, subok=subok)
168
+ if subok:
169
+ assert_(isinstance(r2, ArrayWrap))
170
+ else:
171
+ assert_(type(r2) == np.ndarray)
172
+ assert_(w[0].category is DeprecationWarning)
173
+
174
+
175
+ class TestDivision(TestCase):
176
+ def test_division_int(self):
177
+ # int division should follow Python
178
+ x = np.array([5, 10, 90, 100, -5, -10, -90, -100, -120])
179
+ if 5 / 10 == 0.5:
180
+ assert_equal(x / 100, [0.05, 0.1, 0.9, 1,
181
+ -0.05, -0.1, -0.9, -1, -1.2])
182
+ else:
183
+ assert_equal(x / 100, [0, 0, 0, 1, -1, -1, -1, -1, -2])
184
+ assert_equal(x // 100, [0, 0, 0, 1, -1, -1, -1, -1, -2])
185
+ assert_equal(x % 100, [5, 10, 90, 0, 95, 90, 10, 0, 80])
186
+
187
+ def test_division_complex(self):
188
+ # check that implementation is correct
189
+ msg = "Complex division implementation check"
190
+ x = np.array([1. + 1.*1j, 1. + .5*1j, 1. + 2.*1j], dtype=np.complex128)
191
+ assert_almost_equal(x**2/x, x, err_msg=msg)
192
+ # check overflow, underflow
193
+ msg = "Complex division overflow/underflow check"
194
+ x = np.array([1.e+110, 1.e-110], dtype=np.complex128)
195
+ y = x**2/x
196
+ assert_almost_equal(y/x, [1, 1], err_msg=msg)
197
+
198
+ def test_zero_division_complex(self):
199
+ with np.errstate(invalid="ignore", divide="ignore"):
200
+ x = np.array([0.0], dtype=np.complex128)
201
+ y = 1.0/x
202
+ assert_(np.isinf(y)[0])
203
+ y = complex(np.inf, np.nan)/x
204
+ assert_(np.isinf(y)[0])
205
+ y = complex(np.nan, np.inf)/x
206
+ assert_(np.isinf(y)[0])
207
+ y = complex(np.inf, np.inf)/x
208
+ assert_(np.isinf(y)[0])
209
+ y = 0.0/x
210
+ assert_(np.isnan(y)[0])
211
+
212
+ def test_floor_division_complex(self):
213
+ # check that implementation is correct
214
+ msg = "Complex floor division implementation check"
215
+ x = np.array([.9 + 1j, -.1 + 1j, .9 + .5*1j, .9 + 2.*1j], dtype=np.complex128)
216
+ y = np.array([0., -1., 0., 0.], dtype=np.complex128)
217
+ assert_equal(np.floor_divide(x**2, x), y, err_msg=msg)
218
+ # check overflow, underflow
219
+ msg = "Complex floor division overflow/underflow check"
220
+ x = np.array([1.e+110, 1.e-110], dtype=np.complex128)
221
+ y = np.floor_divide(x**2, x)
222
+ assert_equal(y, [1.e+110, 0], err_msg=msg)
223
+
224
+
225
+ class TestCbrt(TestCase):
226
+ def test_cbrt_scalar(self):
227
+ assert_almost_equal((np.cbrt(np.float32(-2.5)**3)), -2.5)
228
+
229
+ def test_cbrt(self):
230
+ x = np.array([1., 2., -3., np.inf, -np.inf])
231
+ assert_almost_equal(np.cbrt(x**3), x)
232
+
233
+ assert_(np.isnan(np.cbrt(np.nan)))
234
+ assert_equal(np.cbrt(np.inf), np.inf)
235
+ assert_equal(np.cbrt(-np.inf), -np.inf)
236
+
237
+
238
+ class TestPower(TestCase):
239
+ def test_power_float(self):
240
+ x = np.array([1., 2., 3.])
241
+ assert_equal(x**0, [1., 1., 1.])
242
+ assert_equal(x**1, x)
243
+ assert_equal(x**2, [1., 4., 9.])
244
+ y = x.copy()
245
+ y **= 2
246
+ assert_equal(y, [1., 4., 9.])
247
+ assert_almost_equal(x**(-1), [1., 0.5, 1./3])
248
+ assert_almost_equal(x**(0.5), [1., ncu.sqrt(2), ncu.sqrt(3)])
249
+
250
+ for out, inp, msg in _gen_alignment_data(dtype=np.float32,
251
+ type='unary',
252
+ max_size=11):
253
+ exp = [ncu.sqrt(i) for i in inp]
254
+ assert_almost_equal(inp**(0.5), exp, err_msg=msg)
255
+ np.sqrt(inp, out=out)
256
+ assert_equal(out, exp, err_msg=msg)
257
+
258
+ for out, inp, msg in _gen_alignment_data(dtype=np.float64,
259
+ type='unary',
260
+ max_size=7):
261
+ exp = [ncu.sqrt(i) for i in inp]
262
+ assert_almost_equal(inp**(0.5), exp, err_msg=msg)
263
+ np.sqrt(inp, out=out)
264
+ assert_equal(out, exp, err_msg=msg)
265
+
266
+ def test_power_complex(self):
267
+ x = np.array([1+2j, 2+3j, 3+4j])
268
+ assert_equal(x**0, [1., 1., 1.])
269
+ assert_equal(x**1, x)
270
+ assert_almost_equal(x**2, [-3+4j, -5+12j, -7+24j])
271
+ assert_almost_equal(x**3, [(1+2j)**3, (2+3j)**3, (3+4j)**3])
272
+ assert_almost_equal(x**4, [(1+2j)**4, (2+3j)**4, (3+4j)**4])
273
+ assert_almost_equal(x**(-1), [1/(1+2j), 1/(2+3j), 1/(3+4j)])
274
+ assert_almost_equal(x**(-2), [1/(1+2j)**2, 1/(2+3j)**2, 1/(3+4j)**2])
275
+ assert_almost_equal(x**(-3), [(-11+2j)/125, (-46-9j)/2197,
276
+ (-117-44j)/15625])
277
+ assert_almost_equal(x**(0.5), [ncu.sqrt(1+2j), ncu.sqrt(2+3j),
278
+ ncu.sqrt(3+4j)])
279
+ norm = 1./((x**14)[0])
280
+ assert_almost_equal(x**14 * norm,
281
+ [i * norm for i in [-76443+16124j, 23161315+58317492j,
282
+ 5583548873 + 2465133864j]])
283
+
284
+ # Ticket #836
285
+ def assert_complex_equal(x, y):
286
+ assert_array_equal(x.real, y.real)
287
+ assert_array_equal(x.imag, y.imag)
288
+
289
+ for z in [complex(0, np.inf), complex(1, np.inf)]:
290
+ z = np.array([z], dtype=np.complex_)
291
+ with np.errstate(invalid="ignore"):
292
+ assert_complex_equal(z**1, z)
293
+ assert_complex_equal(z**2, z*z)
294
+ assert_complex_equal(z**3, z*z*z)
295
+
296
+ def test_power_zero(self):
297
+ # ticket #1271
298
+ zero = np.array([0j])
299
+ one = np.array([1+0j])
300
+ cnan = np.array([complex(np.nan, np.nan)])
301
+ # FIXME cinf not tested.
302
+ #cinf = np.array([complex(np.inf, 0)])
303
+
304
+ def assert_complex_equal(x, y):
305
+ x, y = np.asarray(x), np.asarray(y)
306
+ assert_array_equal(x.real, y.real)
307
+ assert_array_equal(x.imag, y.imag)
308
+
309
+ # positive powers
310
+ for p in [0.33, 0.5, 1, 1.5, 2, 3, 4, 5, 6.6]:
311
+ assert_complex_equal(np.power(zero, p), zero)
312
+
313
+ # zero power
314
+ assert_complex_equal(np.power(zero, 0), one)
315
+ with np.errstate(invalid="ignore"):
316
+ assert_complex_equal(np.power(zero, 0+1j), cnan)
317
+
318
+ # negative power
319
+ for p in [0.33, 0.5, 1, 1.5, 2, 3, 4, 5, 6.6]:
320
+ assert_complex_equal(np.power(zero, -p), cnan)
321
+ assert_complex_equal(np.power(zero, -1+0.2j), cnan)
322
+
323
+ def test_fast_power(self):
324
+ x = np.array([1, 2, 3], np.int16)
325
+ assert_((x**2.00001).dtype is (x**2.0).dtype)
326
+
327
+ # Check that the fast path ignores 1-element not 0-d arrays
328
+ res = x ** np.array([[[2]]])
329
+ assert_equal(res.shape, (1, 1, 3))
330
+
331
+
332
+ class TestLog2(TestCase):
333
+ def test_log2_values(self):
334
+ x = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
335
+ y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
336
+ for dt in ['f', 'd', 'g']:
337
+ xf = np.array(x, dtype=dt)
338
+ yf = np.array(y, dtype=dt)
339
+ assert_almost_equal(np.log2(xf), yf)
340
+
341
+ def test_log2_ints(self):
342
+ # a good log2 implementation should provide this,
343
+ # might fail on OS with bad libm
344
+ for i in range(1, 65):
345
+ v = np.log2(2.**i)
346
+ assert_equal(v, float(i), err_msg='at exponent %d' % i)
347
+
348
+ def test_log2_special(self):
349
+ assert_equal(np.log2(1.), 0.)
350
+ assert_equal(np.log2(np.inf), np.inf)
351
+ assert_(np.isnan(np.log2(np.nan)))
352
+
353
+ with warnings.catch_warnings(record=True) as w:
354
+ warnings.filterwarnings('always', '', RuntimeWarning)
355
+ assert_(np.isnan(np.log2(-1.)))
356
+ assert_(np.isnan(np.log2(-np.inf)))
357
+ assert_equal(np.log2(0.), -np.inf)
358
+ assert_(w[0].category is RuntimeWarning)
359
+ assert_(w[1].category is RuntimeWarning)
360
+ assert_(w[2].category is RuntimeWarning)
361
+
362
+
363
+ class TestExp2(TestCase):
364
+ def test_exp2_values(self):
365
+ x = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
366
+ y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
367
+ for dt in ['f', 'd', 'g']:
368
+ xf = np.array(x, dtype=dt)
369
+ yf = np.array(y, dtype=dt)
370
+ assert_almost_equal(np.exp2(yf), xf)
371
+
372
+
373
+ class TestLogAddExp2(_FilterInvalids):
374
+ # Need test for intermediate precisions
375
+ def test_logaddexp2_values(self):
376
+ x = [1, 2, 3, 4, 5]
377
+ y = [5, 4, 3, 2, 1]
378
+ z = [6, 6, 6, 6, 6]
379
+ for dt, dec_ in zip(['f', 'd', 'g'], [6, 15, 15]):
380
+ xf = np.log2(np.array(x, dtype=dt))
381
+ yf = np.log2(np.array(y, dtype=dt))
382
+ zf = np.log2(np.array(z, dtype=dt))
383
+ assert_almost_equal(np.logaddexp2(xf, yf), zf, decimal=dec_)
384
+
385
+ def test_logaddexp2_range(self):
386
+ x = [1000000, -1000000, 1000200, -1000200]
387
+ y = [1000200, -1000200, 1000000, -1000000]
388
+ z = [1000200, -1000000, 1000200, -1000000]
389
+ for dt in ['f', 'd', 'g']:
390
+ logxf = np.array(x, dtype=dt)
391
+ logyf = np.array(y, dtype=dt)
392
+ logzf = np.array(z, dtype=dt)
393
+ assert_almost_equal(np.logaddexp2(logxf, logyf), logzf)
394
+
395
+ def test_inf(self):
396
+ inf = np.inf
397
+ x = [inf, -inf, inf, -inf, inf, 1, -inf, 1]
398
+ y = [inf, inf, -inf, -inf, 1, inf, 1, -inf]
399
+ z = [inf, inf, inf, -inf, inf, inf, 1, 1]
400
+ with np.errstate(invalid='raise'):
401
+ for dt in ['f', 'd', 'g']:
402
+ logxf = np.array(x, dtype=dt)
403
+ logyf = np.array(y, dtype=dt)
404
+ logzf = np.array(z, dtype=dt)
405
+ assert_equal(np.logaddexp2(logxf, logyf), logzf)
406
+
407
+ def test_nan(self):
408
+ assert_(np.isnan(np.logaddexp2(np.nan, np.inf)))
409
+ assert_(np.isnan(np.logaddexp2(np.inf, np.nan)))
410
+ assert_(np.isnan(np.logaddexp2(np.nan, 0)))
411
+ assert_(np.isnan(np.logaddexp2(0, np.nan)))
412
+ assert_(np.isnan(np.logaddexp2(np.nan, np.nan)))
413
+
414
+
415
+ class TestLog(TestCase):
416
+ def test_log_values(self):
417
+ x = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
418
+ y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
419
+ for dt in ['f', 'd', 'g']:
420
+ log2_ = 0.69314718055994530943
421
+ xf = np.array(x, dtype=dt)
422
+ yf = np.array(y, dtype=dt)*log2_
423
+ assert_almost_equal(np.log(xf), yf)
424
+
425
+
426
+ class TestExp(TestCase):
427
+ def test_exp_values(self):
428
+ x = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
429
+ y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
430
+ for dt in ['f', 'd', 'g']:
431
+ log2_ = 0.69314718055994530943
432
+ xf = np.array(x, dtype=dt)
433
+ yf = np.array(y, dtype=dt)*log2_
434
+ assert_almost_equal(np.exp(yf), xf)
435
+
436
+
437
+ class TestLogAddExp(_FilterInvalids):
438
+ def test_logaddexp_values(self):
439
+ x = [1, 2, 3, 4, 5]
440
+ y = [5, 4, 3, 2, 1]
441
+ z = [6, 6, 6, 6, 6]
442
+ for dt, dec_ in zip(['f', 'd', 'g'], [6, 15, 15]):
443
+ xf = np.log(np.array(x, dtype=dt))
444
+ yf = np.log(np.array(y, dtype=dt))
445
+ zf = np.log(np.array(z, dtype=dt))
446
+ assert_almost_equal(np.logaddexp(xf, yf), zf, decimal=dec_)
447
+
448
+ def test_logaddexp_range(self):
449
+ x = [1000000, -1000000, 1000200, -1000200]
450
+ y = [1000200, -1000200, 1000000, -1000000]
451
+ z = [1000200, -1000000, 1000200, -1000000]
452
+ for dt in ['f', 'd', 'g']:
453
+ logxf = np.array(x, dtype=dt)
454
+ logyf = np.array(y, dtype=dt)
455
+ logzf = np.array(z, dtype=dt)
456
+ assert_almost_equal(np.logaddexp(logxf, logyf), logzf)
457
+
458
+ def test_inf(self):
459
+ inf = np.inf
460
+ x = [inf, -inf, inf, -inf, inf, 1, -inf, 1]
461
+ y = [inf, inf, -inf, -inf, 1, inf, 1, -inf]
462
+ z = [inf, inf, inf, -inf, inf, inf, 1, 1]
463
+ with np.errstate(invalid='raise'):
464
+ for dt in ['f', 'd', 'g']:
465
+ logxf = np.array(x, dtype=dt)
466
+ logyf = np.array(y, dtype=dt)
467
+ logzf = np.array(z, dtype=dt)
468
+ assert_equal(np.logaddexp(logxf, logyf), logzf)
469
+
470
+ def test_nan(self):
471
+ assert_(np.isnan(np.logaddexp(np.nan, np.inf)))
472
+ assert_(np.isnan(np.logaddexp(np.inf, np.nan)))
473
+ assert_(np.isnan(np.logaddexp(np.nan, 0)))
474
+ assert_(np.isnan(np.logaddexp(0, np.nan)))
475
+ assert_(np.isnan(np.logaddexp(np.nan, np.nan)))
476
+
477
+
478
+ class TestLog1p(TestCase):
479
+ def test_log1p(self):
480
+ assert_almost_equal(ncu.log1p(0.2), ncu.log(1.2))
481
+ assert_almost_equal(ncu.log1p(1e-6), ncu.log(1+1e-6))
482
+
483
+ def test_special(self):
484
+ with np.errstate(invalid="ignore", divide="ignore"):
485
+ assert_equal(ncu.log1p(np.nan), np.nan)
486
+ assert_equal(ncu.log1p(np.inf), np.inf)
487
+ assert_equal(ncu.log1p(-1.), -np.inf)
488
+ assert_equal(ncu.log1p(-2.), np.nan)
489
+ assert_equal(ncu.log1p(-np.inf), np.nan)
490
+
491
+
492
+ class TestExpm1(TestCase):
493
+ def test_expm1(self):
494
+ assert_almost_equal(ncu.expm1(0.2), ncu.exp(0.2)-1)
495
+ assert_almost_equal(ncu.expm1(1e-6), ncu.exp(1e-6)-1)
496
+
497
+ def test_special(self):
498
+ assert_equal(ncu.expm1(np.inf), np.inf)
499
+ assert_equal(ncu.expm1(0.), 0.)
500
+ assert_equal(ncu.expm1(-0.), -0.)
501
+ assert_equal(ncu.expm1(np.inf), np.inf)
502
+ assert_equal(ncu.expm1(-np.inf), -1.)
503
+
504
+
505
+ class TestHypot(TestCase, object):
506
+ def test_simple(self):
507
+ assert_almost_equal(ncu.hypot(1, 1), ncu.sqrt(2))
508
+ assert_almost_equal(ncu.hypot(0, 0), 0)
509
+
510
+
511
+ def assert_hypot_isnan(x, y):
512
+ with np.errstate(invalid='ignore'):
513
+ assert_(np.isnan(ncu.hypot(x, y)),
514
+ "hypot(%s, %s) is %s, not nan" % (x, y, ncu.hypot(x, y)))
515
+
516
+
517
+ def assert_hypot_isinf(x, y):
518
+ with np.errstate(invalid='ignore'):
519
+ assert_(np.isinf(ncu.hypot(x, y)),
520
+ "hypot(%s, %s) is %s, not inf" % (x, y, ncu.hypot(x, y)))
521
+
522
+
523
+ class TestHypotSpecialValues(TestCase):
524
+ def test_nan_outputs(self):
525
+ assert_hypot_isnan(np.nan, np.nan)
526
+ assert_hypot_isnan(np.nan, 1)
527
+
528
+ def test_nan_outputs2(self):
529
+ assert_hypot_isinf(np.nan, np.inf)
530
+ assert_hypot_isinf(np.inf, np.nan)
531
+ assert_hypot_isinf(np.inf, 0)
532
+ assert_hypot_isinf(0, np.inf)
533
+ assert_hypot_isinf(np.inf, np.inf)
534
+ assert_hypot_isinf(np.inf, 23.0)
535
+
536
+ def test_no_fpe(self):
537
+ assert_no_warnings(ncu.hypot, np.inf, 0)
538
+
539
+
540
+ def assert_arctan2_isnan(x, y):
541
+ assert_(np.isnan(ncu.arctan2(x, y)), "arctan(%s, %s) is %s, not nan" % (x, y, ncu.arctan2(x, y)))
542
+
543
+
544
+ def assert_arctan2_ispinf(x, y):
545
+ assert_((np.isinf(ncu.arctan2(x, y)) and ncu.arctan2(x, y) > 0), "arctan(%s, %s) is %s, not +inf" % (x, y, ncu.arctan2(x, y)))
546
+
547
+
548
+ def assert_arctan2_isninf(x, y):
549
+ assert_((np.isinf(ncu.arctan2(x, y)) and ncu.arctan2(x, y) < 0), "arctan(%s, %s) is %s, not -inf" % (x, y, ncu.arctan2(x, y)))
550
+
551
+
552
+ def assert_arctan2_ispzero(x, y):
553
+ assert_((ncu.arctan2(x, y) == 0 and not np.signbit(ncu.arctan2(x, y))), "arctan(%s, %s) is %s, not +0" % (x, y, ncu.arctan2(x, y)))
554
+
555
+
556
+ def assert_arctan2_isnzero(x, y):
557
+ assert_((ncu.arctan2(x, y) == 0 and np.signbit(ncu.arctan2(x, y))), "arctan(%s, %s) is %s, not -0" % (x, y, ncu.arctan2(x, y)))
558
+
559
+
560
+ class TestArctan2SpecialValues(TestCase):
561
+ def test_one_one(self):
562
+ # atan2(1, 1) returns pi/4.
563
+ assert_almost_equal(ncu.arctan2(1, 1), 0.25 * np.pi)
564
+ assert_almost_equal(ncu.arctan2(-1, 1), -0.25 * np.pi)
565
+ assert_almost_equal(ncu.arctan2(1, -1), 0.75 * np.pi)
566
+
567
+ def test_zero_nzero(self):
568
+ # atan2(+-0, -0) returns +-pi.
569
+ assert_almost_equal(ncu.arctan2(np.PZERO, np.NZERO), np.pi)
570
+ assert_almost_equal(ncu.arctan2(np.NZERO, np.NZERO), -np.pi)
571
+
572
+ def test_zero_pzero(self):
573
+ # atan2(+-0, +0) returns +-0.
574
+ assert_arctan2_ispzero(np.PZERO, np.PZERO)
575
+ assert_arctan2_isnzero(np.NZERO, np.PZERO)
576
+
577
+ def test_zero_negative(self):
578
+ # atan2(+-0, x) returns +-pi for x < 0.
579
+ assert_almost_equal(ncu.arctan2(np.PZERO, -1), np.pi)
580
+ assert_almost_equal(ncu.arctan2(np.NZERO, -1), -np.pi)
581
+
582
+ def test_zero_positive(self):
583
+ # atan2(+-0, x) returns +-0 for x > 0.
584
+ assert_arctan2_ispzero(np.PZERO, 1)
585
+ assert_arctan2_isnzero(np.NZERO, 1)
586
+
587
+ def test_positive_zero(self):
588
+ # atan2(y, +-0) returns +pi/2 for y > 0.
589
+ assert_almost_equal(ncu.arctan2(1, np.PZERO), 0.5 * np.pi)
590
+ assert_almost_equal(ncu.arctan2(1, np.NZERO), 0.5 * np.pi)
591
+
592
+ def test_negative_zero(self):
593
+ # atan2(y, +-0) returns -pi/2 for y < 0.
594
+ assert_almost_equal(ncu.arctan2(-1, np.PZERO), -0.5 * np.pi)
595
+ assert_almost_equal(ncu.arctan2(-1, np.NZERO), -0.5 * np.pi)
596
+
597
+ def test_any_ninf(self):
598
+ # atan2(+-y, -infinity) returns +-pi for finite y > 0.
599
+ assert_almost_equal(ncu.arctan2(1, np.NINF), np.pi)
600
+ assert_almost_equal(ncu.arctan2(-1, np.NINF), -np.pi)
601
+
602
+ def test_any_pinf(self):
603
+ # atan2(+-y, +infinity) returns +-0 for finite y > 0.
604
+ assert_arctan2_ispzero(1, np.inf)
605
+ assert_arctan2_isnzero(-1, np.inf)
606
+
607
+ def test_inf_any(self):
608
+ # atan2(+-infinity, x) returns +-pi/2 for finite x.
609
+ assert_almost_equal(ncu.arctan2( np.inf, 1), 0.5 * np.pi)
610
+ assert_almost_equal(ncu.arctan2(-np.inf, 1), -0.5 * np.pi)
611
+
612
+ def test_inf_ninf(self):
613
+ # atan2(+-infinity, -infinity) returns +-3*pi/4.
614
+ assert_almost_equal(ncu.arctan2( np.inf, -np.inf), 0.75 * np.pi)
615
+ assert_almost_equal(ncu.arctan2(-np.inf, -np.inf), -0.75 * np.pi)
616
+
617
+ def test_inf_pinf(self):
618
+ # atan2(+-infinity, +infinity) returns +-pi/4.
619
+ assert_almost_equal(ncu.arctan2( np.inf, np.inf), 0.25 * np.pi)
620
+ assert_almost_equal(ncu.arctan2(-np.inf, np.inf), -0.25 * np.pi)
621
+
622
+ def test_nan_any(self):
623
+ # atan2(nan, x) returns nan for any x, including inf
624
+ assert_arctan2_isnan(np.nan, np.inf)
625
+ assert_arctan2_isnan(np.inf, np.nan)
626
+ assert_arctan2_isnan(np.nan, np.nan)
627
+
628
+
629
+ class TestLdexp(TestCase):
630
+ def _check_ldexp(self, tp):
631
+ assert_almost_equal(ncu.ldexp(np.array(2., np.float32),
632
+ np.array(3, tp)), 16.)
633
+ assert_almost_equal(ncu.ldexp(np.array(2., np.float64),
634
+ np.array(3, tp)), 16.)
635
+ assert_almost_equal(ncu.ldexp(np.array(2., np.longdouble),
636
+ np.array(3, tp)), 16.)
637
+
638
+ def test_ldexp(self):
639
+ # The default Python int type should work
640
+ assert_almost_equal(ncu.ldexp(2., 3), 16.)
641
+ # The following int types should all be accepted
642
+ self._check_ldexp(np.int8)
643
+ self._check_ldexp(np.int16)
644
+ self._check_ldexp(np.int32)
645
+ self._check_ldexp('i')
646
+ self._check_ldexp('l')
647
+
648
+ def test_ldexp_overflow(self):
649
+ # silence warning emitted on overflow
650
+ with np.errstate(over="ignore"):
651
+ imax = np.iinfo(np.dtype('l')).max
652
+ imin = np.iinfo(np.dtype('l')).min
653
+ assert_equal(ncu.ldexp(2., imax), np.inf)
654
+ assert_equal(ncu.ldexp(2., imin), 0)
655
+
656
+
657
+ class TestMaximum(_FilterInvalids):
658
+ def test_reduce(self):
659
+ dflt = np.typecodes['AllFloat']
660
+ dint = np.typecodes['AllInteger']
661
+ seq1 = np.arange(11)
662
+ seq2 = seq1[::-1]
663
+ func = np.maximum.reduce
664
+ for dt in dint:
665
+ tmp1 = seq1.astype(dt)
666
+ tmp2 = seq2.astype(dt)
667
+ assert_equal(func(tmp1), 10)
668
+ assert_equal(func(tmp2), 10)
669
+ for dt in dflt:
670
+ tmp1 = seq1.astype(dt)
671
+ tmp2 = seq2.astype(dt)
672
+ assert_equal(func(tmp1), 10)
673
+ assert_equal(func(tmp2), 10)
674
+ tmp1[::2] = np.nan
675
+ tmp2[::2] = np.nan
676
+ assert_equal(func(tmp1), np.nan)
677
+ assert_equal(func(tmp2), np.nan)
678
+
679
+ def test_reduce_complex(self):
680
+ assert_equal(np.maximum.reduce([1, 2j]), 1)
681
+ assert_equal(np.maximum.reduce([1+3j, 2j]), 1+3j)
682
+
683
+ def test_float_nans(self):
684
+ nan = np.nan
685
+ arg1 = np.array([0, nan, nan])
686
+ arg2 = np.array([nan, 0, nan])
687
+ out = np.array([nan, nan, nan])
688
+ assert_equal(np.maximum(arg1, arg2), out)
689
+
690
+ def test_object_nans(self):
691
+ # Multiple checks to give this a chance to
692
+ # fail if cmp is used instead of rich compare.
693
+ # Failure cannot be guaranteed.
694
+ for i in range(1):
695
+ x = np.array(float('nan'), np.object)
696
+ y = 1.0
697
+ z = np.array(float('nan'), np.object)
698
+ assert_(np.maximum(x, y) == 1.0)
699
+ assert_(np.maximum(z, y) == 1.0)
700
+
701
+ def test_complex_nans(self):
702
+ nan = np.nan
703
+ for cnan in [complex(nan, 0), complex(0, nan), complex(nan, nan)]:
704
+ arg1 = np.array([0, cnan, cnan], dtype=np.complex)
705
+ arg2 = np.array([cnan, 0, cnan], dtype=np.complex)
706
+ out = np.array([nan, nan, nan], dtype=np.complex)
707
+ assert_equal(np.maximum(arg1, arg2), out)
708
+
709
+ def test_object_array(self):
710
+ arg1 = np.arange(5, dtype=np.object)
711
+ arg2 = arg1 + 1
712
+ assert_equal(np.maximum(arg1, arg2), arg2)
713
+
714
+
715
+ class TestMinimum(_FilterInvalids):
716
+ def test_reduce(self):
717
+ dflt = np.typecodes['AllFloat']
718
+ dint = np.typecodes['AllInteger']
719
+ seq1 = np.arange(11)
720
+ seq2 = seq1[::-1]
721
+ func = np.minimum.reduce
722
+ for dt in dint:
723
+ tmp1 = seq1.astype(dt)
724
+ tmp2 = seq2.astype(dt)
725
+ assert_equal(func(tmp1), 0)
726
+ assert_equal(func(tmp2), 0)
727
+ for dt in dflt:
728
+ tmp1 = seq1.astype(dt)
729
+ tmp2 = seq2.astype(dt)
730
+ assert_equal(func(tmp1), 0)
731
+ assert_equal(func(tmp2), 0)
732
+ tmp1[::2] = np.nan
733
+ tmp2[::2] = np.nan
734
+ assert_equal(func(tmp1), np.nan)
735
+ assert_equal(func(tmp2), np.nan)
736
+
737
+ def test_reduce_complex(self):
738
+ assert_equal(np.minimum.reduce([1, 2j]), 2j)
739
+ assert_equal(np.minimum.reduce([1+3j, 2j]), 2j)
740
+
741
+ def test_float_nans(self):
742
+ nan = np.nan
743
+ arg1 = np.array([0, nan, nan])
744
+ arg2 = np.array([nan, 0, nan])
745
+ out = np.array([nan, nan, nan])
746
+ assert_equal(np.minimum(arg1, arg2), out)
747
+
748
+ def test_object_nans(self):
749
+ # Multiple checks to give this a chance to
750
+ # fail if cmp is used instead of rich compare.
751
+ # Failure cannot be guaranteed.
752
+ for i in range(1):
753
+ x = np.array(float('nan'), np.object)
754
+ y = 1.0
755
+ z = np.array(float('nan'), np.object)
756
+ assert_(np.minimum(x, y) == 1.0)
757
+ assert_(np.minimum(z, y) == 1.0)
758
+
759
+ def test_complex_nans(self):
760
+ nan = np.nan
761
+ for cnan in [complex(nan, 0), complex(0, nan), complex(nan, nan)]:
762
+ arg1 = np.array([0, cnan, cnan], dtype=np.complex)
763
+ arg2 = np.array([cnan, 0, cnan], dtype=np.complex)
764
+ out = np.array([nan, nan, nan], dtype=np.complex)
765
+ assert_equal(np.minimum(arg1, arg2), out)
766
+
767
+ def test_object_array(self):
768
+ arg1 = np.arange(5, dtype=np.object)
769
+ arg2 = arg1 + 1
770
+ assert_equal(np.minimum(arg1, arg2), arg1)
771
+
772
+
773
+ class TestFmax(_FilterInvalids):
774
+ def test_reduce(self):
775
+ dflt = np.typecodes['AllFloat']
776
+ dint = np.typecodes['AllInteger']
777
+ seq1 = np.arange(11)
778
+ seq2 = seq1[::-1]
779
+ func = np.fmax.reduce
780
+ for dt in dint:
781
+ tmp1 = seq1.astype(dt)
782
+ tmp2 = seq2.astype(dt)
783
+ assert_equal(func(tmp1), 10)
784
+ assert_equal(func(tmp2), 10)
785
+ for dt in dflt:
786
+ tmp1 = seq1.astype(dt)
787
+ tmp2 = seq2.astype(dt)
788
+ assert_equal(func(tmp1), 10)
789
+ assert_equal(func(tmp2), 10)
790
+ tmp1[::2] = np.nan
791
+ tmp2[::2] = np.nan
792
+ assert_equal(func(tmp1), 9)
793
+ assert_equal(func(tmp2), 9)
794
+
795
+ def test_reduce_complex(self):
796
+ assert_equal(np.fmax.reduce([1, 2j]), 1)
797
+ assert_equal(np.fmax.reduce([1+3j, 2j]), 1+3j)
798
+
799
+ def test_float_nans(self):
800
+ nan = np.nan
801
+ arg1 = np.array([0, nan, nan])
802
+ arg2 = np.array([nan, 0, nan])
803
+ out = np.array([0, 0, nan])
804
+ assert_equal(np.fmax(arg1, arg2), out)
805
+
806
+ def test_complex_nans(self):
807
+ nan = np.nan
808
+ for cnan in [complex(nan, 0), complex(0, nan), complex(nan, nan)]:
809
+ arg1 = np.array([0, cnan, cnan], dtype=np.complex)
810
+ arg2 = np.array([cnan, 0, cnan], dtype=np.complex)
811
+ out = np.array([0, 0, nan], dtype=np.complex)
812
+ assert_equal(np.fmax(arg1, arg2), out)
813
+
814
+
815
+ class TestFmin(_FilterInvalids):
816
+ def test_reduce(self):
817
+ dflt = np.typecodes['AllFloat']
818
+ dint = np.typecodes['AllInteger']
819
+ seq1 = np.arange(11)
820
+ seq2 = seq1[::-1]
821
+ func = np.fmin.reduce
822
+ for dt in dint:
823
+ tmp1 = seq1.astype(dt)
824
+ tmp2 = seq2.astype(dt)
825
+ assert_equal(func(tmp1), 0)
826
+ assert_equal(func(tmp2), 0)
827
+ for dt in dflt:
828
+ tmp1 = seq1.astype(dt)
829
+ tmp2 = seq2.astype(dt)
830
+ assert_equal(func(tmp1), 0)
831
+ assert_equal(func(tmp2), 0)
832
+ tmp1[::2] = np.nan
833
+ tmp2[::2] = np.nan
834
+ assert_equal(func(tmp1), 1)
835
+ assert_equal(func(tmp2), 1)
836
+
837
+ def test_reduce_complex(self):
838
+ assert_equal(np.fmin.reduce([1, 2j]), 2j)
839
+ assert_equal(np.fmin.reduce([1+3j, 2j]), 2j)
840
+
841
+ def test_float_nans(self):
842
+ nan = np.nan
843
+ arg1 = np.array([0, nan, nan])
844
+ arg2 = np.array([nan, 0, nan])
845
+ out = np.array([0, 0, nan])
846
+ assert_equal(np.fmin(arg1, arg2), out)
847
+
848
+ def test_complex_nans(self):
849
+ nan = np.nan
850
+ for cnan in [complex(nan, 0), complex(0, nan), complex(nan, nan)]:
851
+ arg1 = np.array([0, cnan, cnan], dtype=np.complex)
852
+ arg2 = np.array([cnan, 0, cnan], dtype=np.complex)
853
+ out = np.array([0, 0, nan], dtype=np.complex)
854
+ assert_equal(np.fmin(arg1, arg2), out)
855
+
856
+
857
+ class TestBool(TestCase):
858
+ def test_truth_table_logical(self):
859
+ # 2, 3 and 4 serves as true values
860
+ input1 = [0, 0, 3, 2]
861
+ input2 = [0, 4, 0, 2]
862
+
863
+ typecodes = (np.typecodes['AllFloat']
864
+ + np.typecodes['AllInteger']
865
+ + '?') # boolean
866
+ for dtype in map(np.dtype, typecodes):
867
+ arg1 = np.asarray(input1, dtype=dtype)
868
+ arg2 = np.asarray(input2, dtype=dtype)
869
+
870
+ # OR
871
+ out = [False, True, True, True]
872
+ for func in (np.logical_or, np.maximum):
873
+ assert_equal(func(arg1, arg2).astype(bool), out)
874
+ # AND
875
+ out = [False, False, False, True]
876
+ for func in (np.logical_and, np.minimum):
877
+ assert_equal(func(arg1, arg2).astype(bool), out)
878
+ # XOR
879
+ out = [False, True, True, False]
880
+ for func in (np.logical_xor, np.not_equal):
881
+ assert_equal(func(arg1, arg2).astype(bool), out)
882
+
883
+ def test_truth_table_bitwise(self):
884
+ arg1 = [False, False, True, True]
885
+ arg2 = [False, True, False, True]
886
+
887
+ out = [False, True, True, True]
888
+ assert_equal(np.bitwise_or(arg1, arg2), out)
889
+
890
+ out = [False, False, False, True]
891
+ assert_equal(np.bitwise_and(arg1, arg2), out)
892
+
893
+ out = [False, True, True, False]
894
+ assert_equal(np.bitwise_xor(arg1, arg2), out)
895
+
896
+
897
+ class TestInt(TestCase):
898
+ def test_logical_not(self):
899
+ x = np.ones(10, dtype=np.int16)
900
+ o = np.ones(10 * 2, dtype=np.bool)
901
+ tgt = o.copy()
902
+ tgt[::2] = False
903
+ os = o[::2]
904
+ assert_array_equal(np.logical_not(x, out=os), False)
905
+ assert_array_equal(o, tgt)
906
+
907
+
908
+ class TestFloatingPoint(TestCase):
909
+ def test_floating_point(self):
910
+ assert_equal(ncu.FLOATING_POINT_SUPPORT, 1)
911
+
912
+
913
+ class TestDegrees(TestCase):
914
+ def test_degrees(self):
915
+ assert_almost_equal(ncu.degrees(np.pi), 180.0)
916
+ assert_almost_equal(ncu.degrees(-0.5*np.pi), -90.0)
917
+
918
+
919
+ class TestRadians(TestCase):
920
+ def test_radians(self):
921
+ assert_almost_equal(ncu.radians(180.0), np.pi)
922
+ assert_almost_equal(ncu.radians(-90.0), -0.5*np.pi)
923
+
924
+
925
+ class TestSign(TestCase):
926
+ def test_sign(self):
927
+ a = np.array([np.inf, -np.inf, np.nan, 0.0, 3.0, -3.0])
928
+ out = np.zeros(a.shape)
929
+ tgt = np.array([1., -1., np.nan, 0.0, 1.0, -1.0])
930
+
931
+ with np.errstate(invalid='ignore'):
932
+ res = ncu.sign(a)
933
+ assert_equal(res, tgt)
934
+ res = ncu.sign(a, out)
935
+ assert_equal(res, tgt)
936
+ assert_equal(out, tgt)
937
+
938
+ def test_sign_dtype_object(self):
939
+ # In reference to github issue #6229
940
+ foo = np.array([-.1, 0, .1])
941
+ a = np.sign(foo.astype(np.object))
942
+ b = np.sign(foo)
943
+ assert_array_equal(a, b)
944
+
945
+
946
+ class TestMinMax(TestCase):
947
+ def test_minmax_blocked(self):
948
+ # simd tests on max/min, test all alignments, slow but important
949
+ # for 2 * vz + 2 * (vs - 1) + 1 (unrolled once)
950
+ for dt, sz in [(np.float32, 15), (np.float64, 7)]:
951
+ for out, inp, msg in _gen_alignment_data(dtype=dt, type='unary',
952
+ max_size=sz):
953
+ for i in range(inp.size):
954
+ inp[:] = np.arange(inp.size, dtype=dt)
955
+ inp[i] = np.nan
956
+ emsg = lambda: '%r\n%s' % (inp, msg)
957
+ assert_(np.isnan(inp.max()), msg=emsg)
958
+ assert_(np.isnan(inp.min()), msg=emsg)
959
+
960
+ inp[i] = 1e10
961
+ assert_equal(inp.max(), 1e10, err_msg=msg)
962
+ inp[i] = -1e10
963
+ assert_equal(inp.min(), -1e10, err_msg=msg)
964
+
965
+ def test_lower_align(self):
966
+ # check data that is not aligned to element size
967
+ # i.e doubles are aligned to 4 bytes on i386
968
+ d = np.zeros(23 * 8, dtype=np.int8)[4:-4].view(np.float64)
969
+ assert_equal(d.max(), d[0])
970
+ assert_equal(d.min(), d[0])
971
+
972
+
973
+ class TestAbsoluteNegative(TestCase):
974
+ def test_abs_neg_blocked(self):
975
+ # simd tests on abs, test all alignments for vz + 2 * (vs - 1) + 1
976
+ for dt, sz in [(np.float32, 11), (np.float64, 5)]:
977
+ for out, inp, msg in _gen_alignment_data(dtype=dt, type='unary',
978
+ max_size=sz):
979
+ tgt = [ncu.absolute(i) for i in inp]
980
+ np.absolute(inp, out=out)
981
+ assert_equal(out, tgt, err_msg=msg)
982
+ self.assertTrue((out >= 0).all())
983
+
984
+ tgt = [-1*(i) for i in inp]
985
+ np.negative(inp, out=out)
986
+ assert_equal(out, tgt, err_msg=msg)
987
+
988
+ # will throw invalid flag depending on compiler optimizations
989
+ with np.errstate(invalid='ignore'):
990
+ for v in [np.nan, -np.inf, np.inf]:
991
+ for i in range(inp.size):
992
+ d = np.arange(inp.size, dtype=dt)
993
+ inp[:] = -d
994
+ inp[i] = v
995
+ d[i] = -v if v == -np.inf else v
996
+ assert_array_equal(np.abs(inp), d, err_msg=msg)
997
+ np.abs(inp, out=out)
998
+ assert_array_equal(out, d, err_msg=msg)
999
+
1000
+ assert_array_equal(-inp, -1*inp, err_msg=msg)
1001
+ np.negative(inp, out=out)
1002
+ assert_array_equal(out, -1*inp, err_msg=msg)
1003
+
1004
+ def test_lower_align(self):
1005
+ # check data that is not aligned to element size
1006
+ # i.e doubles are aligned to 4 bytes on i386
1007
+ d = np.zeros(23 * 8, dtype=np.int8)[4:-4].view(np.float64)
1008
+ assert_equal(np.abs(d), d)
1009
+ assert_equal(np.negative(d), -d)
1010
+ np.negative(d, out=d)
1011
+ np.negative(np.ones_like(d), out=d)
1012
+ np.abs(d, out=d)
1013
+ np.abs(np.ones_like(d), out=d)
1014
+
1015
+
1016
+ class TestSpecialMethods(TestCase):
1017
+ def test_wrap(self):
1018
+
1019
+ class with_wrap(object):
1020
+ def __array__(self):
1021
+ return np.zeros(1)
1022
+
1023
+ def __array_wrap__(self, arr, context):
1024
+ r = with_wrap()
1025
+ r.arr = arr
1026
+ r.context = context
1027
+ return r
1028
+
1029
+ a = with_wrap()
1030
+ x = ncu.minimum(a, a)
1031
+ assert_equal(x.arr, np.zeros(1))
1032
+ func, args, i = x.context
1033
+ self.assertTrue(func is ncu.minimum)
1034
+ self.assertEqual(len(args), 2)
1035
+ assert_equal(args[0], a)
1036
+ assert_equal(args[1], a)
1037
+ self.assertEqual(i, 0)
1038
+
1039
+ def test_wrap_with_iterable(self):
1040
+ # test fix for bug #1026:
1041
+
1042
+ class with_wrap(np.ndarray):
1043
+ __array_priority__ = 10
1044
+
1045
+ def __new__(cls):
1046
+ return np.asarray(1).view(cls).copy()
1047
+
1048
+ def __array_wrap__(self, arr, context):
1049
+ return arr.view(type(self))
1050
+
1051
+ a = with_wrap()
1052
+ x = ncu.multiply(a, (1, 2, 3))
1053
+ self.assertTrue(isinstance(x, with_wrap))
1054
+ assert_array_equal(x, np.array((1, 2, 3)))
1055
+
1056
+ def test_priority_with_scalar(self):
1057
+ # test fix for bug #826:
1058
+
1059
+ class A(np.ndarray):
1060
+ __array_priority__ = 10
1061
+
1062
+ def __new__(cls):
1063
+ return np.asarray(1.0, 'float64').view(cls).copy()
1064
+
1065
+ a = A()
1066
+ x = np.float64(1)*a
1067
+ self.assertTrue(isinstance(x, A))
1068
+ assert_array_equal(x, np.array(1))
1069
+
1070
+ def test_old_wrap(self):
1071
+
1072
+ class with_wrap(object):
1073
+ def __array__(self):
1074
+ return np.zeros(1)
1075
+
1076
+ def __array_wrap__(self, arr):
1077
+ r = with_wrap()
1078
+ r.arr = arr
1079
+ return r
1080
+
1081
+ a = with_wrap()
1082
+ x = ncu.minimum(a, a)
1083
+ assert_equal(x.arr, np.zeros(1))
1084
+
1085
+ def test_priority(self):
1086
+
1087
+ class A(object):
1088
+ def __array__(self):
1089
+ return np.zeros(1)
1090
+
1091
+ def __array_wrap__(self, arr, context):
1092
+ r = type(self)()
1093
+ r.arr = arr
1094
+ r.context = context
1095
+ return r
1096
+
1097
+ class B(A):
1098
+ __array_priority__ = 20.
1099
+
1100
+ class C(A):
1101
+ __array_priority__ = 40.
1102
+
1103
+ x = np.zeros(1)
1104
+ a = A()
1105
+ b = B()
1106
+ c = C()
1107
+ f = ncu.minimum
1108
+ self.assertTrue(type(f(x, x)) is np.ndarray)
1109
+ self.assertTrue(type(f(x, a)) is A)
1110
+ self.assertTrue(type(f(x, b)) is B)
1111
+ self.assertTrue(type(f(x, c)) is C)
1112
+ self.assertTrue(type(f(a, x)) is A)
1113
+ self.assertTrue(type(f(b, x)) is B)
1114
+ self.assertTrue(type(f(c, x)) is C)
1115
+
1116
+ self.assertTrue(type(f(a, a)) is A)
1117
+ self.assertTrue(type(f(a, b)) is B)
1118
+ self.assertTrue(type(f(b, a)) is B)
1119
+ self.assertTrue(type(f(b, b)) is B)
1120
+ self.assertTrue(type(f(b, c)) is C)
1121
+ self.assertTrue(type(f(c, b)) is C)
1122
+ self.assertTrue(type(f(c, c)) is C)
1123
+
1124
+ self.assertTrue(type(ncu.exp(a) is A))
1125
+ self.assertTrue(type(ncu.exp(b) is B))
1126
+ self.assertTrue(type(ncu.exp(c) is C))
1127
+
1128
+ def test_failing_wrap(self):
1129
+
1130
+ class A(object):
1131
+ def __array__(self):
1132
+ return np.zeros(1)
1133
+
1134
+ def __array_wrap__(self, arr, context):
1135
+ raise RuntimeError
1136
+
1137
+ a = A()
1138
+ self.assertRaises(RuntimeError, ncu.maximum, a, a)
1139
+
1140
+ def test_default_prepare(self):
1141
+
1142
+ class with_wrap(object):
1143
+ __array_priority__ = 10
1144
+
1145
+ def __array__(self):
1146
+ return np.zeros(1)
1147
+
1148
+ def __array_wrap__(self, arr, context):
1149
+ return arr
1150
+
1151
+ a = with_wrap()
1152
+ x = ncu.minimum(a, a)
1153
+ assert_equal(x, np.zeros(1))
1154
+ assert_equal(type(x), np.ndarray)
1155
+
1156
+ def test_prepare(self):
1157
+
1158
+ class with_prepare(np.ndarray):
1159
+ __array_priority__ = 10
1160
+
1161
+ def __array_prepare__(self, arr, context):
1162
+ # make sure we can return a new
1163
+ return np.array(arr).view(type=with_prepare)
1164
+
1165
+ a = np.array(1).view(type=with_prepare)
1166
+ x = np.add(a, a)
1167
+ assert_equal(x, np.array(2))
1168
+ assert_equal(type(x), with_prepare)
1169
+
1170
+ def test_failing_prepare(self):
1171
+
1172
+ class A(object):
1173
+ def __array__(self):
1174
+ return np.zeros(1)
1175
+
1176
+ def __array_prepare__(self, arr, context=None):
1177
+ raise RuntimeError
1178
+
1179
+ a = A()
1180
+ self.assertRaises(RuntimeError, ncu.maximum, a, a)
1181
+
1182
+ def test_array_with_context(self):
1183
+
1184
+ class A(object):
1185
+ def __array__(self, dtype=None, context=None):
1186
+ func, args, i = context
1187
+ self.func = func
1188
+ self.args = args
1189
+ self.i = i
1190
+ return np.zeros(1)
1191
+
1192
+ class B(object):
1193
+ def __array__(self, dtype=None):
1194
+ return np.zeros(1, dtype)
1195
+
1196
+ class C(object):
1197
+ def __array__(self):
1198
+ return np.zeros(1)
1199
+
1200
+ a = A()
1201
+ ncu.maximum(np.zeros(1), a)
1202
+ self.assertTrue(a.func is ncu.maximum)
1203
+ assert_equal(a.args[0], 0)
1204
+ self.assertTrue(a.args[1] is a)
1205
+ self.assertTrue(a.i == 1)
1206
+ assert_equal(ncu.maximum(a, B()), 0)
1207
+ assert_equal(ncu.maximum(a, C()), 0)
1208
+
1209
+ def test_ufunc_override(self):
1210
+ # Temporarily disable __numpy_ufunc__ for 1.10; see gh-5844
1211
+ return
1212
+
1213
+ class A(object):
1214
+ def __numpy_ufunc__(self, func, method, pos, inputs, **kwargs):
1215
+ return self, func, method, pos, inputs, kwargs
1216
+
1217
+ a = A()
1218
+ b = np.matrix([1])
1219
+ res0 = np.multiply(a, b)
1220
+ res1 = np.dot(a, b)
1221
+
1222
+ # self
1223
+ assert_equal(res0[0], a)
1224
+ assert_equal(res1[0], a)
1225
+ assert_equal(res0[1], np.multiply)
1226
+ assert_equal(res1[1], np.dot)
1227
+ assert_equal(res0[2], '__call__')
1228
+ assert_equal(res1[2], '__call__')
1229
+ assert_equal(res0[3], 0)
1230
+ assert_equal(res1[3], 0)
1231
+ assert_equal(res0[4], (a, b))
1232
+ assert_equal(res1[4], (a, b))
1233
+ assert_equal(res0[5], {})
1234
+ assert_equal(res1[5], {})
1235
+
1236
+ def test_ufunc_override_mro(self):
1237
+ # Temporarily disable __numpy_ufunc__ for 1.10; see gh-5864
1238
+ return
1239
+
1240
+ # Some multi arg functions for testing.
1241
+ def tres_mul(a, b, c):
1242
+ return a * b * c
1243
+
1244
+ def quatro_mul(a, b, c, d):
1245
+ return a * b * c * d
1246
+
1247
+ # Make these into ufuncs.
1248
+ three_mul_ufunc = np.frompyfunc(tres_mul, 3, 1)
1249
+ four_mul_ufunc = np.frompyfunc(quatro_mul, 4, 1)
1250
+
1251
+ class A(object):
1252
+ def __numpy_ufunc__(self, func, method, pos, inputs, **kwargs):
1253
+ return "A"
1254
+
1255
+ class ASub(A):
1256
+ def __numpy_ufunc__(self, func, method, pos, inputs, **kwargs):
1257
+ return "ASub"
1258
+
1259
+ class B(object):
1260
+ def __numpy_ufunc__(self, func, method, pos, inputs, **kwargs):
1261
+ return "B"
1262
+
1263
+ class C(object):
1264
+ def __numpy_ufunc__(self, func, method, pos, inputs, **kwargs):
1265
+ return NotImplemented
1266
+
1267
+ class CSub(object):
1268
+ def __numpy_ufunc__(self, func, method, pos, inputs, **kwargs):
1269
+ return NotImplemented
1270
+
1271
+ a = A()
1272
+ a_sub = ASub()
1273
+ b = B()
1274
+ c = C()
1275
+ c_sub = CSub()
1276
+
1277
+ # Standard
1278
+ res = np.multiply(a, a_sub)
1279
+ assert_equal(res, "ASub")
1280
+ res = np.multiply(a_sub, b)
1281
+ assert_equal(res, "ASub")
1282
+
1283
+ # With 1 NotImplemented
1284
+ res = np.multiply(c, a)
1285
+ assert_equal(res, "A")
1286
+
1287
+ # Both NotImplemented.
1288
+ assert_raises(TypeError, np.multiply, c, c_sub)
1289
+ assert_raises(TypeError, np.multiply, c_sub, c)
1290
+ assert_raises(TypeError, np.multiply, 2, c)
1291
+
1292
+ # Ternary testing.
1293
+ assert_equal(three_mul_ufunc(a, 1, 2), "A")
1294
+ assert_equal(three_mul_ufunc(1, a, 2), "A")
1295
+ assert_equal(three_mul_ufunc(1, 2, a), "A")
1296
+
1297
+ assert_equal(three_mul_ufunc(a, a, 6), "A")
1298
+ assert_equal(three_mul_ufunc(a, 2, a), "A")
1299
+ assert_equal(three_mul_ufunc(a, 2, b), "A")
1300
+ assert_equal(three_mul_ufunc(a, 2, a_sub), "ASub")
1301
+ assert_equal(three_mul_ufunc(a, a_sub, 3), "ASub")
1302
+ assert_equal(three_mul_ufunc(c, a_sub, 3), "ASub")
1303
+ assert_equal(three_mul_ufunc(1, a_sub, c), "ASub")
1304
+
1305
+ assert_equal(three_mul_ufunc(a, b, c), "A")
1306
+ assert_equal(three_mul_ufunc(a, b, c_sub), "A")
1307
+ assert_equal(three_mul_ufunc(1, 2, b), "B")
1308
+
1309
+ assert_raises(TypeError, three_mul_ufunc, 1, 2, c)
1310
+ assert_raises(TypeError, three_mul_ufunc, c_sub, 2, c)
1311
+ assert_raises(TypeError, three_mul_ufunc, c_sub, 2, 3)
1312
+
1313
+ # Quaternary testing.
1314
+ assert_equal(four_mul_ufunc(a, 1, 2, 3), "A")
1315
+ assert_equal(four_mul_ufunc(1, a, 2, 3), "A")
1316
+ assert_equal(four_mul_ufunc(1, 1, a, 3), "A")
1317
+ assert_equal(four_mul_ufunc(1, 1, 2, a), "A")
1318
+
1319
+ assert_equal(four_mul_ufunc(a, b, 2, 3), "A")
1320
+ assert_equal(four_mul_ufunc(1, a, 2, b), "A")
1321
+ assert_equal(four_mul_ufunc(b, 1, a, 3), "B")
1322
+ assert_equal(four_mul_ufunc(a_sub, 1, 2, a), "ASub")
1323
+ assert_equal(four_mul_ufunc(a, 1, 2, a_sub), "ASub")
1324
+
1325
+ assert_raises(TypeError, four_mul_ufunc, 1, 2, 3, c)
1326
+ assert_raises(TypeError, four_mul_ufunc, 1, 2, c_sub, c)
1327
+ assert_raises(TypeError, four_mul_ufunc, 1, c, c_sub, c)
1328
+
1329
+ def test_ufunc_override_methods(self):
1330
+ # Temporarily disable __numpy_ufunc__ for 1.10; see gh-5864
1331
+ return
1332
+
1333
+ class A(object):
1334
+ def __numpy_ufunc__(self, ufunc, method, pos, inputs, **kwargs):
1335
+ return self, ufunc, method, pos, inputs, kwargs
1336
+
1337
+ # __call__
1338
+ a = A()
1339
+ res = np.multiply.__call__(1, a, foo='bar', answer=42)
1340
+ assert_equal(res[0], a)
1341
+ assert_equal(res[1], np.multiply)
1342
+ assert_equal(res[2], '__call__')
1343
+ assert_equal(res[3], 1)
1344
+ assert_equal(res[4], (1, a))
1345
+ assert_equal(res[5], {'foo': 'bar', 'answer': 42})
1346
+
1347
+ # reduce, positional args
1348
+ res = np.multiply.reduce(a, 'axis0', 'dtype0', 'out0', 'keep0')
1349
+ assert_equal(res[0], a)
1350
+ assert_equal(res[1], np.multiply)
1351
+ assert_equal(res[2], 'reduce')
1352
+ assert_equal(res[3], 0)
1353
+ assert_equal(res[4], (a,))
1354
+ assert_equal(res[5], {'dtype':'dtype0',
1355
+ 'out': 'out0',
1356
+ 'keepdims': 'keep0',
1357
+ 'axis': 'axis0'})
1358
+
1359
+ # reduce, kwargs
1360
+ res = np.multiply.reduce(a, axis='axis0', dtype='dtype0', out='out0',
1361
+ keepdims='keep0')
1362
+ assert_equal(res[0], a)
1363
+ assert_equal(res[1], np.multiply)
1364
+ assert_equal(res[2], 'reduce')
1365
+ assert_equal(res[3], 0)
1366
+ assert_equal(res[4], (a,))
1367
+ assert_equal(res[5], {'dtype':'dtype0',
1368
+ 'out': 'out0',
1369
+ 'keepdims': 'keep0',
1370
+ 'axis': 'axis0'})
1371
+
1372
+ # accumulate, pos args
1373
+ res = np.multiply.accumulate(a, 'axis0', 'dtype0', 'out0')
1374
+ assert_equal(res[0], a)
1375
+ assert_equal(res[1], np.multiply)
1376
+ assert_equal(res[2], 'accumulate')
1377
+ assert_equal(res[3], 0)
1378
+ assert_equal(res[4], (a,))
1379
+ assert_equal(res[5], {'dtype':'dtype0',
1380
+ 'out': 'out0',
1381
+ 'axis': 'axis0'})
1382
+
1383
+ # accumulate, kwargs
1384
+ res = np.multiply.accumulate(a, axis='axis0', dtype='dtype0',
1385
+ out='out0')
1386
+ assert_equal(res[0], a)
1387
+ assert_equal(res[1], np.multiply)
1388
+ assert_equal(res[2], 'accumulate')
1389
+ assert_equal(res[3], 0)
1390
+ assert_equal(res[4], (a,))
1391
+ assert_equal(res[5], {'dtype':'dtype0',
1392
+ 'out': 'out0',
1393
+ 'axis': 'axis0'})
1394
+
1395
+ # reduceat, pos args
1396
+ res = np.multiply.reduceat(a, [4, 2], 'axis0', 'dtype0', 'out0')
1397
+ assert_equal(res[0], a)
1398
+ assert_equal(res[1], np.multiply)
1399
+ assert_equal(res[2], 'reduceat')
1400
+ assert_equal(res[3], 0)
1401
+ assert_equal(res[4], (a, [4, 2]))
1402
+ assert_equal(res[5], {'dtype':'dtype0',
1403
+ 'out': 'out0',
1404
+ 'axis': 'axis0'})
1405
+
1406
+ # reduceat, kwargs
1407
+ res = np.multiply.reduceat(a, [4, 2], axis='axis0', dtype='dtype0',
1408
+ out='out0')
1409
+ assert_equal(res[0], a)
1410
+ assert_equal(res[1], np.multiply)
1411
+ assert_equal(res[2], 'reduceat')
1412
+ assert_equal(res[3], 0)
1413
+ assert_equal(res[4], (a, [4, 2]))
1414
+ assert_equal(res[5], {'dtype':'dtype0',
1415
+ 'out': 'out0',
1416
+ 'axis': 'axis0'})
1417
+
1418
+ # outer
1419
+ res = np.multiply.outer(a, 42)
1420
+ assert_equal(res[0], a)
1421
+ assert_equal(res[1], np.multiply)
1422
+ assert_equal(res[2], 'outer')
1423
+ assert_equal(res[3], 0)
1424
+ assert_equal(res[4], (a, 42))
1425
+ assert_equal(res[5], {})
1426
+
1427
+ # at
1428
+ res = np.multiply.at(a, [4, 2], 'b0')
1429
+ assert_equal(res[0], a)
1430
+ assert_equal(res[1], np.multiply)
1431
+ assert_equal(res[2], 'at')
1432
+ assert_equal(res[3], 0)
1433
+ assert_equal(res[4], (a, [4, 2], 'b0'))
1434
+
1435
+ def test_ufunc_override_out(self):
1436
+ # Temporarily disable __numpy_ufunc__ for 1.10; see gh-5844
1437
+ return
1438
+
1439
+ class A(object):
1440
+ def __numpy_ufunc__(self, ufunc, method, pos, inputs, **kwargs):
1441
+ return kwargs
1442
+
1443
+ class B(object):
1444
+ def __numpy_ufunc__(self, ufunc, method, pos, inputs, **kwargs):
1445
+ return kwargs
1446
+
1447
+ a = A()
1448
+ b = B()
1449
+ res0 = np.multiply(a, b, 'out_arg')
1450
+ res1 = np.multiply(a, b, out='out_arg')
1451
+ res2 = np.multiply(2, b, 'out_arg')
1452
+ res3 = np.multiply(3, b, out='out_arg')
1453
+ res4 = np.multiply(a, 4, 'out_arg')
1454
+ res5 = np.multiply(a, 5, out='out_arg')
1455
+
1456
+ assert_equal(res0['out'], 'out_arg')
1457
+ assert_equal(res1['out'], 'out_arg')
1458
+ assert_equal(res2['out'], 'out_arg')
1459
+ assert_equal(res3['out'], 'out_arg')
1460
+ assert_equal(res4['out'], 'out_arg')
1461
+ assert_equal(res5['out'], 'out_arg')
1462
+
1463
+ # ufuncs with multiple output modf and frexp.
1464
+ res6 = np.modf(a, 'out0', 'out1')
1465
+ res7 = np.frexp(a, 'out0', 'out1')
1466
+ assert_equal(res6['out'][0], 'out0')
1467
+ assert_equal(res6['out'][1], 'out1')
1468
+ assert_equal(res7['out'][0], 'out0')
1469
+ assert_equal(res7['out'][1], 'out1')
1470
+
1471
+ def test_ufunc_override_exception(self):
1472
+ # Temporarily disable __numpy_ufunc__ for 1.10; see gh-5864
1473
+ return
1474
+
1475
+ class A(object):
1476
+ def __numpy_ufunc__(self, *a, **kwargs):
1477
+ raise ValueError("oops")
1478
+
1479
+ a = A()
1480
+ for func in [np.divide, np.dot]:
1481
+ assert_raises(ValueError, func, a, a)
1482
+
1483
+ class TestChoose(TestCase):
1484
+ def test_mixed(self):
1485
+ c = np.array([True, True])
1486
+ a = np.array([True, True])
1487
+ assert_equal(np.choose(c, (a, 1)), np.array([1, 1]))
1488
+
1489
+
1490
+ def is_longdouble_finfo_bogus():
1491
+ info = np.finfo(np.longcomplex)
1492
+ return not np.isfinite(np.log10(info.tiny/info.eps))
1493
+
1494
+
1495
+ class TestComplexFunctions(object):
1496
+ funcs = [np.arcsin, np.arccos, np.arctan, np.arcsinh, np.arccosh,
1497
+ np.arctanh, np.sin, np.cos, np.tan, np.exp,
1498
+ np.exp2, np.log, np.sqrt, np.log10, np.log2,
1499
+ np.log1p]
1500
+
1501
+ def test_it(self):
1502
+ for f in self.funcs:
1503
+ if f is np.arccosh:
1504
+ x = 1.5
1505
+ else:
1506
+ x = .5
1507
+ fr = f(x)
1508
+ fz = f(np.complex(x))
1509
+ assert_almost_equal(fz.real, fr, err_msg='real part %s' % f)
1510
+ assert_almost_equal(fz.imag, 0., err_msg='imag part %s' % f)
1511
+
1512
+ def test_precisions_consistent(self):
1513
+ z = 1 + 1j
1514
+ for f in self.funcs:
1515
+ fcf = f(np.csingle(z))
1516
+ fcd = f(np.cdouble(z))
1517
+ fcl = f(np.clongdouble(z))
1518
+ assert_almost_equal(fcf, fcd, decimal=6, err_msg='fch-fcd %s' % f)
1519
+ assert_almost_equal(fcl, fcd, decimal=15, err_msg='fch-fcl %s' % f)
1520
+
1521
+ def test_branch_cuts(self):
1522
+ # check branch cuts and continuity on them
1523
+ yield _check_branch_cut, np.log, -0.5, 1j, 1, -1, True
1524
+ yield _check_branch_cut, np.log2, -0.5, 1j, 1, -1, True
1525
+ yield _check_branch_cut, np.log10, -0.5, 1j, 1, -1, True
1526
+ yield _check_branch_cut, np.log1p, -1.5, 1j, 1, -1, True
1527
+ yield _check_branch_cut, np.sqrt, -0.5, 1j, 1, -1, True
1528
+
1529
+ yield _check_branch_cut, np.arcsin, [ -2, 2], [1j, 1j], 1, -1, True
1530
+ yield _check_branch_cut, np.arccos, [ -2, 2], [1j, 1j], 1, -1, True
1531
+ yield _check_branch_cut, np.arctan, [0-2j, 2j], [1, 1], -1, 1, True
1532
+
1533
+ yield _check_branch_cut, np.arcsinh, [0-2j, 2j], [1, 1], -1, 1, True
1534
+ yield _check_branch_cut, np.arccosh, [ -1, 0.5], [1j, 1j], 1, -1, True
1535
+ yield _check_branch_cut, np.arctanh, [ -2, 2], [1j, 1j], 1, -1, True
1536
+
1537
+ # check against bogus branch cuts: assert continuity between quadrants
1538
+ yield _check_branch_cut, np.arcsin, [0-2j, 2j], [ 1, 1], 1, 1
1539
+ yield _check_branch_cut, np.arccos, [0-2j, 2j], [ 1, 1], 1, 1
1540
+ yield _check_branch_cut, np.arctan, [ -2, 2], [1j, 1j], 1, 1
1541
+
1542
+ yield _check_branch_cut, np.arcsinh, [ -2, 2, 0], [1j, 1j, 1], 1, 1
1543
+ yield _check_branch_cut, np.arccosh, [0-2j, 2j, 2], [1, 1, 1j], 1, 1
1544
+ yield _check_branch_cut, np.arctanh, [0-2j, 2j, 0], [1, 1, 1j], 1, 1
1545
+
1546
+ def test_branch_cuts_complex64(self):
1547
+ # check branch cuts and continuity on them
1548
+ yield _check_branch_cut, np.log, -0.5, 1j, 1, -1, True, np.complex64
1549
+ yield _check_branch_cut, np.log2, -0.5, 1j, 1, -1, True, np.complex64
1550
+ yield _check_branch_cut, np.log10, -0.5, 1j, 1, -1, True, np.complex64
1551
+ yield _check_branch_cut, np.log1p, -1.5, 1j, 1, -1, True, np.complex64
1552
+ yield _check_branch_cut, np.sqrt, -0.5, 1j, 1, -1, True, np.complex64
1553
+
1554
+ yield _check_branch_cut, np.arcsin, [ -2, 2], [1j, 1j], 1, -1, True, np.complex64
1555
+ yield _check_branch_cut, np.arccos, [ -2, 2], [1j, 1j], 1, -1, True, np.complex64
1556
+ yield _check_branch_cut, np.arctan, [0-2j, 2j], [1, 1], -1, 1, True, np.complex64
1557
+
1558
+ yield _check_branch_cut, np.arcsinh, [0-2j, 2j], [1, 1], -1, 1, True, np.complex64
1559
+ yield _check_branch_cut, np.arccosh, [ -1, 0.5], [1j, 1j], 1, -1, True, np.complex64
1560
+ yield _check_branch_cut, np.arctanh, [ -2, 2], [1j, 1j], 1, -1, True, np.complex64
1561
+
1562
+ # check against bogus branch cuts: assert continuity between quadrants
1563
+ yield _check_branch_cut, np.arcsin, [0-2j, 2j], [ 1, 1], 1, 1, False, np.complex64
1564
+ yield _check_branch_cut, np.arccos, [0-2j, 2j], [ 1, 1], 1, 1, False, np.complex64
1565
+ yield _check_branch_cut, np.arctan, [ -2, 2], [1j, 1j], 1, 1, False, np.complex64
1566
+
1567
+ yield _check_branch_cut, np.arcsinh, [ -2, 2, 0], [1j, 1j, 1], 1, 1, False, np.complex64
1568
+ yield _check_branch_cut, np.arccosh, [0-2j, 2j, 2], [1, 1, 1j], 1, 1, False, np.complex64
1569
+ yield _check_branch_cut, np.arctanh, [0-2j, 2j, 0], [1, 1, 1j], 1, 1, False, np.complex64
1570
+
1571
+ def test_against_cmath(self):
1572
+ import cmath
1573
+
1574
+ points = [-1-1j, -1+1j, +1-1j, +1+1j]
1575
+ name_map = {'arcsin': 'asin', 'arccos': 'acos', 'arctan': 'atan',
1576
+ 'arcsinh': 'asinh', 'arccosh': 'acosh', 'arctanh': 'atanh'}
1577
+ atol = 4*np.finfo(np.complex).eps
1578
+ for func in self.funcs:
1579
+ fname = func.__name__.split('.')[-1]
1580
+ cname = name_map.get(fname, fname)
1581
+ try:
1582
+ cfunc = getattr(cmath, cname)
1583
+ except AttributeError:
1584
+ continue
1585
+ for p in points:
1586
+ a = complex(func(np.complex_(p)))
1587
+ b = cfunc(p)
1588
+ assert_(abs(a - b) < atol, "%s %s: %s; cmath: %s" % (fname, p, a, b))
1589
+
1590
+ def check_loss_of_precision(self, dtype):
1591
+ """Check loss of precision in complex arc* functions"""
1592
+
1593
+ # Check against known-good functions
1594
+
1595
+ info = np.finfo(dtype)
1596
+ real_dtype = dtype(0.).real.dtype
1597
+ eps = info.eps
1598
+
1599
+ def check(x, rtol):
1600
+ x = x.astype(real_dtype)
1601
+
1602
+ z = x.astype(dtype)
1603
+ d = np.absolute(np.arcsinh(x)/np.arcsinh(z).real - 1)
1604
+ assert_(np.all(d < rtol), (np.argmax(d), x[np.argmax(d)], d.max(),
1605
+ 'arcsinh'))
1606
+
1607
+ z = (1j*x).astype(dtype)
1608
+ d = np.absolute(np.arcsinh(x)/np.arcsin(z).imag - 1)
1609
+ assert_(np.all(d < rtol), (np.argmax(d), x[np.argmax(d)], d.max(),
1610
+ 'arcsin'))
1611
+
1612
+ z = x.astype(dtype)
1613
+ d = np.absolute(np.arctanh(x)/np.arctanh(z).real - 1)
1614
+ assert_(np.all(d < rtol), (np.argmax(d), x[np.argmax(d)], d.max(),
1615
+ 'arctanh'))
1616
+
1617
+ z = (1j*x).astype(dtype)
1618
+ d = np.absolute(np.arctanh(x)/np.arctan(z).imag - 1)
1619
+ assert_(np.all(d < rtol), (np.argmax(d), x[np.argmax(d)], d.max(),
1620
+ 'arctan'))
1621
+
1622
+ # The switchover was chosen as 1e-3; hence there can be up to
1623
+ # ~eps/1e-3 of relative cancellation error before it
1624
+
1625
+ x_series = np.logspace(-20, -3.001, 200)
1626
+ x_basic = np.logspace(-2.999, 0, 10, endpoint=False)
1627
+
1628
+ if dtype is np.longcomplex:
1629
+ # It's not guaranteed that the system-provided arc functions
1630
+ # are accurate down to a few epsilons. (Eg. on Linux 64-bit)
1631
+ # So, give more leeway for long complex tests here:
1632
+ check(x_series, 50*eps)
1633
+ else:
1634
+ check(x_series, 2.1*eps)
1635
+ check(x_basic, 2*eps/1e-3)
1636
+
1637
+ # Check a few points
1638
+
1639
+ z = np.array([1e-5*(1+1j)], dtype=dtype)
1640
+ p = 9.999999999333333333e-6 + 1.000000000066666666e-5j
1641
+ d = np.absolute(1-np.arctanh(z)/p)
1642
+ assert_(np.all(d < 1e-15))
1643
+
1644
+ p = 1.0000000000333333333e-5 + 9.999999999666666667e-6j
1645
+ d = np.absolute(1-np.arcsinh(z)/p)
1646
+ assert_(np.all(d < 1e-15))
1647
+
1648
+ p = 9.999999999333333333e-6j + 1.000000000066666666e-5
1649
+ d = np.absolute(1-np.arctan(z)/p)
1650
+ assert_(np.all(d < 1e-15))
1651
+
1652
+ p = 1.0000000000333333333e-5j + 9.999999999666666667e-6
1653
+ d = np.absolute(1-np.arcsin(z)/p)
1654
+ assert_(np.all(d < 1e-15))
1655
+
1656
+ # Check continuity across switchover points
1657
+
1658
+ def check(func, z0, d=1):
1659
+ z0 = np.asarray(z0, dtype=dtype)
1660
+ zp = z0 + abs(z0) * d * eps * 2
1661
+ zm = z0 - abs(z0) * d * eps * 2
1662
+ assert_(np.all(zp != zm), (zp, zm))
1663
+
1664
+ # NB: the cancellation error at the switchover is at least eps
1665
+ good = (abs(func(zp) - func(zm)) < 2*eps)
1666
+ assert_(np.all(good), (func, z0[~good]))
1667
+
1668
+ for func in (np.arcsinh, np.arcsinh, np.arcsin, np.arctanh, np.arctan):
1669
+ pts = [rp+1j*ip for rp in (-1e-3, 0, 1e-3) for ip in(-1e-3, 0, 1e-3)
1670
+ if rp != 0 or ip != 0]
1671
+ check(func, pts, 1)
1672
+ check(func, pts, 1j)
1673
+ check(func, pts, 1+1j)
1674
+
1675
+ def test_loss_of_precision(self):
1676
+ for dtype in [np.complex64, np.complex_]:
1677
+ yield self.check_loss_of_precision, dtype
1678
+
1679
+ @dec.knownfailureif(is_longdouble_finfo_bogus(), "Bogus long double finfo")
1680
+ def test_loss_of_precision_longcomplex(self):
1681
+ self.check_loss_of_precision(np.longcomplex)
1682
+
1683
+
1684
+ class TestAttributes(TestCase):
1685
+ def test_attributes(self):
1686
+ add = ncu.add
1687
+ assert_equal(add.__name__, 'add')
1688
+ assert_(add.__doc__.startswith('add(x1, x2[, out])\n\n'))
1689
+ self.assertTrue(add.ntypes >= 18) # don't fail if types added
1690
+ self.assertTrue('ii->i' in add.types)
1691
+ assert_equal(add.nin, 2)
1692
+ assert_equal(add.nout, 1)
1693
+ assert_equal(add.identity, 0)
1694
+
1695
+
1696
+ class TestSubclass(TestCase):
1697
+
1698
+ def test_subclass_op(self):
1699
+
1700
+ class simple(np.ndarray):
1701
+ def __new__(subtype, shape):
1702
+ self = np.ndarray.__new__(subtype, shape, dtype=object)
1703
+ self.fill(0)
1704
+ return self
1705
+
1706
+ a = simple((3, 4))
1707
+ assert_equal(a+a, a)
1708
+
1709
+ def _check_branch_cut(f, x0, dx, re_sign=1, im_sign=-1, sig_zero_ok=False,
1710
+ dtype=np.complex):
1711
+ """
1712
+ Check for a branch cut in a function.
1713
+
1714
+ Assert that `x0` lies on a branch cut of function `f` and `f` is
1715
+ continuous from the direction `dx`.
1716
+
1717
+ Parameters
1718
+ ----------
1719
+ f : func
1720
+ Function to check
1721
+ x0 : array-like
1722
+ Point on branch cut
1723
+ dx : array-like
1724
+ Direction to check continuity in
1725
+ re_sign, im_sign : {1, -1}
1726
+ Change of sign of the real or imaginary part expected
1727
+ sig_zero_ok : bool
1728
+ Whether to check if the branch cut respects signed zero (if applicable)
1729
+ dtype : dtype
1730
+ Dtype to check (should be complex)
1731
+
1732
+ """
1733
+ x0 = np.atleast_1d(x0).astype(dtype)
1734
+ dx = np.atleast_1d(dx).astype(dtype)
1735
+
1736
+ if np.dtype(dtype).char == 'F':
1737
+ scale = np.finfo(dtype).eps * 1e2
1738
+ atol = np.float32(1e-2)
1739
+ else:
1740
+ scale = np.finfo(dtype).eps * 1e3
1741
+ atol = 1e-4
1742
+
1743
+ y0 = f(x0)
1744
+ yp = f(x0 + dx*scale*np.absolute(x0)/np.absolute(dx))
1745
+ ym = f(x0 - dx*scale*np.absolute(x0)/np.absolute(dx))
1746
+
1747
+ assert_(np.all(np.absolute(y0.real - yp.real) < atol), (y0, yp))
1748
+ assert_(np.all(np.absolute(y0.imag - yp.imag) < atol), (y0, yp))
1749
+ assert_(np.all(np.absolute(y0.real - ym.real*re_sign) < atol), (y0, ym))
1750
+ assert_(np.all(np.absolute(y0.imag - ym.imag*im_sign) < atol), (y0, ym))
1751
+
1752
+ if sig_zero_ok:
1753
+ # check that signed zeros also work as a displacement
1754
+ jr = (x0.real == 0) & (dx.real != 0)
1755
+ ji = (x0.imag == 0) & (dx.imag != 0)
1756
+ if np.any(jr):
1757
+ x = x0[jr]
1758
+ x.real = np.NZERO
1759
+ ym = f(x)
1760
+ assert_(np.all(np.absolute(y0[jr].real - ym.real*re_sign) < atol), (y0[jr], ym))
1761
+ assert_(np.all(np.absolute(y0[jr].imag - ym.imag*im_sign) < atol), (y0[jr], ym))
1762
+
1763
+ if np.any(ji):
1764
+ x = x0[ji]
1765
+ x.imag = np.NZERO
1766
+ ym = f(x)
1767
+ assert_(np.all(np.absolute(y0[ji].real - ym.real*re_sign) < atol), (y0[ji], ym))
1768
+ assert_(np.all(np.absolute(y0[ji].imag - ym.imag*im_sign) < atol), (y0[ji], ym))
1769
+
1770
+ def test_copysign():
1771
+ assert_(np.copysign(1, -1) == -1)
1772
+ with np.errstate(divide="ignore"):
1773
+ assert_(1 / np.copysign(0, -1) < 0)
1774
+ assert_(1 / np.copysign(0, 1) > 0)
1775
+ assert_(np.signbit(np.copysign(np.nan, -1)))
1776
+ assert_(not np.signbit(np.copysign(np.nan, 1)))
1777
+
1778
+ def _test_nextafter(t):
1779
+ one = t(1)
1780
+ two = t(2)
1781
+ zero = t(0)
1782
+ eps = np.finfo(t).eps
1783
+ assert_(np.nextafter(one, two) - one == eps)
1784
+ assert_(np.nextafter(one, zero) - one < 0)
1785
+ assert_(np.isnan(np.nextafter(np.nan, one)))
1786
+ assert_(np.isnan(np.nextafter(one, np.nan)))
1787
+ assert_(np.nextafter(one, one) == one)
1788
+
1789
+ def test_nextafter():
1790
+ return _test_nextafter(np.float64)
1791
+
1792
+ def test_nextafterf():
1793
+ return _test_nextafter(np.float32)
1794
+
1795
+ @dec.knownfailureif(sys.platform == 'win32' or on_powerpc(),
1796
+ "Long double support buggy on win32 and PPC, ticket 1664.")
1797
+ def test_nextafterl():
1798
+ return _test_nextafter(np.longdouble)
1799
+
1800
+ def _test_spacing(t):
1801
+ one = t(1)
1802
+ eps = np.finfo(t).eps
1803
+ nan = t(np.nan)
1804
+ inf = t(np.inf)
1805
+ with np.errstate(invalid='ignore'):
1806
+ assert_(np.spacing(one) == eps)
1807
+ assert_(np.isnan(np.spacing(nan)))
1808
+ assert_(np.isnan(np.spacing(inf)))
1809
+ assert_(np.isnan(np.spacing(-inf)))
1810
+ assert_(np.spacing(t(1e30)) != 0)
1811
+
1812
+ def test_spacing():
1813
+ return _test_spacing(np.float64)
1814
+
1815
+ def test_spacingf():
1816
+ return _test_spacing(np.float32)
1817
+
1818
+ @dec.knownfailureif(sys.platform == 'win32' or on_powerpc(),
1819
+ "Long double support buggy on win32 and PPC, ticket 1664.")
1820
+ def test_spacingl():
1821
+ return _test_spacing(np.longdouble)
1822
+
1823
+ def test_spacing_gfortran():
1824
+ # Reference from this fortran file, built with gfortran 4.3.3 on linux
1825
+ # 32bits:
1826
+ # PROGRAM test_spacing
1827
+ # INTEGER, PARAMETER :: SGL = SELECTED_REAL_KIND(p=6, r=37)
1828
+ # INTEGER, PARAMETER :: DBL = SELECTED_REAL_KIND(p=13, r=200)
1829
+ #
1830
+ # WRITE(*,*) spacing(0.00001_DBL)
1831
+ # WRITE(*,*) spacing(1.0_DBL)
1832
+ # WRITE(*,*) spacing(1000._DBL)
1833
+ # WRITE(*,*) spacing(10500._DBL)
1834
+ #
1835
+ # WRITE(*,*) spacing(0.00001_SGL)
1836
+ # WRITE(*,*) spacing(1.0_SGL)
1837
+ # WRITE(*,*) spacing(1000._SGL)
1838
+ # WRITE(*,*) spacing(10500._SGL)
1839
+ # END PROGRAM
1840
+ ref = {}
1841
+ ref[np.float64] = [1.69406589450860068E-021,
1842
+ 2.22044604925031308E-016,
1843
+ 1.13686837721616030E-013,
1844
+ 1.81898940354585648E-012]
1845
+ ref[np.float32] = [
1846
+ 9.09494702E-13,
1847
+ 1.19209290E-07,
1848
+ 6.10351563E-05,
1849
+ 9.76562500E-04]
1850
+
1851
+ for dt, dec_ in zip([np.float32, np.float64], (10, 20)):
1852
+ x = np.array([1e-5, 1, 1000, 10500], dtype=dt)
1853
+ assert_array_almost_equal(np.spacing(x), ref[dt], decimal=dec_)
1854
+
1855
+ def test_nextafter_vs_spacing():
1856
+ # XXX: spacing does not handle long double yet
1857
+ for t in [np.float32, np.float64]:
1858
+ for _f in [1, 1e-5, 1000]:
1859
+ f = t(_f)
1860
+ f1 = t(_f + 1)
1861
+ assert_(np.nextafter(f, f1) - f == np.spacing(f))
1862
+
1863
+ def test_pos_nan():
1864
+ """Check np.nan is a positive nan."""
1865
+ assert_(np.signbit(np.nan) == 0)
1866
+
1867
+ def test_reduceat():
1868
+ """Test bug in reduceat when structured arrays are not copied."""
1869
+ db = np.dtype([('name', 'S11'), ('time', np.int64), ('value', np.float32)])
1870
+ a = np.empty([100], dtype=db)
1871
+ a['name'] = 'Simple'
1872
+ a['time'] = 10
1873
+ a['value'] = 100
1874
+ indx = [0, 7, 15, 25]
1875
+
1876
+ h2 = []
1877
+ val1 = indx[0]
1878
+ for val2 in indx[1:]:
1879
+ h2.append(np.add.reduce(a['value'][val1:val2]))
1880
+ val1 = val2
1881
+ h2.append(np.add.reduce(a['value'][val1:]))
1882
+ h2 = np.array(h2)
1883
+
1884
+ # test buffered -- this should work
1885
+ h1 = np.add.reduceat(a['value'], indx)
1886
+ assert_array_almost_equal(h1, h2)
1887
+
1888
+ # This is when the error occurs.
1889
+ # test no buffer
1890
+ np.setbufsize(32)
1891
+ h1 = np.add.reduceat(a['value'], indx)
1892
+ np.setbufsize(np.UFUNC_BUFSIZE_DEFAULT)
1893
+ assert_array_almost_equal(h1, h2)
1894
+
1895
+ def test_reduceat_empty():
1896
+ """Reduceat should work with empty arrays"""
1897
+ indices = np.array([], 'i4')
1898
+ x = np.array([], 'f8')
1899
+ result = np.add.reduceat(x, indices)
1900
+ assert_equal(result.dtype, x.dtype)
1901
+ assert_equal(result.shape, (0,))
1902
+ # Another case with a slightly different zero-sized shape
1903
+ x = np.ones((5, 2))
1904
+ result = np.add.reduceat(x, [], axis=0)
1905
+ assert_equal(result.dtype, x.dtype)
1906
+ assert_equal(result.shape, (0, 2))
1907
+ result = np.add.reduceat(x, [], axis=1)
1908
+ assert_equal(result.dtype, x.dtype)
1909
+ assert_equal(result.shape, (5, 0))
1910
+
1911
+ def test_complex_nan_comparisons():
1912
+ nans = [complex(np.nan, 0), complex(0, np.nan), complex(np.nan, np.nan)]
1913
+ fins = [complex(1, 0), complex(-1, 0), complex(0, 1), complex(0, -1),
1914
+ complex(1, 1), complex(-1, -1), complex(0, 0)]
1915
+
1916
+ with np.errstate(invalid='ignore'):
1917
+ for x in nans + fins:
1918
+ x = np.array([x])
1919
+ for y in nans + fins:
1920
+ y = np.array([y])
1921
+
1922
+ if np.isfinite(x) and np.isfinite(y):
1923
+ continue
1924
+
1925
+ assert_equal(x < y, False, err_msg="%r < %r" % (x, y))
1926
+ assert_equal(x > y, False, err_msg="%r > %r" % (x, y))
1927
+ assert_equal(x <= y, False, err_msg="%r <= %r" % (x, y))
1928
+ assert_equal(x >= y, False, err_msg="%r >= %r" % (x, y))
1929
+ assert_equal(x == y, False, err_msg="%r == %r" % (x, y))
1930
+
1931
+
1932
+ if __name__ == "__main__":
1933
+ run_module_suite()