numpy 1.9.2__zip → 1.10.0__zip

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

Potentially problematic release.


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

Files changed (1593) hide show
  1. numpy-1.10.0.post2/INSTALL.txt +200 -0
  2. numpy-1.10.0.post2/LICENSE.txt +30 -0
  3. numpy-1.10.0.post2/MANIFEST.in +31 -0
  4. numpy-1.10.0.post2/PKG-INFO +47 -0
  5. numpy-1.10.0.post2/cnew.txt +117 -0
  6. numpy-1.10.0.post2/cold.txt +44 -0
  7. numpy-1.10.0.post2/committers.txt +160 -0
  8. numpy-1.10.0.post2/cpre.txt +283 -0
  9. numpy-1.10.0.post2/crel.txt +161 -0
  10. numpy-1.10.0.post2/doc/release/1.10.0-notes.rst +439 -0
  11. numpy-1.10.0.post2/doc/scipy-sphinx-theme/.git +1 -0
  12. numpy-1.10.0.post2/doc/source/conf.py +331 -0
  13. numpy-1.10.0.post2/doc/source/dev/development_environment.rst +211 -0
  14. numpy-1.10.0.post2/doc/source/dev/gitwash/development_workflow.rst +534 -0
  15. numpy-1.10.0.post2/doc/source/dev/gitwash/git_links.inc +95 -0
  16. numpy-1.10.0.post2/doc/source/dev/gitwash/index.rst +14 -0
  17. numpy-1.10.0.post2/doc/source/dev/index.rst +11 -0
  18. numpy-1.10.0.post2/doc/source/reference/arrays.classes.rst +490 -0
  19. numpy-1.10.0.post2/doc/source/reference/arrays.dtypes.rst +536 -0
  20. numpy-1.10.0.post2/doc/source/reference/arrays.indexing.rst +549 -0
  21. numpy-1.10.0.post2/doc/source/reference/arrays.interface.rst +337 -0
  22. numpy-1.10.0.post2/doc/source/reference/arrays.ndarray.rst +622 -0
  23. numpy-1.10.0.post2/doc/source/reference/arrays.scalars.rst +291 -0
  24. numpy-1.10.0.post2/doc/source/reference/c-api.array.rst +3393 -0
  25. numpy-1.10.0.post2/doc/source/reference/c-api.config.rst +103 -0
  26. numpy-1.10.0.post2/doc/source/reference/c-api.coremath.rst +420 -0
  27. numpy-1.10.0.post2/doc/source/reference/c-api.dtype.rst +376 -0
  28. numpy-1.10.0.post2/doc/source/reference/c-api.generalized-ufuncs.rst +191 -0
  29. numpy-1.10.0.post2/doc/source/reference/c-api.iterator.rst +1300 -0
  30. numpy-1.10.0.post2/doc/source/reference/c-api.types-and-structures.rst +1240 -0
  31. numpy-1.10.0.post2/doc/source/reference/c-api.ufunc.rst +413 -0
  32. numpy-1.10.0.post2/doc/source/reference/index.rst +43 -0
  33. numpy-1.10.0.post2/doc/source/reference/internals.code-explanations.rst +615 -0
  34. numpy-1.10.0.post2/doc/source/reference/routines.array-manipulation.rst +115 -0
  35. numpy-1.10.0.post2/doc/source/reference/routines.io.rst +78 -0
  36. numpy-1.10.0.post2/doc/source/reference/routines.linalg.rst +91 -0
  37. numpy-1.10.0.post2/doc/source/reference/routines.ma.rst +407 -0
  38. numpy-1.10.0.post2/doc/source/reference/routines.sort.rst +41 -0
  39. numpy-1.10.0.post2/doc/source/reference/routines.statistics.rst +57 -0
  40. numpy-1.10.0.post2/doc/source/reference/swig.interface-file.rst +1066 -0
  41. numpy-1.10.0.post2/doc/source/reference/swig.testing.rst +167 -0
  42. numpy-1.10.0.post2/doc/source/reference/ufuncs.rst +666 -0
  43. numpy-1.10.0.post2/doc/source/release.rst +20 -0
  44. numpy-1.10.0.post2/doc/source/user/basics.io.genfromtxt.rst +531 -0
  45. numpy-1.10.0.post2/doc/source/user/basics.rec.rst +7 -0
  46. numpy-1.10.0.post2/doc/source/user/c-info.beyond-basics.rst +560 -0
  47. numpy-1.10.0.post2/doc/source/user/c-info.how-to-extend.rst +642 -0
  48. numpy-1.10.0.post2/doc/source/user/c-info.python-as-glue.rst +1177 -0
  49. numpy-1.10.0.post2/doc/source/user/c-info.ufunc-tutorial.rst +1211 -0
  50. numpy-1.10.0.post2/doc/source/user/install.rst +194 -0
  51. numpy-1.10.0.post2/doc/sphinxext/.git +1 -0
  52. numpy-1.10.0.post2/numpy/__init__.py +227 -0
  53. numpy-1.10.0.post2/numpy/_build_utils/README +8 -0
  54. numpy-1.10.0.post2/numpy/_build_utils/apple_accelerate.py +21 -0
  55. numpy-1.10.0.post2/numpy/_build_utils/common.py +138 -0
  56. numpy-1.10.0.post2/numpy/_build_utils/src/apple_sgemv_fix.c +227 -0
  57. numpy-1.10.0.post2/numpy/_build_utils/waf.py +531 -0
  58. numpy-1.10.0.post2/numpy/_import_tools.py +353 -0
  59. numpy-1.10.0.post2/numpy/add_newdocs.py +7611 -0
  60. numpy-1.10.0.post2/numpy/compat/_inspect.py +194 -0
  61. numpy-1.10.0.post2/numpy/compat/py3k.py +88 -0
  62. numpy-1.10.0.post2/numpy/compat/setup.py +12 -0
  63. numpy-1.10.0.post2/numpy/core/__init__.py +89 -0
  64. numpy-1.10.0.post2/numpy/core/_internal.py +761 -0
  65. numpy-1.10.0.post2/numpy/core/_methods.py +133 -0
  66. numpy-1.10.0.post2/numpy/core/arrayprint.py +760 -0
  67. numpy-1.10.0.post2/numpy/core/code_generators/cversions.txt +34 -0
  68. numpy-1.10.0.post2/numpy/core/code_generators/generate_ufunc_api.py +219 -0
  69. numpy-1.10.0.post2/numpy/core/code_generators/generate_umath.py +1017 -0
  70. numpy-1.10.0.post2/numpy/core/code_generators/numpy_api.py +415 -0
  71. numpy-1.10.0.post2/numpy/core/code_generators/ufunc_docstrings.py +3442 -0
  72. numpy-1.10.0.post2/numpy/core/defchararray.py +2689 -0
  73. numpy-1.10.0.post2/numpy/core/fromnumeric.py +3089 -0
  74. numpy-1.10.0.post2/numpy/core/function_base.py +203 -0
  75. numpy-1.10.0.post2/numpy/core/getlimits.py +308 -0
  76. numpy-1.10.0.post2/numpy/core/include/numpy/ndarrayobject.h +246 -0
  77. numpy-1.10.0.post2/numpy/core/include/numpy/ndarraytypes.h +1797 -0
  78. numpy-1.10.0.post2/numpy/core/include/numpy/npy_3kcompat.h +448 -0
  79. numpy-1.10.0.post2/numpy/core/include/numpy/npy_common.h +1051 -0
  80. numpy-1.10.0.post2/numpy/core/include/numpy/npy_cpu.h +92 -0
  81. numpy-1.10.0.post2/numpy/core/include/numpy/npy_endian.h +61 -0
  82. numpy-1.10.0.post2/numpy/core/include/numpy/npy_math.h +525 -0
  83. numpy-1.10.0.post2/numpy/core/include/numpy/numpyconfig.h +36 -0
  84. numpy-1.10.0.post2/numpy/core/machar.py +342 -0
  85. numpy-1.10.0.post2/numpy/core/memmap.py +311 -0
  86. numpy-1.10.0.post2/numpy/core/numeric.py +2893 -0
  87. numpy-1.10.0.post2/numpy/core/numerictypes.py +1036 -0
  88. numpy-1.10.0.post2/numpy/core/records.py +846 -0
  89. numpy-1.10.0.post2/numpy/core/setup.py +983 -0
  90. numpy-1.10.0.post2/numpy/core/setup_common.py +352 -0
  91. numpy-1.10.0.post2/numpy/core/shape_base.py +350 -0
  92. numpy-1.10.0.post2/numpy/core/src/multiarray/alloc.c +244 -0
  93. numpy-1.10.0.post2/numpy/core/src/multiarray/arrayobject.c +1858 -0
  94. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.c.src +4738 -0
  95. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.h +37 -0
  96. numpy-1.10.0.post2/numpy/core/src/multiarray/buffer.c +981 -0
  97. numpy-1.10.0.post2/numpy/core/src/multiarray/calculation.c +1224 -0
  98. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.c +812 -0
  99. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.h +10 -0
  100. numpy-1.10.0.post2/numpy/core/src/multiarray/common.c +911 -0
  101. numpy-1.10.0.post2/numpy/core/src/multiarray/common.h +250 -0
  102. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.c +1664 -0
  103. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.h +24 -0
  104. numpy-1.10.0.post2/numpy/core/src/multiarray/conversion_utils.c +1217 -0
  105. numpy-1.10.0.post2/numpy/core/src/multiarray/convert.c +590 -0
  106. numpy-1.10.0.post2/numpy/core/src/multiarray/convert_datatype.c +2155 -0
  107. numpy-1.10.0.post2/numpy/core/src/multiarray/ctors.c +3838 -0
  108. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime.c +3821 -0
  109. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busday.c +1322 -0
  110. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busdaycal.c +552 -0
  111. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_strings.c +1772 -0
  112. numpy-1.10.0.post2/numpy/core/src/multiarray/descriptor.c +3719 -0
  113. numpy-1.10.0.post2/numpy/core/src/multiarray/dtype_transfer.c +4239 -0
  114. numpy-1.10.0.post2/numpy/core/src/multiarray/einsum.c.src +3005 -0
  115. numpy-1.10.0.post2/numpy/core/src/multiarray/getset.c +986 -0
  116. numpy-1.10.0.post2/numpy/core/src/multiarray/hashdescr.c +318 -0
  117. numpy-1.10.0.post2/numpy/core/src/multiarray/item_selection.c +2413 -0
  118. numpy-1.10.0.post2/numpy/core/src/multiarray/iterators.c +2192 -0
  119. numpy-1.10.0.post2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +1769 -0
  120. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.c +3380 -0
  121. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.h +77 -0
  122. numpy-1.10.0.post2/numpy/core/src/multiarray/methods.c +2514 -0
  123. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarray_tests.c.src +1035 -0
  124. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.c +4628 -0
  125. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.h +15 -0
  126. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_api.c +2809 -0
  127. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_constr.c +3160 -0
  128. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_pywrap.c +2499 -0
  129. numpy-1.10.0.post2/numpy/core/src/multiarray/number.c +1106 -0
  130. numpy-1.10.0.post2/numpy/core/src/multiarray/number.h +77 -0
  131. numpy-1.10.0.post2/numpy/core/src/multiarray/numpymemoryview.c +308 -0
  132. numpy-1.10.0.post2/numpy/core/src/multiarray/numpyos.c +683 -0
  133. numpy-1.10.0.post2/numpy/core/src/multiarray/scalarapi.c +870 -0
  134. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.c.src +4343 -0
  135. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.h +55 -0
  136. numpy-1.10.0.post2/numpy/core/src/multiarray/shape.c +1131 -0
  137. numpy-1.10.0.post2/numpy/core/src/multiarray/ucsnarrow.c +174 -0
  138. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.c +180 -0
  139. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.h +18 -0
  140. numpy-1.10.0.post2/numpy/core/src/npymath/ieee754.c.src +808 -0
  141. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math.c.src +597 -0
  142. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_complex.c.src +1788 -0
  143. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_private.h +544 -0
  144. numpy-1.10.0.post2/numpy/core/src/npysort/heapsort.c.src +402 -0
  145. numpy-1.10.0.post2/numpy/core/src/npysort/mergesort.c.src +488 -0
  146. numpy-1.10.0.post2/numpy/core/src/npysort/npysort_common.h +360 -0
  147. numpy-1.10.0.post2/numpy/core/src/npysort/quicksort.c.src +523 -0
  148. numpy-1.10.0.post2/numpy/core/src/npysort/selection.c.src +426 -0
  149. numpy-1.10.0.post2/numpy/core/src/private/npy_cblas.h +584 -0
  150. numpy-1.10.0.post2/numpy/core/src/private/npy_config.h +101 -0
  151. numpy-1.10.0.post2/numpy/core/src/private/npy_import.h +32 -0
  152. numpy-1.10.0.post2/numpy/core/src/private/npy_partition.h.src +122 -0
  153. numpy-1.10.0.post2/numpy/core/src/private/npy_sort.h +196 -0
  154. numpy-1.10.0.post2/numpy/core/src/private/templ_common.h.src +43 -0
  155. numpy-1.10.0.post2/numpy/core/src/private/ufunc_override.h +397 -0
  156. numpy-1.10.0.post2/numpy/core/src/umath/funcs.inc.src +356 -0
  157. numpy-1.10.0.post2/numpy/core/src/umath/loops.c.src +2675 -0
  158. numpy-1.10.0.post2/numpy/core/src/umath/loops.h.src +497 -0
  159. numpy-1.10.0.post2/numpy/core/src/umath/operand_flag_tests.c.src +105 -0
  160. numpy-1.10.0.post2/numpy/core/src/umath/scalarmath.c.src +1738 -0
  161. numpy-1.10.0.post2/numpy/core/src/umath/simd.inc.src +903 -0
  162. numpy-1.10.0.post2/numpy/core/src/umath/test_rational.c.src +1404 -0
  163. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_object.c +5703 -0
  164. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_type_resolution.c +2159 -0
  165. numpy-1.10.0.post2/numpy/core/src/umath/umath_tests.c.src +392 -0
  166. numpy-1.10.0.post2/numpy/core/src/umath/umathmodule.c +443 -0
  167. numpy-1.10.0.post2/numpy/core/tests/test_abc.py +47 -0
  168. numpy-1.10.0.post2/numpy/core/tests/test_api.py +515 -0
  169. numpy-1.10.0.post2/numpy/core/tests/test_arrayprint.py +171 -0
  170. numpy-1.10.0.post2/numpy/core/tests/test_datetime.py +1820 -0
  171. numpy-1.10.0.post2/numpy/core/tests/test_defchararray.py +703 -0
  172. numpy-1.10.0.post2/numpy/core/tests/test_deprecations.py +619 -0
  173. numpy-1.10.0.post2/numpy/core/tests/test_dtype.py +578 -0
  174. numpy-1.10.0.post2/numpy/core/tests/test_einsum.py +627 -0
  175. numpy-1.10.0.post2/numpy/core/tests/test_errstate.py +52 -0
  176. numpy-1.10.0.post2/numpy/core/tests/test_function_base.py +142 -0
  177. numpy-1.10.0.post2/numpy/core/tests/test_getlimits.py +77 -0
  178. numpy-1.10.0.post2/numpy/core/tests/test_half.py +436 -0
  179. numpy-1.10.0.post2/numpy/core/tests/test_indexerrors.py +126 -0
  180. numpy-1.10.0.post2/numpy/core/tests/test_indexing.py +1047 -0
  181. numpy-1.10.0.post2/numpy/core/tests/test_item_selection.py +73 -0
  182. numpy-1.10.0.post2/numpy/core/tests/test_machar.py +29 -0
  183. numpy-1.10.0.post2/numpy/core/tests/test_memmap.py +130 -0
  184. numpy-1.10.0.post2/numpy/core/tests/test_multiarray.py +5924 -0
  185. numpy-1.10.0.post2/numpy/core/tests/test_multiarray_assignment.py +84 -0
  186. numpy-1.10.0.post2/numpy/core/tests/test_nditer.py +2638 -0
  187. numpy-1.10.0.post2/numpy/core/tests/test_numeric.py +2204 -0
  188. numpy-1.10.0.post2/numpy/core/tests/test_numerictypes.py +382 -0
  189. numpy-1.10.0.post2/numpy/core/tests/test_print.py +248 -0
  190. numpy-1.10.0.post2/numpy/core/tests/test_records.py +299 -0
  191. numpy-1.10.0.post2/numpy/core/tests/test_regression.py +2177 -0
  192. numpy-1.10.0.post2/numpy/core/tests/test_scalarinherit.py +41 -0
  193. numpy-1.10.0.post2/numpy/core/tests/test_scalarmath.py +316 -0
  194. numpy-1.10.0.post2/numpy/core/tests/test_shape_base.py +319 -0
  195. numpy-1.10.0.post2/numpy/core/tests/test_ufunc.py +1227 -0
  196. numpy-1.10.0.post2/numpy/core/tests/test_umath.py +1933 -0
  197. numpy-1.10.0.post2/numpy/core/tests/test_umath_complex.py +538 -0
  198. numpy-1.10.0.post2/numpy/core/tests/test_unicode.py +360 -0
  199. numpy-1.10.0.post2/numpy/distutils/__init__.py +23 -0
  200. numpy-1.10.0.post2/numpy/distutils/ccompiler.py +690 -0
  201. numpy-1.10.0.post2/numpy/distutils/command/autodist.py +94 -0
  202. numpy-1.10.0.post2/numpy/distutils/command/build.py +47 -0
  203. numpy-1.10.0.post2/numpy/distutils/command/build_clib.py +295 -0
  204. numpy-1.10.0.post2/numpy/distutils/command/build_ext.py +522 -0
  205. numpy-1.10.0.post2/numpy/distutils/command/config.py +437 -0
  206. numpy-1.10.0.post2/numpy/distutils/exec_command.py +651 -0
  207. numpy-1.10.0.post2/numpy/distutils/fcompiler/compaq.py +128 -0
  208. numpy-1.10.0.post2/numpy/distutils/fcompiler/gnu.py +403 -0
  209. numpy-1.10.0.post2/numpy/distutils/fcompiler/intel.py +217 -0
  210. numpy-1.10.0.post2/numpy/distutils/fcompiler/pg.py +63 -0
  211. numpy-1.10.0.post2/numpy/distutils/fcompiler/sun.py +55 -0
  212. numpy-1.10.0.post2/numpy/distutils/intelccompiler.py +95 -0
  213. numpy-1.10.0.post2/numpy/distutils/lib2def.py +116 -0
  214. numpy-1.10.0.post2/numpy/distutils/mingw32ccompiler.py +599 -0
  215. numpy-1.10.0.post2/numpy/distutils/misc_util.py +2306 -0
  216. numpy-1.10.0.post2/numpy/distutils/msvc9compiler.py +23 -0
  217. numpy-1.10.0.post2/numpy/distutils/msvccompiler.py +17 -0
  218. numpy-1.10.0.post2/numpy/distutils/npy_pkg_config.py +451 -0
  219. numpy-1.10.0.post2/numpy/distutils/system_info.py +2397 -0
  220. numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +12 -0
  221. numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +11 -0
  222. numpy-1.10.0.post2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +11 -0
  223. numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +13 -0
  224. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/__init__.py +1 -0
  225. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example.py +17 -0
  226. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example2.py +15 -0
  227. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_gnu.py +60 -0
  228. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_intel.py +36 -0
  229. numpy-1.10.0.post2/numpy/distutils/tests/test_misc_util.py +79 -0
  230. numpy-1.10.0.post2/numpy/distutils/tests/test_npy_pkg_config.py +102 -0
  231. numpy-1.10.0.post2/numpy/distutils/tests/test_system_info.py +209 -0
  232. numpy-1.10.0.post2/numpy/distutils/unixccompiler.py +125 -0
  233. numpy-1.10.0.post2/numpy/doc/byteswapping.py +156 -0
  234. numpy-1.10.0.post2/numpy/doc/creation.py +144 -0
  235. numpy-1.10.0.post2/numpy/doc/glossary.py +423 -0
  236. numpy-1.10.0.post2/numpy/doc/indexing.py +439 -0
  237. numpy-1.10.0.post2/numpy/doc/structured_arrays.py +290 -0
  238. numpy-1.10.0.post2/numpy/f2py/__init__.py +49 -0
  239. numpy-1.10.0.post2/numpy/f2py/__main__.py +25 -0
  240. numpy-1.10.0.post2/numpy/f2py/auxfuncs.py +858 -0
  241. numpy-1.10.0.post2/numpy/f2py/capi_maps.py +851 -0
  242. numpy-1.10.0.post2/numpy/f2py/cb_rules.py +554 -0
  243. numpy-1.10.0.post2/numpy/f2py/cfuncs.py +1261 -0
  244. numpy-1.10.0.post2/numpy/f2py/common_rules.py +150 -0
  245. numpy-1.10.0.post2/numpy/f2py/crackfortran.py +3314 -0
  246. numpy-1.10.0.post2/numpy/f2py/diagnose.py +156 -0
  247. numpy-1.10.0.post2/numpy/f2py/f2py2e.py +656 -0
  248. numpy-1.10.0.post2/numpy/f2py/f2py_testing.py +48 -0
  249. numpy-1.10.0.post2/numpy/f2py/f90mod_rules.py +272 -0
  250. numpy-1.10.0.post2/numpy/f2py/func2subr.py +299 -0
  251. numpy-1.10.0.post2/numpy/f2py/rules.py +1475 -0
  252. numpy-1.10.0.post2/numpy/f2py/setup.py +117 -0
  253. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.c +1037 -0
  254. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.h +162 -0
  255. numpy-1.10.0.post2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +223 -0
  256. numpy-1.10.0.post2/numpy/f2py/tests/test_array_from_pyobj.py +593 -0
  257. numpy-1.10.0.post2/numpy/f2py/tests/test_assumed_shape.py +35 -0
  258. numpy-1.10.0.post2/numpy/f2py/tests/test_callback.py +136 -0
  259. numpy-1.10.0.post2/numpy/f2py/tests/test_kind.py +36 -0
  260. numpy-1.10.0.post2/numpy/f2py/tests/test_mixed.py +40 -0
  261. numpy-1.10.0.post2/numpy/f2py/tests/test_regression.py +34 -0
  262. numpy-1.10.0.post2/numpy/f2py/tests/test_return_character.py +148 -0
  263. numpy-1.10.0.post2/numpy/f2py/tests/test_return_complex.py +170 -0
  264. numpy-1.10.0.post2/numpy/f2py/tests/test_return_integer.py +180 -0
  265. numpy-1.10.0.post2/numpy/f2py/tests/test_return_logical.py +189 -0
  266. numpy-1.10.0.post2/numpy/f2py/tests/test_return_real.py +206 -0
  267. numpy-1.10.0.post2/numpy/f2py/tests/test_size.py +44 -0
  268. numpy-1.10.0.post2/numpy/f2py/tests/util.py +367 -0
  269. numpy-1.10.0.post2/numpy/f2py/use_rules.py +115 -0
  270. numpy-1.10.0.post2/numpy/fft/fftpack.c +1501 -0
  271. numpy-1.10.0.post2/numpy/fft/fftpack.h +28 -0
  272. numpy-1.10.0.post2/numpy/fft/fftpack.py +1241 -0
  273. numpy-1.10.0.post2/numpy/fft/fftpack_litemodule.c +363 -0
  274. numpy-1.10.0.post2/numpy/fft/info.py +187 -0
  275. numpy-1.10.0.post2/numpy/fft/setup.py +19 -0
  276. numpy-1.10.0.post2/numpy/fft/tests/test_fftpack.py +166 -0
  277. numpy-1.10.0.post2/numpy/fft/tests/test_helper.py +78 -0
  278. numpy-1.10.0.post2/numpy/lib/_iotools.py +917 -0
  279. numpy-1.10.0.post2/numpy/lib/arraypad.py +1497 -0
  280. numpy-1.10.0.post2/numpy/lib/arraysetops.py +480 -0
  281. numpy-1.10.0.post2/numpy/lib/arrayterator.py +226 -0
  282. numpy-1.10.0.post2/numpy/lib/financial.py +737 -0
  283. numpy-1.10.0.post2/numpy/lib/format.py +814 -0
  284. numpy-1.10.0.post2/numpy/lib/function_base.py +4150 -0
  285. numpy-1.10.0.post2/numpy/lib/index_tricks.py +874 -0
  286. numpy-1.10.0.post2/numpy/lib/info.py +152 -0
  287. numpy-1.10.0.post2/numpy/lib/nanfunctions.py +1237 -0
  288. numpy-1.10.0.post2/numpy/lib/npyio.py +1992 -0
  289. numpy-1.10.0.post2/numpy/lib/polynomial.py +1277 -0
  290. numpy-1.10.0.post2/numpy/lib/recfunctions.py +1003 -0
  291. numpy-1.10.0.post2/numpy/lib/setup.py +12 -0
  292. numpy-1.10.0.post2/numpy/lib/shape_base.py +872 -0
  293. numpy-1.10.0.post2/numpy/lib/stride_tricks.py +200 -0
  294. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npy +0 -0
  295. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npz +0 -0
  296. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npy +0 -0
  297. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npz +0 -0
  298. numpy-1.10.0.post2/numpy/lib/tests/test__iotools.py +348 -0
  299. numpy-1.10.0.post2/numpy/lib/tests/test__version.py +70 -0
  300. numpy-1.10.0.post2/numpy/lib/tests/test_arraypad.py +1047 -0
  301. numpy-1.10.0.post2/numpy/lib/tests/test_arraysetops.py +309 -0
  302. numpy-1.10.0.post2/numpy/lib/tests/test_financial.py +163 -0
  303. numpy-1.10.0.post2/numpy/lib/tests/test_format.py +841 -0
  304. numpy-1.10.0.post2/numpy/lib/tests/test_function_base.py +2555 -0
  305. numpy-1.10.0.post2/numpy/lib/tests/test_index_tricks.py +326 -0
  306. numpy-1.10.0.post2/numpy/lib/tests/test_io.py +1916 -0
  307. numpy-1.10.0.post2/numpy/lib/tests/test_nanfunctions.py +707 -0
  308. numpy-1.10.0.post2/numpy/lib/tests/test_packbits.py +26 -0
  309. numpy-1.10.0.post2/numpy/lib/tests/test_polynomial.py +188 -0
  310. numpy-1.10.0.post2/numpy/lib/tests/test_recfunctions.py +734 -0
  311. numpy-1.10.0.post2/numpy/lib/tests/test_shape_base.py +386 -0
  312. numpy-1.10.0.post2/numpy/lib/tests/test_stride_tricks.py +405 -0
  313. numpy-1.10.0.post2/numpy/lib/tests/test_twodim_base.py +535 -0
  314. numpy-1.10.0.post2/numpy/lib/tests/test_type_check.py +332 -0
  315. numpy-1.10.0.post2/numpy/lib/twodim_base.py +1007 -0
  316. numpy-1.10.0.post2/numpy/lib/type_check.py +596 -0
  317. numpy-1.10.0.post2/numpy/lib/utils.py +1122 -0
  318. numpy-1.10.0.post2/numpy/linalg/lapack_lite/python_xerbla.c +46 -0
  319. numpy-1.10.0.post2/numpy/linalg/lapack_litemodule.c +358 -0
  320. numpy-1.10.0.post2/numpy/linalg/linalg.py +2406 -0
  321. numpy-1.10.0.post2/numpy/linalg/tests/test_build.py +59 -0
  322. numpy-1.10.0.post2/numpy/linalg/tests/test_linalg.py +1351 -0
  323. numpy-1.10.0.post2/numpy/linalg/tests/test_regression.py +95 -0
  324. numpy-1.10.0.post2/numpy/linalg/umath_linalg.c.src +3236 -0
  325. numpy-1.10.0.post2/numpy/ma/__init__.py +56 -0
  326. numpy-1.10.0.post2/numpy/ma/bench.py +131 -0
  327. numpy-1.10.0.post2/numpy/ma/core.py +7608 -0
  328. numpy-1.10.0.post2/numpy/ma/extras.py +1953 -0
  329. numpy-1.10.0.post2/numpy/ma/mrecords.py +796 -0
  330. numpy-1.10.0.post2/numpy/ma/setup.py +13 -0
  331. numpy-1.10.0.post2/numpy/ma/tests/test_core.py +4100 -0
  332. numpy-1.10.0.post2/numpy/ma/tests/test_extras.py +1132 -0
  333. numpy-1.10.0.post2/numpy/ma/tests/test_mrecords.py +520 -0
  334. numpy-1.10.0.post2/numpy/ma/tests/test_old_ma.py +879 -0
  335. numpy-1.10.0.post2/numpy/ma/tests/test_regression.py +80 -0
  336. numpy-1.10.0.post2/numpy/ma/tests/test_subclassing.py +338 -0
  337. numpy-1.10.0.post2/numpy/ma/testutils.py +289 -0
  338. numpy-1.10.0.post2/numpy/ma/timer_comparison.py +440 -0
  339. numpy-1.10.0.post2/numpy/matlib.py +358 -0
  340. numpy-1.10.0.post2/numpy/matrixlib/defmatrix.py +1232 -0
  341. numpy-1.10.0.post2/numpy/matrixlib/tests/test_defmatrix.py +449 -0
  342. numpy-1.10.0.post2/numpy/matrixlib/tests/test_multiarray.py +23 -0
  343. numpy-1.10.0.post2/numpy/matrixlib/tests/test_numeric.py +23 -0
  344. numpy-1.10.0.post2/numpy/matrixlib/tests/test_regression.py +37 -0
  345. numpy-1.10.0.post2/numpy/polynomial/_polybase.py +962 -0
  346. numpy-1.10.0.post2/numpy/polynomial/chebyshev.py +2056 -0
  347. numpy-1.10.0.post2/numpy/polynomial/hermite.py +1831 -0
  348. numpy-1.10.0.post2/numpy/polynomial/hermite_e.py +1828 -0
  349. numpy-1.10.0.post2/numpy/polynomial/laguerre.py +1780 -0
  350. numpy-1.10.0.post2/numpy/polynomial/legendre.py +1808 -0
  351. numpy-1.10.0.post2/numpy/polynomial/polyutils.py +403 -0
  352. numpy-1.10.0.post2/numpy/random/mtrand/distributions.c +912 -0
  353. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.c +34805 -0
  354. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.pyx +4766 -0
  355. numpy-1.10.0.post2/numpy/random/setup.py +61 -0
  356. numpy-1.10.0.post2/numpy/random/tests/test_random.py +723 -0
  357. numpy-1.10.0.post2/numpy/random/tests/test_regression.py +117 -0
  358. numpy-1.10.0.post2/numpy/setup.py +29 -0
  359. numpy-1.10.0.post2/numpy/testing/__init__.py +15 -0
  360. numpy-1.10.0.post2/numpy/testing/decorators.py +271 -0
  361. numpy-1.10.0.post2/numpy/testing/noseclasses.py +353 -0
  362. numpy-1.10.0.post2/numpy/testing/nosetester.py +511 -0
  363. numpy-1.10.0.post2/numpy/testing/print_coercion_tables.py +91 -0
  364. numpy-1.10.0.post2/numpy/testing/setup.py +20 -0
  365. numpy-1.10.0.post2/numpy/testing/tests/test_decorators.py +182 -0
  366. numpy-1.10.0.post2/numpy/testing/tests/test_utils.py +781 -0
  367. numpy-1.10.0.post2/numpy/testing/utils.py +1831 -0
  368. numpy-1.10.0.post2/numpy/tests/test_ctypeslib.py +106 -0
  369. numpy-1.10.0.post2/numpy/tests/test_matlib.py +55 -0
  370. numpy-1.10.0.post2/numpy/tests/test_scripts.py +69 -0
  371. numpy-1.10.0.post2/numpy/version.py +10 -0
  372. numpy-1.10.0.post2/setup.py +260 -0
  373. numpy-1.10.0.post2/site.cfg.example +193 -0
  374. numpy-1.10.0.post2/tmp.txt +789 -0
  375. numpy-1.10.0.post2/tools/swig/README +145 -0
  376. numpy-1.10.0.post2/tools/swig/numpy.i +3161 -0
  377. numpy-1.10.0.post2/tools/swig/test/Array.i +135 -0
  378. numpy-1.10.0.post2/tools/swig/test/ArrayZ.cxx +131 -0
  379. numpy-1.10.0.post2/tools/swig/test/ArrayZ.h +56 -0
  380. numpy-1.10.0.post2/tools/swig/test/Flat.cxx +36 -0
  381. numpy-1.10.0.post2/tools/swig/test/Flat.h +34 -0
  382. numpy-1.10.0.post2/tools/swig/test/Flat.i +36 -0
  383. numpy-1.10.0.post2/tools/swig/test/Makefile +37 -0
  384. numpy-1.10.0.post2/tools/swig/test/setup.py +71 -0
  385. numpy-1.10.0.post2/tools/swig/test/testArray.py +385 -0
  386. numpy-1.10.0.post2/tools/swig/test/testFarray.py +159 -0
  387. numpy-1.10.0.post2/tools/swig/test/testFlat.py +200 -0
  388. numpy-1.10.0.post2/tools/swig/test/testFortran.py +173 -0
  389. numpy-1.10.0.post2/tools/swig/test/testMatrix.py +362 -0
  390. numpy-1.10.0.post2/tools/swig/test/testSuperTensor.py +388 -0
  391. numpy-1.10.0.post2/tools/swig/test/testTensor.py +402 -0
  392. numpy-1.10.0.post2/tools/swig/test/testVector.py +381 -0
  393. numpy-1.9.2/INSTALL.txt +0 -138
  394. numpy-1.9.2/LICENSE.txt +0 -30
  395. numpy-1.9.2/MANIFEST.in +0 -26
  396. numpy-1.9.2/PKG-INFO +0 -39
  397. numpy-1.9.2/doc/scipy-sphinx-theme/.git +0 -1
  398. numpy-1.9.2/doc/source/conf.py +0 -331
  399. numpy-1.9.2/doc/source/dev/gitwash/branch_list.png +0 -0
  400. numpy-1.9.2/doc/source/dev/gitwash/branch_list_compare.png +0 -0
  401. numpy-1.9.2/doc/source/dev/gitwash/development_workflow.rst +0 -568
  402. numpy-1.9.2/doc/source/dev/gitwash/git_links.inc +0 -88
  403. numpy-1.9.2/doc/source/dev/gitwash/index.rst +0 -14
  404. numpy-1.9.2/doc/source/dev/index.rst +0 -10
  405. numpy-1.9.2/doc/source/reference/arrays.classes.rst +0 -427
  406. numpy-1.9.2/doc/source/reference/arrays.dtypes.rst +0 -534
  407. numpy-1.9.2/doc/source/reference/arrays.indexing.rst +0 -550
  408. numpy-1.9.2/doc/source/reference/arrays.interface.rst +0 -336
  409. numpy-1.9.2/doc/source/reference/arrays.ndarray.rst +0 -609
  410. numpy-1.9.2/doc/source/reference/arrays.scalars.rst +0 -291
  411. numpy-1.9.2/doc/source/reference/c-api.array.rst +0 -3362
  412. numpy-1.9.2/doc/source/reference/c-api.config.rst +0 -103
  413. numpy-1.9.2/doc/source/reference/c-api.coremath.rst +0 -420
  414. numpy-1.9.2/doc/source/reference/c-api.dtype.rst +0 -376
  415. numpy-1.9.2/doc/source/reference/c-api.generalized-ufuncs.rst +0 -171
  416. numpy-1.9.2/doc/source/reference/c-api.iterator.rst +0 -1298
  417. numpy-1.9.2/doc/source/reference/c-api.types-and-structures.rst +0 -1204
  418. numpy-1.9.2/doc/source/reference/c-api.ufunc.rst +0 -399
  419. numpy-1.9.2/doc/source/reference/index.rst +0 -44
  420. numpy-1.9.2/doc/source/reference/internals.code-explanations.rst +0 -666
  421. numpy-1.9.2/doc/source/reference/routines.array-manipulation.rst +0 -113
  422. numpy-1.9.2/doc/source/reference/routines.io.rst +0 -74
  423. numpy-1.9.2/doc/source/reference/routines.linalg.rst +0 -88
  424. numpy-1.9.2/doc/source/reference/routines.ma.rst +0 -405
  425. numpy-1.9.2/doc/source/reference/routines.sort.rst +0 -42
  426. numpy-1.9.2/doc/source/reference/routines.statistics.rst +0 -55
  427. numpy-1.9.2/doc/source/reference/swig.interface-file.rst +0 -1055
  428. numpy-1.9.2/doc/source/reference/swig.testing.rst +0 -166
  429. numpy-1.9.2/doc/source/reference/ufuncs.rst +0 -651
  430. numpy-1.9.2/doc/source/release.rst +0 -19
  431. numpy-1.9.2/doc/source/user/basics.io.genfromtxt.rst +0 -531
  432. numpy-1.9.2/doc/source/user/basics.rec.rst +0 -7
  433. numpy-1.9.2/doc/source/user/c-info.beyond-basics.rst +0 -560
  434. numpy-1.9.2/doc/source/user/c-info.how-to-extend.rst +0 -642
  435. numpy-1.9.2/doc/source/user/c-info.python-as-glue.rst +0 -1528
  436. numpy-1.9.2/doc/source/user/c-info.ufunc-tutorial.rst +0 -1211
  437. numpy-1.9.2/doc/source/user/install.rst +0 -180
  438. numpy-1.9.2/doc/sphinxext/.git +0 -1
  439. numpy-1.9.2/numpy/__init__.py +0 -216
  440. numpy-1.9.2/numpy/_import_tools.py +0 -348
  441. numpy-1.9.2/numpy/add_newdocs.py +0 -7518
  442. numpy-1.9.2/numpy/compat/_inspect.py +0 -221
  443. numpy-1.9.2/numpy/compat/py3k.py +0 -89
  444. numpy-1.9.2/numpy/compat/setup.py +0 -12
  445. numpy-1.9.2/numpy/core/__init__.py +0 -78
  446. numpy-1.9.2/numpy/core/_internal.py +0 -570
  447. numpy-1.9.2/numpy/core/_methods.py +0 -134
  448. numpy-1.9.2/numpy/core/arrayprint.py +0 -752
  449. numpy-1.9.2/numpy/core/blasdot/_dotblas.c +0 -1255
  450. numpy-1.9.2/numpy/core/blasdot/apple_sgemv_patch.c +0 -216
  451. numpy-1.9.2/numpy/core/blasdot/cblas.h +0 -578
  452. numpy-1.9.2/numpy/core/code_generators/cversions.txt +0 -31
  453. numpy-1.9.2/numpy/core/code_generators/generate_ufunc_api.py +0 -219
  454. numpy-1.9.2/numpy/core/code_generators/generate_umath.py +0 -972
  455. numpy-1.9.2/numpy/core/code_generators/numpy_api.py +0 -412
  456. numpy-1.9.2/numpy/core/code_generators/ufunc_docstrings.py +0 -3419
  457. numpy-1.9.2/numpy/core/defchararray.py +0 -2687
  458. numpy-1.9.2/numpy/core/fromnumeric.py +0 -2938
  459. numpy-1.9.2/numpy/core/function_base.py +0 -190
  460. numpy-1.9.2/numpy/core/getlimits.py +0 -306
  461. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.c +0 -38
  462. numpy-1.9.2/numpy/core/include/numpy/fenv/fenv.h +0 -224
  463. numpy-1.9.2/numpy/core/include/numpy/ndarrayobject.h +0 -237
  464. numpy-1.9.2/numpy/core/include/numpy/ndarraytypes.h +0 -1820
  465. numpy-1.9.2/numpy/core/include/numpy/npy_3kcompat.h +0 -506
  466. numpy-1.9.2/numpy/core/include/numpy/npy_common.h +0 -1038
  467. numpy-1.9.2/numpy/core/include/numpy/npy_cpu.h +0 -122
  468. numpy-1.9.2/numpy/core/include/numpy/npy_endian.h +0 -49
  469. numpy-1.9.2/numpy/core/include/numpy/npy_math.h +0 -479
  470. numpy-1.9.2/numpy/core/include/numpy/numpyconfig.h +0 -35
  471. numpy-1.9.2/numpy/core/machar.py +0 -338
  472. numpy-1.9.2/numpy/core/memmap.py +0 -308
  473. numpy-1.9.2/numpy/core/numeric.py +0 -2842
  474. numpy-1.9.2/numpy/core/numerictypes.py +0 -1042
  475. numpy-1.9.2/numpy/core/records.py +0 -804
  476. numpy-1.9.2/numpy/core/setup.py +0 -1016
  477. numpy-1.9.2/numpy/core/setup_common.py +0 -321
  478. numpy-1.9.2/numpy/core/shape_base.py +0 -277
  479. numpy-1.9.2/numpy/core/src/multiarray/alloc.c +0 -241
  480. numpy-1.9.2/numpy/core/src/multiarray/arrayobject.c +0 -1791
  481. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.c.src +0 -4372
  482. numpy-1.9.2/numpy/core/src/multiarray/arraytypes.h +0 -13
  483. numpy-1.9.2/numpy/core/src/multiarray/buffer.c +0 -954
  484. numpy-1.9.2/numpy/core/src/multiarray/calculation.c +0 -1229
  485. numpy-1.9.2/numpy/core/src/multiarray/common.c +0 -798
  486. numpy-1.9.2/numpy/core/src/multiarray/common.h +0 -328
  487. numpy-1.9.2/numpy/core/src/multiarray/conversion_utils.c +0 -1240
  488. numpy-1.9.2/numpy/core/src/multiarray/convert.c +0 -589
  489. numpy-1.9.2/numpy/core/src/multiarray/convert_datatype.c +0 -2199
  490. numpy-1.9.2/numpy/core/src/multiarray/ctors.c +0 -3785
  491. numpy-1.9.2/numpy/core/src/multiarray/datetime.c +0 -3823
  492. numpy-1.9.2/numpy/core/src/multiarray/datetime_busday.c +0 -1322
  493. numpy-1.9.2/numpy/core/src/multiarray/datetime_busdaycal.c +0 -552
  494. numpy-1.9.2/numpy/core/src/multiarray/datetime_strings.c +0 -1772
  495. numpy-1.9.2/numpy/core/src/multiarray/descriptor.c +0 -3658
  496. numpy-1.9.2/numpy/core/src/multiarray/dtype_transfer.c +0 -4232
  497. numpy-1.9.2/numpy/core/src/multiarray/einsum.c.src +0 -3013
  498. numpy-1.9.2/numpy/core/src/multiarray/getset.c +0 -984
  499. numpy-1.9.2/numpy/core/src/multiarray/hashdescr.c +0 -319
  500. numpy-1.9.2/numpy/core/src/multiarray/item_selection.c +0 -2711
  501. numpy-1.9.2/numpy/core/src/multiarray/iterators.c +0 -2160
  502. numpy-1.9.2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +0 -1767
  503. numpy-1.9.2/numpy/core/src/multiarray/mapping.c +0 -3316
  504. numpy-1.9.2/numpy/core/src/multiarray/mapping.h +0 -73
  505. numpy-1.9.2/numpy/core/src/multiarray/methods.c +0 -2497
  506. numpy-1.9.2/numpy/core/src/multiarray/multiarray_tests.c.src +0 -977
  507. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.c +0 -4202
  508. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule.h +0 -4
  509. numpy-1.9.2/numpy/core/src/multiarray/multiarraymodule_onefile.c +0 -58
  510. numpy-1.9.2/numpy/core/src/multiarray/nditer_api.c +0 -2809
  511. numpy-1.9.2/numpy/core/src/multiarray/nditer_constr.c +0 -3159
  512. numpy-1.9.2/numpy/core/src/multiarray/nditer_pywrap.c +0 -2492
  513. numpy-1.9.2/numpy/core/src/multiarray/number.c +0 -1057
  514. numpy-1.9.2/numpy/core/src/multiarray/number.h +0 -76
  515. numpy-1.9.2/numpy/core/src/multiarray/numpymemoryview.c +0 -309
  516. numpy-1.9.2/numpy/core/src/multiarray/numpyos.c +0 -683
  517. numpy-1.9.2/numpy/core/src/multiarray/scalarapi.c +0 -861
  518. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.c.src +0 -4270
  519. numpy-1.9.2/numpy/core/src/multiarray/scalartypes.h +0 -52
  520. numpy-1.9.2/numpy/core/src/multiarray/shape.c +0 -1141
  521. numpy-1.9.2/numpy/core/src/multiarray/ucsnarrow.c +0 -173
  522. numpy-1.9.2/numpy/core/src/npymath/ieee754.c.src +0 -814
  523. numpy-1.9.2/numpy/core/src/npymath/npy_math.c.src +0 -527
  524. numpy-1.9.2/numpy/core/src/npymath/npy_math_complex.c.src +0 -291
  525. numpy-1.9.2/numpy/core/src/npymath/npy_math_private.h +0 -539
  526. numpy-1.9.2/numpy/core/src/npysort/heapsort.c.src +0 -341
  527. numpy-1.9.2/numpy/core/src/npysort/mergesort.c.src +0 -428
  528. numpy-1.9.2/numpy/core/src/npysort/npysort_common.h +0 -367
  529. numpy-1.9.2/numpy/core/src/npysort/quicksort.c.src +0 -363
  530. numpy-1.9.2/numpy/core/src/npysort/selection.c.src +0 -474
  531. numpy-1.9.2/numpy/core/src/private/npy_config.h +0 -44
  532. numpy-1.9.2/numpy/core/src/private/npy_partition.h.src +0 -138
  533. numpy-1.9.2/numpy/core/src/private/npy_sort.h +0 -194
  534. numpy-1.9.2/numpy/core/src/private/scalarmathmodule.h.src +0 -42
  535. numpy-1.9.2/numpy/core/src/private/ufunc_override.h +0 -384
  536. numpy-1.9.2/numpy/core/src/scalarmathmodule.c.src +0 -1980
  537. numpy-1.9.2/numpy/core/src/umath/funcs.inc.src +0 -715
  538. numpy-1.9.2/numpy/core/src/umath/loops.c.src +0 -2654
  539. numpy-1.9.2/numpy/core/src/umath/loops.h.src +0 -501
  540. numpy-1.9.2/numpy/core/src/umath/operand_flag_tests.c.src +0 -105
  541. numpy-1.9.2/numpy/core/src/umath/simd.inc.src +0 -881
  542. numpy-1.9.2/numpy/core/src/umath/test_rational.c.src +0 -1404
  543. numpy-1.9.2/numpy/core/src/umath/ufunc_object.c +0 -5520
  544. numpy-1.9.2/numpy/core/src/umath/ufunc_type_resolution.c +0 -2164
  545. numpy-1.9.2/numpy/core/src/umath/umath_tests.c.src +0 -341
  546. numpy-1.9.2/numpy/core/src/umath/umathmodule.c +0 -561
  547. numpy-1.9.2/numpy/core/src/umath/umathmodule_onefile.c +0 -6
  548. numpy-1.9.2/numpy/core/tests/test_abc.py +0 -45
  549. numpy-1.9.2/numpy/core/tests/test_api.py +0 -514
  550. numpy-1.9.2/numpy/core/tests/test_arrayprint.py +0 -167
  551. numpy-1.9.2/numpy/core/tests/test_blasdot.py +0 -249
  552. numpy-1.9.2/numpy/core/tests/test_datetime.py +0 -1781
  553. numpy-1.9.2/numpy/core/tests/test_defchararray.py +0 -642
  554. numpy-1.9.2/numpy/core/tests/test_deprecations.py +0 -512
  555. numpy-1.9.2/numpy/core/tests/test_dtype.py +0 -542
  556. numpy-1.9.2/numpy/core/tests/test_einsum.py +0 -583
  557. numpy-1.9.2/numpy/core/tests/test_errstate.py +0 -51
  558. numpy-1.9.2/numpy/core/tests/test_function_base.py +0 -111
  559. numpy-1.9.2/numpy/core/tests/test_getlimits.py +0 -86
  560. numpy-1.9.2/numpy/core/tests/test_half.py +0 -439
  561. numpy-1.9.2/numpy/core/tests/test_indexerrors.py +0 -127
  562. numpy-1.9.2/numpy/core/tests/test_indexing.py +0 -1014
  563. numpy-1.9.2/numpy/core/tests/test_item_selection.py +0 -70
  564. numpy-1.9.2/numpy/core/tests/test_machar.py +0 -30
  565. numpy-1.9.2/numpy/core/tests/test_memmap.py +0 -127
  566. numpy-1.9.2/numpy/core/tests/test_multiarray.py +0 -4645
  567. numpy-1.9.2/numpy/core/tests/test_multiarray_assignment.py +0 -80
  568. numpy-1.9.2/numpy/core/tests/test_nditer.py +0 -2630
  569. numpy-1.9.2/numpy/core/tests/test_numeric.py +0 -2117
  570. numpy-1.9.2/numpy/core/tests/test_numerictypes.py +0 -377
  571. numpy-1.9.2/numpy/core/tests/test_print.py +0 -245
  572. numpy-1.9.2/numpy/core/tests/test_records.py +0 -185
  573. numpy-1.9.2/numpy/core/tests/test_regression.py +0 -2108
  574. numpy-1.9.2/numpy/core/tests/test_scalarinherit.py +0 -34
  575. numpy-1.9.2/numpy/core/tests/test_scalarmath.py +0 -275
  576. numpy-1.9.2/numpy/core/tests/test_shape_base.py +0 -250
  577. numpy-1.9.2/numpy/core/tests/test_ufunc.py +0 -1153
  578. numpy-1.9.2/numpy/core/tests/test_umath.py +0 -1695
  579. numpy-1.9.2/numpy/core/tests/test_umath_complex.py +0 -537
  580. numpy-1.9.2/numpy/core/tests/test_unicode.py +0 -357
  581. numpy-1.9.2/numpy/distutils/__init__.py +0 -39
  582. numpy-1.9.2/numpy/distutils/ccompiler.py +0 -656
  583. numpy-1.9.2/numpy/distutils/command/autodist.py +0 -43
  584. numpy-1.9.2/numpy/distutils/command/build.py +0 -39
  585. numpy-1.9.2/numpy/distutils/command/build_clib.py +0 -284
  586. numpy-1.9.2/numpy/distutils/command/build_ext.py +0 -503
  587. numpy-1.9.2/numpy/distutils/command/config.py +0 -476
  588. numpy-1.9.2/numpy/distutils/exec_command.py +0 -618
  589. numpy-1.9.2/numpy/distutils/fcompiler/compaq.py +0 -128
  590. numpy-1.9.2/numpy/distutils/fcompiler/gnu.py +0 -390
  591. numpy-1.9.2/numpy/distutils/fcompiler/intel.py +0 -205
  592. numpy-1.9.2/numpy/distutils/fcompiler/pg.py +0 -60
  593. numpy-1.9.2/numpy/distutils/fcompiler/sun.py +0 -52
  594. numpy-1.9.2/numpy/distutils/intelccompiler.py +0 -45
  595. numpy-1.9.2/numpy/distutils/lib2def.py +0 -116
  596. numpy-1.9.2/numpy/distutils/mingw32ccompiler.py +0 -582
  597. numpy-1.9.2/numpy/distutils/misc_util.py +0 -2271
  598. numpy-1.9.2/numpy/distutils/npy_pkg_config.py +0 -464
  599. numpy-1.9.2/numpy/distutils/system_info.py +0 -2319
  600. numpy-1.9.2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +0 -13
  601. numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +0 -12
  602. numpy-1.9.2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +0 -12
  603. numpy-1.9.2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +0 -14
  604. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example.py +0 -18
  605. numpy-1.9.2/numpy/distutils/tests/swig_ext/tests/test_example2.py +0 -16
  606. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_gnu.py +0 -53
  607. numpy-1.9.2/numpy/distutils/tests/test_fcompiler_intel.py +0 -36
  608. numpy-1.9.2/numpy/distutils/tests/test_misc_util.py +0 -75
  609. numpy-1.9.2/numpy/distutils/tests/test_npy_pkg_config.py +0 -98
  610. numpy-1.9.2/numpy/distutils/unixccompiler.py +0 -113
  611. numpy-1.9.2/numpy/doc/byteswapping.py +0 -147
  612. numpy-1.9.2/numpy/doc/creation.py +0 -144
  613. numpy-1.9.2/numpy/doc/glossary.py +0 -418
  614. numpy-1.9.2/numpy/doc/indexing.py +0 -437
  615. numpy-1.9.2/numpy/doc/structured_arrays.py +0 -223
  616. numpy-1.9.2/numpy/f2py/__init__.py +0 -49
  617. numpy-1.9.2/numpy/f2py/auxfuncs.py +0 -711
  618. numpy-1.9.2/numpy/f2py/capi_maps.py +0 -773
  619. numpy-1.9.2/numpy/f2py/cb_rules.py +0 -539
  620. numpy-1.9.2/numpy/f2py/cfuncs.py +0 -1224
  621. numpy-1.9.2/numpy/f2py/common_rules.py +0 -132
  622. numpy-1.9.2/numpy/f2py/crackfortran.py +0 -2870
  623. numpy-1.9.2/numpy/f2py/diagnose.py +0 -149
  624. numpy-1.9.2/numpy/f2py/f2py2e.py +0 -598
  625. numpy-1.9.2/numpy/f2py/f2py_testing.py +0 -46
  626. numpy-1.9.2/numpy/f2py/f90mod_rules.py +0 -246
  627. numpy-1.9.2/numpy/f2py/func2subr.py +0 -291
  628. numpy-1.9.2/numpy/f2py/rules.py +0 -1448
  629. numpy-1.9.2/numpy/f2py/setup.py +0 -129
  630. numpy-1.9.2/numpy/f2py/src/fortranobject.c +0 -972
  631. numpy-1.9.2/numpy/f2py/src/fortranobject.h +0 -162
  632. numpy-1.9.2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +0 -223
  633. numpy-1.9.2/numpy/f2py/tests/test_array_from_pyobj.py +0 -559
  634. numpy-1.9.2/numpy/f2py/tests/test_assumed_shape.py +0 -37
  635. numpy-1.9.2/numpy/f2py/tests/test_callback.py +0 -132
  636. numpy-1.9.2/numpy/f2py/tests/test_kind.py +0 -36
  637. numpy-1.9.2/numpy/f2py/tests/test_mixed.py +0 -41
  638. numpy-1.9.2/numpy/f2py/tests/test_regression.py +0 -32
  639. numpy-1.9.2/numpy/f2py/tests/test_return_character.py +0 -142
  640. numpy-1.9.2/numpy/f2py/tests/test_return_complex.py +0 -169
  641. numpy-1.9.2/numpy/f2py/tests/test_return_integer.py +0 -178
  642. numpy-1.9.2/numpy/f2py/tests/test_return_logical.py +0 -187
  643. numpy-1.9.2/numpy/f2py/tests/test_return_real.py +0 -203
  644. numpy-1.9.2/numpy/f2py/tests/test_size.py +0 -47
  645. numpy-1.9.2/numpy/f2py/tests/util.py +0 -353
  646. numpy-1.9.2/numpy/f2py/use_rules.py +0 -109
  647. numpy-1.9.2/numpy/fft/fftpack.c +0 -1501
  648. numpy-1.9.2/numpy/fft/fftpack.h +0 -28
  649. numpy-1.9.2/numpy/fft/fftpack.py +0 -1169
  650. numpy-1.9.2/numpy/fft/fftpack_litemodule.c +0 -371
  651. numpy-1.9.2/numpy/fft/info.py +0 -179
  652. numpy-1.9.2/numpy/fft/setup.py +0 -20
  653. numpy-1.9.2/numpy/fft/tests/test_fftpack.py +0 -75
  654. numpy-1.9.2/numpy/fft/tests/test_helper.py +0 -78
  655. numpy-1.9.2/numpy/lib/_iotools.py +0 -891
  656. numpy-1.9.2/numpy/lib/arraypad.py +0 -1475
  657. numpy-1.9.2/numpy/lib/arraysetops.py +0 -464
  658. numpy-1.9.2/numpy/lib/arrayterator.py +0 -226
  659. numpy-1.9.2/numpy/lib/financial.py +0 -737
  660. numpy-1.9.2/numpy/lib/format.py +0 -771
  661. numpy-1.9.2/numpy/lib/function_base.py +0 -3884
  662. numpy-1.9.2/numpy/lib/index_tricks.py +0 -869
  663. numpy-1.9.2/numpy/lib/info.py +0 -151
  664. numpy-1.9.2/numpy/lib/nanfunctions.py +0 -1158
  665. numpy-1.9.2/numpy/lib/npyio.py +0 -1918
  666. numpy-1.9.2/numpy/lib/polynomial.py +0 -1271
  667. numpy-1.9.2/numpy/lib/recfunctions.py +0 -1003
  668. numpy-1.9.2/numpy/lib/setup.py +0 -23
  669. numpy-1.9.2/numpy/lib/shape_base.py +0 -865
  670. numpy-1.9.2/numpy/lib/src/_compiled_base.c +0 -1761
  671. numpy-1.9.2/numpy/lib/stride_tricks.py +0 -123
  672. numpy-1.9.2/numpy/lib/tests/test__iotools.py +0 -326
  673. numpy-1.9.2/numpy/lib/tests/test__version.py +0 -57
  674. numpy-1.9.2/numpy/lib/tests/test_arraypad.py +0 -560
  675. numpy-1.9.2/numpy/lib/tests/test_arraysetops.py +0 -301
  676. numpy-1.9.2/numpy/lib/tests/test_financial.py +0 -160
  677. numpy-1.9.2/numpy/lib/tests/test_format.py +0 -716
  678. numpy-1.9.2/numpy/lib/tests/test_function_base.py +0 -2145
  679. numpy-1.9.2/numpy/lib/tests/test_index_tricks.py +0 -289
  680. numpy-1.9.2/numpy/lib/tests/test_io.py +0 -1754
  681. numpy-1.9.2/numpy/lib/tests/test_nanfunctions.py +0 -774
  682. numpy-1.9.2/numpy/lib/tests/test_polynomial.py +0 -177
  683. numpy-1.9.2/numpy/lib/tests/test_recfunctions.py +0 -705
  684. numpy-1.9.2/numpy/lib/tests/test_shape_base.py +0 -368
  685. numpy-1.9.2/numpy/lib/tests/test_stride_tricks.py +0 -238
  686. numpy-1.9.2/numpy/lib/tests/test_twodim_base.py +0 -504
  687. numpy-1.9.2/numpy/lib/tests/test_type_check.py +0 -328
  688. numpy-1.9.2/numpy/lib/twodim_base.py +0 -1003
  689. numpy-1.9.2/numpy/lib/type_check.py +0 -605
  690. numpy-1.9.2/numpy/lib/utils.py +0 -1176
  691. numpy-1.9.2/numpy/linalg/lapack_lite/python_xerbla.c +0 -47
  692. numpy-1.9.2/numpy/linalg/lapack_litemodule.c +0 -362
  693. numpy-1.9.2/numpy/linalg/linalg.py +0 -2136
  694. numpy-1.9.2/numpy/linalg/tests/test_build.py +0 -53
  695. numpy-1.9.2/numpy/linalg/tests/test_linalg.py +0 -1156
  696. numpy-1.9.2/numpy/linalg/tests/test_regression.py +0 -90
  697. numpy-1.9.2/numpy/linalg/umath_linalg.c.src +0 -3210
  698. numpy-1.9.2/numpy/ma/__init__.py +0 -58
  699. numpy-1.9.2/numpy/ma/bench.py +0 -166
  700. numpy-1.9.2/numpy/ma/core.py +0 -7374
  701. numpy-1.9.2/numpy/ma/extras.py +0 -1932
  702. numpy-1.9.2/numpy/ma/mrecords.py +0 -734
  703. numpy-1.9.2/numpy/ma/setup.py +0 -20
  704. numpy-1.9.2/numpy/ma/tests/test_core.py +0 -3706
  705. numpy-1.9.2/numpy/ma/tests/test_extras.py +0 -954
  706. numpy-1.9.2/numpy/ma/tests/test_mrecords.py +0 -521
  707. numpy-1.9.2/numpy/ma/tests/test_old_ma.py +0 -869
  708. numpy-1.9.2/numpy/ma/tests/test_regression.py +0 -75
  709. numpy-1.9.2/numpy/ma/tests/test_subclassing.py +0 -236
  710. numpy-1.9.2/numpy/ma/testutils.py +0 -240
  711. numpy-1.9.2/numpy/ma/timer_comparison.py +0 -459
  712. numpy-1.9.2/numpy/matlib.py +0 -358
  713. numpy-1.9.2/numpy/matrixlib/defmatrix.py +0 -1094
  714. numpy-1.9.2/numpy/matrixlib/tests/test_defmatrix.py +0 -400
  715. numpy-1.9.2/numpy/matrixlib/tests/test_multiarray.py +0 -18
  716. numpy-1.9.2/numpy/matrixlib/tests/test_numeric.py +0 -10
  717. numpy-1.9.2/numpy/matrixlib/tests/test_regression.py +0 -34
  718. numpy-1.9.2/numpy/polynomial/_polybase.py +0 -962
  719. numpy-1.9.2/numpy/polynomial/chebyshev.py +0 -2056
  720. numpy-1.9.2/numpy/polynomial/hermite.py +0 -1789
  721. numpy-1.9.2/numpy/polynomial/hermite_e.py +0 -1786
  722. numpy-1.9.2/numpy/polynomial/laguerre.py +0 -1781
  723. numpy-1.9.2/numpy/polynomial/legendre.py +0 -1809
  724. numpy-1.9.2/numpy/polynomial/polytemplate.py +0 -927
  725. numpy-1.9.2/numpy/polynomial/polyutils.py +0 -403
  726. numpy-1.9.2/numpy/random/mtrand/distributions.c +0 -892
  727. numpy-1.9.2/numpy/random/mtrand/mtrand.c +0 -31204
  728. numpy-1.9.2/numpy/random/mtrand/mtrand.pyx +0 -4706
  729. numpy-1.9.2/numpy/random/setup.py +0 -74
  730. numpy-1.9.2/numpy/random/tests/test_random.py +0 -707
  731. numpy-1.9.2/numpy/random/tests/test_regression.py +0 -86
  732. numpy-1.9.2/numpy/setup.py +0 -27
  733. numpy-1.9.2/numpy/testing/__init__.py +0 -16
  734. numpy-1.9.2/numpy/testing/decorators.py +0 -271
  735. numpy-1.9.2/numpy/testing/noseclasses.py +0 -353
  736. numpy-1.9.2/numpy/testing/nosetester.py +0 -504
  737. numpy-1.9.2/numpy/testing/print_coercion_tables.py +0 -89
  738. numpy-1.9.2/numpy/testing/setup.py +0 -20
  739. numpy-1.9.2/numpy/testing/tests/test_decorators.py +0 -185
  740. numpy-1.9.2/numpy/testing/tests/test_utils.py +0 -558
  741. numpy-1.9.2/numpy/testing/utils.py +0 -1715
  742. numpy-1.9.2/numpy/tests/test_ctypeslib.py +0 -102
  743. numpy-1.9.2/numpy/tests/test_matlib.py +0 -55
  744. numpy-1.9.2/numpy/version.py +0 -10
  745. numpy-1.9.2/setup.py +0 -251
  746. numpy-1.9.2/site.cfg.example +0 -157
  747. numpy-1.9.2/tools/swig/README +0 -135
  748. numpy-1.9.2/tools/swig/numpy.i +0 -3085
  749. numpy-1.9.2/tools/swig/test/Array.i +0 -102
  750. numpy-1.9.2/tools/swig/test/Makefile +0 -34
  751. numpy-1.9.2/tools/swig/test/setup.py +0 -64
  752. numpy-1.9.2/tools/swig/test/testArray.py +0 -284
  753. numpy-1.9.2/tools/swig/test/testFarray.py +0 -159
  754. numpy-1.9.2/tools/swig/test/testFortran.py +0 -173
  755. numpy-1.9.2/tools/swig/test/testMatrix.py +0 -362
  756. numpy-1.9.2/tools/swig/test/testSuperTensor.py +0 -388
  757. numpy-1.9.2/tools/swig/test/testTensor.py +0 -402
  758. numpy-1.9.2/tools/swig/test/testVector.py +0 -381
  759. {numpy-1.9.2 → numpy-1.10.0.post2}/BENTO_BUILD.txt +0 -0
  760. {numpy-1.9.2 → numpy-1.10.0.post2}/COMPATIBILITY +0 -0
  761. {numpy-1.9.2 → numpy-1.10.0.post2}/DEV_README.txt +0 -0
  762. {numpy-1.9.2 → numpy-1.10.0.post2}/README.txt +0 -0
  763. {numpy-1.9.2 → numpy-1.10.0.post2}/THANKS.txt +0 -0
  764. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/Makefile +0 -0
  765. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/BUGS.txt +0 -0
  766. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/FAQ.txt +0 -0
  767. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/HISTORY.txt +0 -0
  768. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Makefile +0 -0
  769. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/OLDNEWS.txt +0 -0
  770. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/README.txt +0 -0
  771. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-1.x.txt +0 -0
  772. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-2.x.txt +0 -0
  773. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-3.x.txt +0 -0
  774. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/Release-4.x.txt +0 -0
  775. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TESTING.txt +0 -0
  776. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/THANKS.txt +0 -0
  777. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/TODO.txt +0 -0
  778. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/apps.tex +0 -0
  779. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/bugs.tex +0 -0
  780. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/collectinput.py +0 -0
  781. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/commands.tex +0 -0
  782. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/default.css +0 -0
  783. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/docutils.conf +0 -0
  784. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/arr.f +0 -0
  785. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/bar.f +0 -0
  786. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foo.f +0 -0
  787. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar-smart.f90 +0 -0
  788. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar.f90 +0 -0
  789. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/foobarmodule.tex +0 -0
  790. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/ex1/runme +0 -0
  791. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py.1 +0 -0
  792. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2py2e.tex +0 -0
  793. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/README.txt +0 -0
  794. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/aerostructure.jpg +0 -0
  795. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/flow.jpg +0 -0
  796. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_html.sh +0 -0
  797. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_pdf.sh +0 -0
  798. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_ps.sh +0 -0
  799. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1.f +0 -0
  800. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1mess.txt +0 -0
  801. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1session.txt +0 -0
  802. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foo.pyf +0 -0
  803. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foom.pyf +0 -0
  804. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/structure.jpg +0 -0
  805. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/fortranobject.tex +0 -0
  806. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/hello.f +0 -0
  807. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/index.html +0 -0
  808. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/intro.tex +0 -0
  809. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/array_from_pyobj.c +0 -0
  810. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/bar.c +0 -0
  811. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/foo.f +0 -0
  812. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fortran_array_from_pyobj.txt +0 -0
  813. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/fun.pyf +0 -0
  814. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/run.pyf +0 -0
  815. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarray/transpose.txt +0 -0
  816. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/multiarrays.txt +0 -0
  817. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/notes.tex +0 -0
  818. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/oldnews.html +0 -0
  819. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/options.tex +0 -0
  820. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pyforttest.pyf +0 -0
  821. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/pytest.py +0 -0
  822. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/python9.tex +0 -0
  823. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/signaturefile.tex +0 -0
  824. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple.f +0 -0
  825. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/simple_session.dat +0 -0
  826. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/using_F_compiler.txt +0 -0
  827. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/f2py/win32_notes.txt +0 -0
  828. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/postprocess.py +0 -0
  829. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.3.0-notes.rst +0 -0
  830. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.4.0-notes.rst +0 -0
  831. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.5.0-notes.rst +0 -0
  832. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.0-notes.rst +0 -0
  833. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.1-notes.rst +0 -0
  834. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.6.2-notes.rst +0 -0
  835. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.0-notes.rst +0 -0
  836. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.1-notes.rst +0 -0
  837. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.7.2-notes.rst +0 -0
  838. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.0-notes.rst +0 -0
  839. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.1-notes.rst +0 -0
  840. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.8.2-notes.rst +0 -0
  841. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.0-notes.rst +0 -0
  842. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.1-notes.rst +0 -0
  843. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/1.9.2-notes.rst +0 -0
  844. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/release/time_based_proposal.rst +0 -0
  845. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.gitignore +0 -0
  846. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/Makefile +0 -0
  847. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/README.rst +0 -0
  848. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_static/scipyshiny_small.png +0 -0
  849. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/layout.html +0 -0
  850. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/searchbox.html +0 -0
  851. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/sourcelink.html +0 -0
  852. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/extend.css +0 -0
  853. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/pygments.css +0 -0
  854. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/scipy-central.css +0 -0
  855. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-bootstrap.css +0 -0
  856. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-extend.css +0 -0
  857. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/all-icons.svg +0 -0
  858. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/contents.png +0 -0
  859. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/create-new-account-icon.png +0 -0
  860. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon-shrunk.png +0 -0
  861. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.png +0 -0
  862. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.svg +0 -0
  863. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiniest.png +0 -0
  864. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiny.png +0 -0
  865. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon.png +0 -0
  866. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ad.png +0 -0
  867. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ae.png +0 -0
  868. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-af.png +0 -0
  869. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ag.png +0 -0
  870. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ai.png +0 -0
  871. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-al.png +0 -0
  872. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-am.png +0 -0
  873. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ao.png +0 -0
  874. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aq.png +0 -0
  875. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ar.png +0 -0
  876. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-as.png +0 -0
  877. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-at.png +0 -0
  878. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-au.png +0 -0
  879. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aw.png +0 -0
  880. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-az.png +0 -0
  881. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ba.png +0 -0
  882. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bb.png +0 -0
  883. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bd.png +0 -0
  884. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-be.png +0 -0
  885. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bf.png +0 -0
  886. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bg.png +0 -0
  887. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bh.png +0 -0
  888. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bi.png +0 -0
  889. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bj.png +0 -0
  890. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bl.png +0 -0
  891. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bm.png +0 -0
  892. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bn.png +0 -0
  893. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bo.png +0 -0
  894. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-br.png +0 -0
  895. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bs.png +0 -0
  896. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bt.png +0 -0
  897. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bw.png +0 -0
  898. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-by.png +0 -0
  899. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bz.png +0 -0
  900. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ca.png +0 -0
  901. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cc.png +0 -0
  902. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cd.png +0 -0
  903. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cf.png +0 -0
  904. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cg.png +0 -0
  905. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ch.png +0 -0
  906. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ci.png +0 -0
  907. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ck.png +0 -0
  908. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cl.png +0 -0
  909. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cm.png +0 -0
  910. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cn.png +0 -0
  911. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-co.png +0 -0
  912. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cr.png +0 -0
  913. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cu.png +0 -0
  914. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cv.png +0 -0
  915. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cw.png +0 -0
  916. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cx.png +0 -0
  917. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cy.png +0 -0
  918. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cz.png +0 -0
  919. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-de.png +0 -0
  920. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dj.png +0 -0
  921. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dk.png +0 -0
  922. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dm.png +0 -0
  923. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-do.png +0 -0
  924. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dz.png +0 -0
  925. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ec.png +0 -0
  926. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ee.png +0 -0
  927. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-eg.png +0 -0
  928. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-er.png +0 -0
  929. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-es.png +0 -0
  930. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-et.png +0 -0
  931. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fi.png +0 -0
  932. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fj.png +0 -0
  933. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fk.png +0 -0
  934. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fm.png +0 -0
  935. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fo.png +0 -0
  936. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fr.png +0 -0
  937. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ga.png +0 -0
  938. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gb.png +0 -0
  939. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gd.png +0 -0
  940. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ge.png +0 -0
  941. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gf.png +0 -0
  942. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gg.png +0 -0
  943. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gh.png +0 -0
  944. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gi.png +0 -0
  945. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gl.png +0 -0
  946. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gm.png +0 -0
  947. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gn.png +0 -0
  948. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gq.png +0 -0
  949. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gr.png +0 -0
  950. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gs.png +0 -0
  951. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gt.png +0 -0
  952. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gu.png +0 -0
  953. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gw.png +0 -0
  954. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gy.png +0 -0
  955. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hk.png +0 -0
  956. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hm.png +0 -0
  957. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hn.png +0 -0
  958. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hr.png +0 -0
  959. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ht.png +0 -0
  960. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hu.png +0 -0
  961. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-id.png +0 -0
  962. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ie.png +0 -0
  963. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-il.png +0 -0
  964. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-im.png +0 -0
  965. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-in.png +0 -0
  966. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-io.png +0 -0
  967. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-iq.png +0 -0
  968. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ir.png +0 -0
  969. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-is.png +0 -0
  970. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-it.png +0 -0
  971. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-je.png +0 -0
  972. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jm.png +0 -0
  973. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jo.png +0 -0
  974. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jp.png +0 -0
  975. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ke.png +0 -0
  976. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kg.png +0 -0
  977. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kh.png +0 -0
  978. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ki.png +0 -0
  979. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-km.png +0 -0
  980. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kn.png +0 -0
  981. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kp.png +0 -0
  982. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kr.png +0 -0
  983. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kw.png +0 -0
  984. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ky.png +0 -0
  985. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kz.png +0 -0
  986. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-la.png +0 -0
  987. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lb.png +0 -0
  988. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lc.png +0 -0
  989. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-li.png +0 -0
  990. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lk.png +0 -0
  991. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lr.png +0 -0
  992. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ls.png +0 -0
  993. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lt.png +0 -0
  994. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lu.png +0 -0
  995. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lv.png +0 -0
  996. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ly.png +0 -0
  997. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ma.png +0 -0
  998. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mc.png +0 -0
  999. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-md.png +0 -0
  1000. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-me.png +0 -0
  1001. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mf.png +0 -0
  1002. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mg.png +0 -0
  1003. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mh.png +0 -0
  1004. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mk.png +0 -0
  1005. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ml.png +0 -0
  1006. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mm.png +0 -0
  1007. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mn.png +0 -0
  1008. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mo.png +0 -0
  1009. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mp.png +0 -0
  1010. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mq.png +0 -0
  1011. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mr.png +0 -0
  1012. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ms.png +0 -0
  1013. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mt.png +0 -0
  1014. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mu.png +0 -0
  1015. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mv.png +0 -0
  1016. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mw.png +0 -0
  1017. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mx.png +0 -0
  1018. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-my.png +0 -0
  1019. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mz.png +0 -0
  1020. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-na.png +0 -0
  1021. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nc.png +0 -0
  1022. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ne.png +0 -0
  1023. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nf.png +0 -0
  1024. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ng.png +0 -0
  1025. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ni.png +0 -0
  1026. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nl.png +0 -0
  1027. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-no.png +0 -0
  1028. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-np.png +0 -0
  1029. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nr.png +0 -0
  1030. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nu.png +0 -0
  1031. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nz.png +0 -0
  1032. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-om.png +0 -0
  1033. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pa.png +0 -0
  1034. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pe.png +0 -0
  1035. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pf.png +0 -0
  1036. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pg.png +0 -0
  1037. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ph.png +0 -0
  1038. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pk.png +0 -0
  1039. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pl.png +0 -0
  1040. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pm.png +0 -0
  1041. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pn.png +0 -0
  1042. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pr.png +0 -0
  1043. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ps.png +0 -0
  1044. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pt.png +0 -0
  1045. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pw.png +0 -0
  1046. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-py.png +0 -0
  1047. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-qa.png +0 -0
  1048. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-re.png +0 -0
  1049. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ro.png +0 -0
  1050. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rs.png +0 -0
  1051. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ru.png +0 -0
  1052. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rw.png +0 -0
  1053. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sa.png +0 -0
  1054. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sb.png +0 -0
  1055. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sc.png +0 -0
  1056. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sd.png +0 -0
  1057. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-se.png +0 -0
  1058. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sg.png +0 -0
  1059. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sh.png +0 -0
  1060. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-si.png +0 -0
  1061. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sj.png +0 -0
  1062. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sk.png +0 -0
  1063. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sl.png +0 -0
  1064. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sm.png +0 -0
  1065. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sn.png +0 -0
  1066. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-so.png +0 -0
  1067. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sr.png +0 -0
  1068. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-st.png +0 -0
  1069. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sv.png +0 -0
  1070. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sy.png +0 -0
  1071. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sz.png +0 -0
  1072. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tc.png +0 -0
  1073. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-td.png +0 -0
  1074. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tf.png +0 -0
  1075. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tg.png +0 -0
  1076. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-th.png +0 -0
  1077. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tj.png +0 -0
  1078. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tk.png +0 -0
  1079. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tl.png +0 -0
  1080. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tm.png +0 -0
  1081. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tn.png +0 -0
  1082. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-to.png +0 -0
  1083. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tr.png +0 -0
  1084. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tt.png +0 -0
  1085. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tv.png +0 -0
  1086. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tw.png +0 -0
  1087. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tz.png +0 -0
  1088. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ua.png +0 -0
  1089. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ug.png +0 -0
  1090. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-um.png +0 -0
  1091. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-us.png +0 -0
  1092. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uy.png +0 -0
  1093. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uz.png +0 -0
  1094. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-va.png +0 -0
  1095. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vc.png +0 -0
  1096. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ve.png +0 -0
  1097. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vg.png +0 -0
  1098. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vi.png +0 -0
  1099. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vn.png +0 -0
  1100. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vu.png +0 -0
  1101. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-wf.png +0 -0
  1102. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ws.png +0 -0
  1103. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ye.png +0 -0
  1104. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-za.png +0 -0
  1105. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zm.png +0 -0
  1106. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zw.png +0 -0
  1107. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings-white.png +0 -0
  1108. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings.png +0 -0
  1109. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/important-icon.png +0 -0
  1110. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/information-icon.png +0 -0
  1111. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/internet-web-browser.png +0 -0
  1112. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon-shrunk.png +0 -0
  1113. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.png +0 -0
  1114. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.svg +0 -0
  1115. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon-tiny.png +0 -0
  1116. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon.png +0 -0
  1117. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/navigation.png +0 -0
  1118. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon-tiny.png +0 -0
  1119. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon.png +0 -0
  1120. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy-logo.png +0 -0
  1121. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy_org_logo.gif +0 -0
  1122. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipycentral_logo.png +0 -0
  1123. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipyshiny_small.png +0 -0
  1124. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/send-email-icon.png +0 -0
  1125. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon-shrunk.png +0 -0
  1126. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.png +0 -0
  1127. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.svg +0 -0
  1128. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiniest.png +0 -0
  1129. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiny.png +0 -0
  1130. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon.png +0 -0
  1131. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/transparent-pixel.gif +0 -0
  1132. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/ui-anim_basic_16x16.gif +0 -0
  1133. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/js/copybutton.js +0 -0
  1134. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/accordion.less +0 -0
  1135. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/alerts.less +0 -0
  1136. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/bootstrap.less +0 -0
  1137. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/breadcrumbs.less +0 -0
  1138. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/button-groups.less +0 -0
  1139. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/buttons.less +0 -0
  1140. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/carousel.less +0 -0
  1141. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/close.less +0 -0
  1142. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/code.less +0 -0
  1143. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/component-animations.less +0 -0
  1144. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/dropdowns.less +0 -0
  1145. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/forms.less +0 -0
  1146. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/grid.less +0 -0
  1147. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/hero-unit.less +0 -0
  1148. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/labels-badges.less +0 -0
  1149. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/layouts.less +0 -0
  1150. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/media.less +0 -0
  1151. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/mixins.less +0 -0
  1152. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/modals.less +0 -0
  1153. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navbar.less +0 -0
  1154. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navs.less +0 -0
  1155. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pager.less +0 -0
  1156. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pagination.less +0 -0
  1157. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/popovers.less +0 -0
  1158. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/progress-bars.less +0 -0
  1159. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/reset.less +0 -0
  1160. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-1200px-min.less +0 -0
  1161. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-767px-max.less +0 -0
  1162. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-768px-979px.less +0 -0
  1163. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-navbar.less +0 -0
  1164. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-utilities.less +0 -0
  1165. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive.less +0 -0
  1166. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/scaffolding.less +0 -0
  1167. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/sprites.less +0 -0
  1168. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tables.less +0 -0
  1169. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/thumbnails.less +0 -0
  1170. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tooltip.less +0 -0
  1171. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/type.less +0 -0
  1172. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/utilities.less +0 -0
  1173. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/variables.less +0 -0
  1174. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/wells.less +0 -0
  1175. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-bootstrap.less +0 -0
  1176. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-content.less +0 -0
  1177. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-extend.less +0 -0
  1178. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-footer.less +0 -0
  1179. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-header.less +0 -0
  1180. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-rightsidebar.less +0 -0
  1181. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-utils.less +0 -0
  1182. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/scipy.css_t +0 -0
  1183. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/theme.conf +0 -0
  1184. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/conf.py +0 -0
  1185. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/index.rst +0 -0
  1186. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc.rst +0 -0
  1187. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_2.rst +0 -0
  1188. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_3.rst +0 -0
  1189. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_4.rst +0 -0
  1190. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_optimize.rst +0 -0
  1191. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/autosummary/class.rst +0 -0
  1192. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexcontent.html +0 -0
  1193. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/indexsidebar.html +0 -0
  1194. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/_templates/layout.html +0 -0
  1195. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/about.rst +0 -0
  1196. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/bugs.rst +0 -0
  1197. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/contents.rst +0 -0
  1198. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/configure_git.rst +0 -0
  1199. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/development_setup.rst +0 -0
  1200. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/dot2_dot3.rst +0 -0
  1201. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/following_latest.rst +0 -0
  1202. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/forking_button.png +0 -0
  1203. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_development.rst +0 -0
  1204. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_intro.rst +0 -0
  1205. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_resources.rst +0 -0
  1206. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash/pull_button.png +0 -0
  1207. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/dev/gitwash_links.txt +0 -0
  1208. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/advanced.rst +0 -0
  1209. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr.f90 +0 -0
  1210. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/allocarr_session.dat +0 -0
  1211. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array.f +0 -0
  1212. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/array_session.dat +0 -0
  1213. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate.f +0 -0
  1214. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/calculate_session.dat +0 -0
  1215. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback.f +0 -0
  1216. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback2.pyf +0 -0
  1217. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/callback_session.dat +0 -0
  1218. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common.f +0 -0
  1219. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/common_session.dat +0 -0
  1220. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/compile_session.dat +0 -0
  1221. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/distutils.rst +0 -0
  1222. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback.f +0 -0
  1223. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/extcallback_session.dat +0 -0
  1224. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.f +0 -0
  1225. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib1.pyf +0 -0
  1226. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib2.pyf +0 -0
  1227. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/fib3.f +0 -0
  1228. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype.f +0 -0
  1229. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/ftype_session.dat +0 -0
  1230. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/getting-started.rst +0 -0
  1231. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/index.rst +0 -0
  1232. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata.f90 +0 -0
  1233. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/moddata_session.dat +0 -0
  1234. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/python-usage.rst +0 -0
  1235. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/run_main_session.dat +0 -0
  1236. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar.f +0 -0
  1237. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/scalar_session.dat +0 -0
  1238. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/setup_example.py +0 -0
  1239. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/signature-file.rst +0 -0
  1240. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam.pyf +0 -0
  1241. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/spam_session.dat +0 -0
  1242. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string.f +0 -0
  1243. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/string_session.dat +0 -0
  1244. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/usage.rst +0 -0
  1245. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var.pyf +0 -0
  1246. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/f2py/var_session.dat +0 -0
  1247. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/glossary.rst +0 -0
  1248. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/license.rst +0 -0
  1249. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal.rst +0 -0
  1250. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal3.rst +0 -0
  1251. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/deferred-ufunc-evaluation.rst +0 -0
  1252. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/generalized-ufuncs.rst +0 -0
  1253. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/groupby_additions.rst +0 -0
  1254. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/index.rst +0 -0
  1255. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/math_config_clean.rst +0 -0
  1256. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/missing-data.rst +0 -0
  1257. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/new-iterator-ufunc.rst +0 -0
  1258. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/newbugtracker.rst +0 -0
  1259. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/npy-format.rst +0 -0
  1260. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/structured_array_extensions.rst +0 -0
  1261. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/ufunc-overrides.rst +0 -0
  1262. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/neps/warnfix.rst +0 -0
  1263. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.datetime.rst +0 -0
  1264. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.nditer.rst +0 -0
  1265. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/arrays.rst +0 -0
  1266. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.deprecations.rst +0 -0
  1267. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/c-api.rst +0 -0
  1268. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/distutils.rst +0 -0
  1269. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.dia +0 -0
  1270. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.pdf +0 -0
  1271. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.png +0 -0
  1272. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.fig +0 -0
  1273. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.pdf +0 -0
  1274. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.png +0 -0
  1275. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/internals.rst +0 -0
  1276. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.baseclass.rst +0 -0
  1277. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.generic.rst +0 -0
  1278. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.rst +0 -0
  1279. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.array-creation.rst +0 -0
  1280. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.bitwise.rst +0 -0
  1281. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.char.rst +0 -0
  1282. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.ctypeslib.rst +0 -0
  1283. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.datetime.rst +0 -0
  1284. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dtype.rst +0 -0
  1285. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.dual.rst +0 -0
  1286. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.emath.rst +0 -0
  1287. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.err.rst +0 -0
  1288. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.fft.rst +0 -0
  1289. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.financial.rst +0 -0
  1290. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.functional.rst +0 -0
  1291. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.help.rst +0 -0
  1292. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.indexing.rst +0 -0
  1293. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.logic.rst +0 -0
  1294. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.math.rst +0 -0
  1295. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.matlib.rst +0 -0
  1296. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.numarray.rst +0 -0
  1297. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.oldnumeric.rst +0 -0
  1298. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.other.rst +0 -0
  1299. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.padding.rst +0 -0
  1300. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.chebyshev.rst +0 -0
  1301. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.classes.rst +0 -0
  1302. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite.rst +0 -0
  1303. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite_e.rst +0 -0
  1304. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.laguerre.rst +0 -0
  1305. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.legendre.rst +0 -0
  1306. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.package.rst +0 -0
  1307. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.poly1d.rst +0 -0
  1308. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.polynomial.rst +0 -0
  1309. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.rst +0 -0
  1310. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.random.rst +0 -0
  1311. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.rst +0 -0
  1312. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.set.rst +0 -0
  1313. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.testing.rst +0 -0
  1314. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/routines.window.rst +0 -0
  1315. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/reference/swig.rst +0 -0
  1316. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.broadcasting.rst +0 -0
  1317. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.byteswapping.rst +0 -0
  1318. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.creation.rst +0 -0
  1319. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.indexing.rst +0 -0
  1320. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.io.rst +0 -0
  1321. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.rst +0 -0
  1322. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.subclassing.rst +0 -0
  1323. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/basics.types.rst +0 -0
  1324. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/c-info.rst +0 -0
  1325. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/howtofind.rst +0 -0
  1326. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/index.rst +0 -0
  1327. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/introduction.rst +0 -0
  1328. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/misc.rst +0 -0
  1329. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/performance.rst +0 -0
  1330. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/source/user/whatisnumpy.rst +0 -0
  1331. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.gitignore +0 -0
  1332. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/.travis.yml +0 -0
  1333. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/LICENSE.txt +0 -0
  1334. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/MANIFEST.in +0 -0
  1335. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/README.rst +0 -0
  1336. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/__init__.py +0 -0
  1337. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/comment_eater.py +0 -0
  1338. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/compiler_unparse.py +0 -0
  1339. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape.py +0 -0
  1340. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape_sphinx.py +0 -0
  1341. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/linkcode.py +0 -0
  1342. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/numpydoc.py +0 -0
  1343. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/phantom_import.py +0 -0
  1344. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/plot_directive.py +0 -0
  1345. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_docscrape.py +0 -0
  1346. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_linkcode.py +0 -0
  1347. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_phantom_import.py +0 -0
  1348. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_plot_directive.py +0 -0
  1349. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_traitsdoc.py +0 -0
  1350. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/traitsdoc.py +0 -0
  1351. {numpy-1.9.2 → numpy-1.10.0.post2}/doc/sphinxext/setup.py +0 -0
  1352. {numpy-1.9.2/numpy/core/code_generators → numpy-1.10.0.post2/numpy/_build_utils}/__init__.py +0 -0
  1353. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/compat/__init__.py +0 -0
  1354. {numpy-1.9.2/numpy/distutils/tests/f2py_ext → numpy-1.10.0.post2/numpy/core/code_generators}/__init__.py +0 -0
  1355. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/genapi.py +0 -0
  1356. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/code_generators/generate_numpy_api.py +0 -0
  1357. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/cversions.py +0 -0
  1358. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_neighborhood_iterator_imp.h +0 -0
  1359. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/_numpyconfig.h.in +0 -0
  1360. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayobject.h +0 -0
  1361. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayscalars.h +0 -0
  1362. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/halffloat.h +0 -0
  1363. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/noprefix.h +0 -0
  1364. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_1_7_deprecated_api.h +0 -0
  1365. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_interrupt.h +0 -0
  1366. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_no_deprecated_api.h +0 -0
  1367. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_os.h +0 -0
  1368. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/old_defines.h +0 -0
  1369. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/oldnumeric.h +0 -0
  1370. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/ufuncobject.h +0 -0
  1371. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/include/numpy/utils.h +0 -0
  1372. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/info.py +0 -0
  1373. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/mlib.ini.in +0 -0
  1374. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/npymath.ini.in +0 -0
  1375. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/dummymodule.c +0 -0
  1376. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/_datetime.h +0 -0
  1377. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/alloc.h +0 -0
  1378. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.c +0 -0
  1379. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.h +0 -0
  1380. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_array.c +0 -0
  1381. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_scalar.c +0 -0
  1382. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/arrayobject.h +0 -0
  1383. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/buffer.h +0 -0
  1384. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/calculation.h +0 -0
  1385. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/conversion_utils.h +0 -0
  1386. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert.h +0 -0
  1387. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert_datatype.h +0 -0
  1388. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ctors.h +0 -0
  1389. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busday.h +0 -0
  1390. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busdaycal.h +0 -0
  1391. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_strings.h +0 -0
  1392. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/descriptor.h +0 -0
  1393. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/flagsobject.c +0 -0
  1394. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/getset.h +0 -0
  1395. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/hashdescr.h +0 -0
  1396. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/item_selection.h +0 -0
  1397. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/iterators.h +0 -0
  1398. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/methods.h +0 -0
  1399. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_impl.h +0 -0
  1400. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_pywrap.h +0 -0
  1401. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_templ.c.src +0 -0
  1402. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpymemoryview.h +0 -0
  1403. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpyos.h +0 -0
  1404. {numpy-1.9.2/numpy/core/blasdot → numpy-1.10.0.post2/numpy/core/src/multiarray}/python_xerbla.c +0 -0
  1405. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.c +0 -0
  1406. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.h +0 -0
  1407. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.c +0 -0
  1408. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.h +0 -0
  1409. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/shape.h +0 -0
  1410. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ucsnarrow.h +0 -0
  1411. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.c +0 -0
  1412. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.h +0 -0
  1413. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/_signbit.c +0 -0
  1414. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/halffloat.c +0 -0
  1415. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npymath/npy_math_common.h +0 -0
  1416. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/npysort/binsearch.c.src +0 -0
  1417. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/lowlevel_strided_loops.h +0 -0
  1418. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_binsearch.h.src +0 -0
  1419. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_fpmath.h +0 -0
  1420. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/private/npy_pycompat.h +0 -0
  1421. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.c +0 -0
  1422. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.h +0 -0
  1423. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/struct_ufunc_test.c.src +0 -0
  1424. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_object.h +0 -0
  1425. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_type_resolution.h +0 -0
  1426. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/astype_copy.pkl +0 -0
  1427. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/data/recarray_from_file.fits +0 -0
  1428. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/core/tests/test_scalarprint.py +0 -0
  1429. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ctypeslib.py +0 -0
  1430. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/__version__.py +0 -0
  1431. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/__init__.py +0 -0
  1432. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/bdist_rpm.py +0 -0
  1433. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_py.py +0 -0
  1434. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_scripts.py +0 -0
  1435. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/build_src.py +0 -0
  1436. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/config_compiler.py +0 -0
  1437. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/develop.py +0 -0
  1438. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/egg_info.py +0 -0
  1439. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install.py +0 -0
  1440. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_clib.py +0 -0
  1441. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_data.py +0 -0
  1442. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/install_headers.py +0 -0
  1443. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/command/sdist.py +0 -0
  1444. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/compat.py +0 -0
  1445. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/conv_template.py +0 -0
  1446. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/core.py +0 -0
  1447. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/cpuinfo.py +0 -0
  1448. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/environment.py +0 -0
  1449. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/extension.py +0 -0
  1450. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/__init__.py +0 -0
  1451. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/absoft.py +0 -0
  1452. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/g95.py +0 -0
  1453. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/hpux.py +0 -0
  1454. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/ibm.py +0 -0
  1455. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/lahey.py +0 -0
  1456. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/mips.py +0 -0
  1457. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/nag.py +0 -0
  1458. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/none.py +0 -0
  1459. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/pathf95.py +0 -0
  1460. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/vast.py +0 -0
  1461. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/from_template.py +0 -0
  1462. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/info.py +0 -0
  1463. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/line_endings.py +0 -0
  1464. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/log.py +0 -0
  1465. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/mingw/gfortran_vs2003_hack.c +0 -0
  1466. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/numpy_distribution.py +0 -0
  1467. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/pathccompiler.py +0 -0
  1468. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/setup.py +0 -0
  1469. {numpy-1.9.2/numpy/distutils/tests/f2py_f90_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext}/__init__.py +0 -0
  1470. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/setup.py +0 -0
  1471. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib1.f +0 -0
  1472. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib2.pyf +0 -0
  1473. {numpy-1.9.2/numpy/distutils/tests/gen_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext}/__init__.py +0 -0
  1474. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/include/body.f90 +0 -0
  1475. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/setup.py +0 -0
  1476. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/src/foo_free.f90 +0 -0
  1477. {numpy-1.9.2/numpy/distutils/tests/pyrex_ext → numpy-1.10.0.post2/numpy/distutils/tests/gen_ext}/__init__.py +0 -0
  1478. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/gen_ext/setup.py +0 -0
  1479. {numpy-1.9.2/numpy/distutils/tests/swig_ext → numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext}/__init__.py +0 -0
  1480. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/primes.pyx +0 -0
  1481. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/setup.py +0 -0
  1482. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/setup.py +0 -0
  1483. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/setup.py +0 -0
  1484. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.c +0 -0
  1485. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.i +0 -0
  1486. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.cc +0 -0
  1487. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.h +0 -0
  1488. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.i +0 -0
  1489. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/distutils/tests/test_exec_command.py +0 -0
  1490. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/__init__.py +0 -0
  1491. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/basics.py +0 -0
  1492. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/broadcasting.py +0 -0
  1493. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/constants.py +0 -0
  1494. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/howtofind.py +0 -0
  1495. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/internals.py +0 -0
  1496. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/io.py +0 -0
  1497. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/jargon.py +0 -0
  1498. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/methods_vs_functions.py +0 -0
  1499. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/misc.py +0 -0
  1500. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/performance.py +0 -0
  1501. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/subclassing.py +0 -0
  1502. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/doc/ufuncs.py +0 -0
  1503. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/dual.py +0 -0
  1504. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/__version__.py +0 -0
  1505. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/info.py +0 -0
  1506. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +0 -0
  1507. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_free.f90 +0 -0
  1508. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +0 -0
  1509. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_use.f90 +0 -0
  1510. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/precision.f90 +0 -0
  1511. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/kind/foo.f90 +0 -0
  1512. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo.f +0 -0
  1513. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_fixed.f90 +0 -0
  1514. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_free.f90 +0 -0
  1515. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/regression/inout.f90 +0 -0
  1516. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/f2py/tests/src/size/foo.f90 +0 -0
  1517. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/__init__.py +0 -0
  1518. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/fft/helper.py +0 -0
  1519. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/__init__.py +0 -0
  1520. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_datasource.py +0 -0
  1521. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/_version.py +0 -0
  1522. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/scimath.py +0 -0
  1523. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/python3.npy +0 -0
  1524. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/data/win64python2.npy +0 -0
  1525. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test__datasource.py +0 -0
  1526. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_arrayterator.py +0 -0
  1527. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_regression.py +0 -0
  1528. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_ufunclike.py +0 -0
  1529. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/tests/test_utils.py +0 -0
  1530. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/ufunclike.py +0 -0
  1531. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/lib/user_array.py +0 -0
  1532. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/__init__.py +0 -0
  1533. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/info.py +0 -0
  1534. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/blas_lite.c +0 -0
  1535. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlamch.c +0 -0
  1536. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlapack_lite.c +0 -0
  1537. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c.h +0 -0
  1538. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c_lite.c +0 -0
  1539. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/zlapack_lite.c +0 -0
  1540. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/setup.py +0 -0
  1541. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/linalg/tests/test_deprecations.py +0 -0
  1542. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/ma/version.py +0 -0
  1543. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/__init__.py +0 -0
  1544. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/matrixlib/setup.py +0 -0
  1545. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/__init__.py +0 -0
  1546. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/polynomial.py +0 -0
  1547. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/setup.py +0 -0
  1548. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_chebyshev.py +0 -0
  1549. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_classes.py +0 -0
  1550. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite.py +0 -0
  1551. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite_e.py +0 -0
  1552. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_laguerre.py +0 -0
  1553. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_legendre.py +0 -0
  1554. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polynomial.py +0 -0
  1555. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polyutils.py +0 -0
  1556. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_printing.py +0 -0
  1557. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/__init__.py +0 -0
  1558. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/info.py +0 -0
  1559. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/Python.pxi +0 -0
  1560. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/distributions.h +0 -0
  1561. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/generate_mtrand_c.py +0 -0
  1562. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.c +0 -0
  1563. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.h +0 -0
  1564. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/mtrand_py_helper.h +0 -0
  1565. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/numpy.pxd +0 -0
  1566. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.c +0 -0
  1567. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.h +0 -0
  1568. {numpy-1.9.2 → numpy-1.10.0.post2}/numpy/testing/tests/test_doctesting.py +0 -0
  1569. {numpy-1.9.2 → numpy-1.10.0.post2}/setupegg.py +0 -0
  1570. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/Makefile +0 -0
  1571. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/pyfragments.swg +0 -0
  1572. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.cxx +0 -0
  1573. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array1.h +0 -0
  1574. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.cxx +0 -0
  1575. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Array2.h +0 -0
  1576. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.cxx +0 -0
  1577. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.h +0 -0
  1578. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Farray.i +0 -0
  1579. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.cxx +0 -0
  1580. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.h +0 -0
  1581. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Fortran.i +0 -0
  1582. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.cxx +0 -0
  1583. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.h +0 -0
  1584. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Matrix.i +0 -0
  1585. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.cxx +0 -0
  1586. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.h +0 -0
  1587. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.i +0 -0
  1588. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.cxx +0 -0
  1589. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.h +0 -0
  1590. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Tensor.i +0 -0
  1591. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.cxx +0 -0
  1592. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.h +0 -0
  1593. {numpy-1.9.2 → numpy-1.10.0.post2}/tools/swig/test/Vector.i +0 -0
@@ -0,0 +1,1820 @@
1
+ from __future__ import division, absolute_import, print_function
2
+
3
+ import pickle
4
+ import warnings
5
+
6
+ import numpy
7
+ import numpy as np
8
+ import datetime
9
+ from numpy.compat import asbytes
10
+ from numpy.testing import (
11
+ TestCase, run_module_suite, assert_, assert_equal, assert_raises,
12
+ dec
13
+ )
14
+
15
+ # Use pytz to test out various time zones if available
16
+ try:
17
+ from pytz import timezone as tz
18
+ _has_pytz = True
19
+ except ImportError:
20
+ _has_pytz = False
21
+
22
+
23
+ class TestDateTime(TestCase):
24
+ def test_datetime_dtype_creation(self):
25
+ for unit in ['Y', 'M', 'W', 'D',
26
+ 'h', 'm', 's', 'ms', 'us',
27
+ 'ns', 'ps', 'fs', 'as']:
28
+ dt1 = np.dtype('M8[750%s]' % unit)
29
+ assert_(dt1 == np.dtype('datetime64[750%s]' % unit))
30
+ dt2 = np.dtype('m8[%s]' % unit)
31
+ assert_(dt2 == np.dtype('timedelta64[%s]' % unit))
32
+
33
+ # Generic units shouldn't add [] to the end
34
+ assert_equal(str(np.dtype("M8")), "datetime64")
35
+
36
+ # Should be possible to specify the endianness
37
+ assert_equal(np.dtype("=M8"), np.dtype("M8"))
38
+ assert_equal(np.dtype("=M8[s]"), np.dtype("M8[s]"))
39
+ assert_(np.dtype(">M8") == np.dtype("M8") or
40
+ np.dtype("<M8") == np.dtype("M8"))
41
+ assert_(np.dtype(">M8[D]") == np.dtype("M8[D]") or
42
+ np.dtype("<M8[D]") == np.dtype("M8[D]"))
43
+ assert_(np.dtype(">M8") != np.dtype("<M8"))
44
+
45
+ assert_equal(np.dtype("=m8"), np.dtype("m8"))
46
+ assert_equal(np.dtype("=m8[s]"), np.dtype("m8[s]"))
47
+ assert_(np.dtype(">m8") == np.dtype("m8") or
48
+ np.dtype("<m8") == np.dtype("m8"))
49
+ assert_(np.dtype(">m8[D]") == np.dtype("m8[D]") or
50
+ np.dtype("<m8[D]") == np.dtype("m8[D]"))
51
+ assert_(np.dtype(">m8") != np.dtype("<m8"))
52
+
53
+ # Check that the parser rejects bad datetime types
54
+ assert_raises(TypeError, np.dtype, 'M8[badunit]')
55
+ assert_raises(TypeError, np.dtype, 'm8[badunit]')
56
+ assert_raises(TypeError, np.dtype, 'M8[YY]')
57
+ assert_raises(TypeError, np.dtype, 'm8[YY]')
58
+ assert_raises(TypeError, np.dtype, 'm4')
59
+ assert_raises(TypeError, np.dtype, 'M7')
60
+ assert_raises(TypeError, np.dtype, 'm7')
61
+ assert_raises(TypeError, np.dtype, 'M16')
62
+ assert_raises(TypeError, np.dtype, 'm16')
63
+
64
+ def test_datetime_casting_rules(self):
65
+ # Cannot cast safely/same_kind between timedelta and datetime
66
+ assert_(not np.can_cast('m8', 'M8', casting='same_kind'))
67
+ assert_(not np.can_cast('M8', 'm8', casting='same_kind'))
68
+ assert_(not np.can_cast('m8', 'M8', casting='safe'))
69
+ assert_(not np.can_cast('M8', 'm8', casting='safe'))
70
+
71
+ # Can cast safely/same_kind from integer to timedelta
72
+ assert_(np.can_cast('i8', 'm8', casting='same_kind'))
73
+ assert_(np.can_cast('i8', 'm8', casting='safe'))
74
+
75
+ # Cannot cast safely/same_kind from float to timedelta
76
+ assert_(not np.can_cast('f4', 'm8', casting='same_kind'))
77
+ assert_(not np.can_cast('f4', 'm8', casting='safe'))
78
+
79
+ # Cannot cast safely/same_kind from integer to datetime
80
+ assert_(not np.can_cast('i8', 'M8', casting='same_kind'))
81
+ assert_(not np.can_cast('i8', 'M8', casting='safe'))
82
+
83
+ # Cannot cast safely/same_kind from bool to datetime
84
+ assert_(not np.can_cast('b1', 'M8', casting='same_kind'))
85
+ assert_(not np.can_cast('b1', 'M8', casting='safe'))
86
+ # Can cast safely/same_kind from bool to timedelta
87
+ assert_(np.can_cast('b1', 'm8', casting='same_kind'))
88
+ assert_(np.can_cast('b1', 'm8', casting='safe'))
89
+
90
+ # Can cast datetime safely from months/years to days
91
+ assert_(np.can_cast('M8[M]', 'M8[D]', casting='safe'))
92
+ assert_(np.can_cast('M8[Y]', 'M8[D]', casting='safe'))
93
+ # Cannot cast timedelta safely from months/years to days
94
+ assert_(not np.can_cast('m8[M]', 'm8[D]', casting='safe'))
95
+ assert_(not np.can_cast('m8[Y]', 'm8[D]', casting='safe'))
96
+ # Can cast datetime same_kind from months/years to days
97
+ assert_(np.can_cast('M8[M]', 'M8[D]', casting='same_kind'))
98
+ assert_(np.can_cast('M8[Y]', 'M8[D]', casting='same_kind'))
99
+ # Can't cast timedelta same_kind from months/years to days
100
+ assert_(not np.can_cast('m8[M]', 'm8[D]', casting='same_kind'))
101
+ assert_(not np.can_cast('m8[Y]', 'm8[D]', casting='same_kind'))
102
+ # Can't cast datetime same_kind across the date/time boundary
103
+ assert_(not np.can_cast('M8[D]', 'M8[h]', casting='same_kind'))
104
+ assert_(not np.can_cast('M8[h]', 'M8[D]', casting='same_kind'))
105
+ # Can cast timedelta same_kind across the date/time boundary
106
+ assert_(np.can_cast('m8[D]', 'm8[h]', casting='same_kind'))
107
+ assert_(np.can_cast('m8[h]', 'm8[D]', casting='same_kind'))
108
+
109
+ # Cannot cast safely if the integer multiplier doesn't divide
110
+ assert_(not np.can_cast('M8[7h]', 'M8[3h]', casting='safe'))
111
+ assert_(not np.can_cast('M8[3h]', 'M8[6h]', casting='safe'))
112
+ # But can cast same_kind
113
+ assert_(np.can_cast('M8[7h]', 'M8[3h]', casting='same_kind'))
114
+ # Can cast safely if the integer multiplier does divide
115
+ assert_(np.can_cast('M8[6h]', 'M8[3h]', casting='safe'))
116
+
117
+ def test_datetime_scalar_construction(self):
118
+ # Construct with different units
119
+ assert_equal(np.datetime64('1950-03-12', 'D'),
120
+ np.datetime64('1950-03-12'))
121
+ assert_equal(np.datetime64('1950-03-12T13Z', 's'),
122
+ np.datetime64('1950-03-12T13Z', 'm'))
123
+
124
+ # Default construction means NaT
125
+ assert_equal(np.datetime64(), np.datetime64('NaT'))
126
+
127
+ # Some basic strings and repr
128
+ assert_equal(str(np.datetime64('NaT')), 'NaT')
129
+ assert_equal(repr(np.datetime64('NaT')),
130
+ "numpy.datetime64('NaT')")
131
+ assert_equal(str(np.datetime64('2011-02')), '2011-02')
132
+ assert_equal(repr(np.datetime64('2011-02')),
133
+ "numpy.datetime64('2011-02')")
134
+
135
+ # None gets constructed as NaT
136
+ assert_equal(np.datetime64(None), np.datetime64('NaT'))
137
+
138
+ # Default construction of NaT is in generic units
139
+ assert_equal(np.datetime64().dtype, np.dtype('M8'))
140
+ assert_equal(np.datetime64('NaT').dtype, np.dtype('M8'))
141
+
142
+ # Construction from integers requires a specified unit
143
+ assert_raises(ValueError, np.datetime64, 17)
144
+
145
+ # When constructing from a scalar or zero-dimensional array,
146
+ # it either keeps the units or you can override them.
147
+ a = np.datetime64('2000-03-18T16Z', 'h')
148
+ b = np.array('2000-03-18T16Z', dtype='M8[h]')
149
+
150
+ assert_equal(a.dtype, np.dtype('M8[h]'))
151
+ assert_equal(b.dtype, np.dtype('M8[h]'))
152
+
153
+ assert_equal(np.datetime64(a), a)
154
+ assert_equal(np.datetime64(a).dtype, np.dtype('M8[h]'))
155
+
156
+ assert_equal(np.datetime64(b), a)
157
+ assert_equal(np.datetime64(b).dtype, np.dtype('M8[h]'))
158
+
159
+ assert_equal(np.datetime64(a, 's'), a)
160
+ assert_equal(np.datetime64(a, 's').dtype, np.dtype('M8[s]'))
161
+
162
+ assert_equal(np.datetime64(b, 's'), a)
163
+ assert_equal(np.datetime64(b, 's').dtype, np.dtype('M8[s]'))
164
+
165
+ # Construction from datetime.date
166
+ assert_equal(np.datetime64('1945-03-25'),
167
+ np.datetime64(datetime.date(1945, 3, 25)))
168
+ assert_equal(np.datetime64('2045-03-25', 'D'),
169
+ np.datetime64(datetime.date(2045, 3, 25), 'D'))
170
+ # Construction from datetime.datetime
171
+ assert_equal(np.datetime64('1980-01-25T14:36:22.5Z'),
172
+ np.datetime64(datetime.datetime(1980, 1, 25,
173
+ 14, 36, 22, 500000)))
174
+
175
+ # Construction with time units from a date raises
176
+ assert_raises(TypeError, np.datetime64, '1920-03-13', 'h')
177
+ assert_raises(TypeError, np.datetime64, '1920-03', 'm')
178
+ assert_raises(TypeError, np.datetime64, '1920', 's')
179
+ assert_raises(TypeError, np.datetime64, datetime.date(2045, 3, 25), 'ms')
180
+ # Construction with date units from a datetime raises
181
+ assert_raises(TypeError, np.datetime64, '1920-03-13T18Z', 'D')
182
+ assert_raises(TypeError, np.datetime64, '1920-03-13T18:33Z', 'W')
183
+ assert_raises(TypeError, np.datetime64, '1920-03-13T18:33:12Z', 'M')
184
+ assert_raises(TypeError, np.datetime64, '1920-03-13T18:33:12.5Z', 'Y')
185
+ assert_raises(TypeError, np.datetime64,
186
+ datetime.datetime(1920, 4, 14, 13, 20), 'D')
187
+
188
+ def test_datetime_array_find_type(self):
189
+ dt = np.datetime64('1970-01-01', 'M')
190
+ arr = np.array([dt])
191
+ assert_equal(arr.dtype, np.dtype('M8[M]'))
192
+
193
+ # at the moment, we don't automatically convert these to datetime64
194
+
195
+ dt = datetime.date(1970, 1, 1)
196
+ arr = np.array([dt])
197
+ assert_equal(arr.dtype, np.dtype('O'))
198
+
199
+ dt = datetime.datetime(1970, 1, 1, 12, 30, 40)
200
+ arr = np.array([dt])
201
+ assert_equal(arr.dtype, np.dtype('O'))
202
+
203
+ # find "supertype" for non-dates and dates
204
+
205
+ b = np.bool_(True)
206
+ dt = np.datetime64('1970-01-01', 'M')
207
+ arr = np.array([b, dt])
208
+ assert_equal(arr.dtype, np.dtype('O'))
209
+
210
+ dt = datetime.date(1970, 1, 1)
211
+ arr = np.array([b, dt])
212
+ assert_equal(arr.dtype, np.dtype('O'))
213
+
214
+ dt = datetime.datetime(1970, 1, 1, 12, 30, 40)
215
+ arr = np.array([b, dt])
216
+ assert_equal(arr.dtype, np.dtype('O'))
217
+
218
+ def test_timedelta_scalar_construction(self):
219
+ # Construct with different units
220
+ assert_equal(np.timedelta64(7, 'D'),
221
+ np.timedelta64(1, 'W'))
222
+ assert_equal(np.timedelta64(120, 's'),
223
+ np.timedelta64(2, 'm'))
224
+
225
+ # Default construction means 0
226
+ assert_equal(np.timedelta64(), np.timedelta64(0))
227
+
228
+ # None gets constructed as NaT
229
+ assert_equal(np.timedelta64(None), np.timedelta64('NaT'))
230
+
231
+ # Some basic strings and repr
232
+ assert_equal(str(np.timedelta64('NaT')), 'NaT')
233
+ assert_equal(repr(np.timedelta64('NaT')),
234
+ "numpy.timedelta64('NaT')")
235
+ assert_equal(str(np.timedelta64(3, 's')), '3 seconds')
236
+ assert_equal(repr(np.timedelta64(-3, 's')),
237
+ "numpy.timedelta64(-3,'s')")
238
+ assert_equal(repr(np.timedelta64(12)),
239
+ "numpy.timedelta64(12)")
240
+
241
+ # Construction from an integer produces generic units
242
+ assert_equal(np.timedelta64(12).dtype, np.dtype('m8'))
243
+
244
+ # When constructing from a scalar or zero-dimensional array,
245
+ # it either keeps the units or you can override them.
246
+ a = np.timedelta64(2, 'h')
247
+ b = np.array(2, dtype='m8[h]')
248
+
249
+ assert_equal(a.dtype, np.dtype('m8[h]'))
250
+ assert_equal(b.dtype, np.dtype('m8[h]'))
251
+
252
+ assert_equal(np.timedelta64(a), a)
253
+ assert_equal(np.timedelta64(a).dtype, np.dtype('m8[h]'))
254
+
255
+ assert_equal(np.timedelta64(b), a)
256
+ assert_equal(np.timedelta64(b).dtype, np.dtype('m8[h]'))
257
+
258
+ assert_equal(np.timedelta64(a, 's'), a)
259
+ assert_equal(np.timedelta64(a, 's').dtype, np.dtype('m8[s]'))
260
+
261
+ assert_equal(np.timedelta64(b, 's'), a)
262
+ assert_equal(np.timedelta64(b, 's').dtype, np.dtype('m8[s]'))
263
+
264
+ # Construction from datetime.timedelta
265
+ assert_equal(np.timedelta64(5, 'D'),
266
+ np.timedelta64(datetime.timedelta(days=5)))
267
+ assert_equal(np.timedelta64(102347621, 's'),
268
+ np.timedelta64(datetime.timedelta(seconds=102347621)))
269
+ assert_equal(np.timedelta64(-10234760000, 'us'),
270
+ np.timedelta64(datetime.timedelta(
271
+ microseconds=-10234760000)))
272
+ assert_equal(np.timedelta64(10234760000, 'us'),
273
+ np.timedelta64(datetime.timedelta(
274
+ microseconds=10234760000)))
275
+ assert_equal(np.timedelta64(1023476, 'ms'),
276
+ np.timedelta64(datetime.timedelta(milliseconds=1023476)))
277
+ assert_equal(np.timedelta64(10, 'm'),
278
+ np.timedelta64(datetime.timedelta(minutes=10)))
279
+ assert_equal(np.timedelta64(281, 'h'),
280
+ np.timedelta64(datetime.timedelta(hours=281)))
281
+ assert_equal(np.timedelta64(28, 'W'),
282
+ np.timedelta64(datetime.timedelta(weeks=28)))
283
+
284
+ # Cannot construct across nonlinear time unit boundaries
285
+ a = np.timedelta64(3, 's')
286
+ assert_raises(TypeError, np.timedelta64, a, 'M')
287
+ assert_raises(TypeError, np.timedelta64, a, 'Y')
288
+ a = np.timedelta64(6, 'M')
289
+ assert_raises(TypeError, np.timedelta64, a, 'D')
290
+ assert_raises(TypeError, np.timedelta64, a, 'h')
291
+ a = np.timedelta64(1, 'Y')
292
+ assert_raises(TypeError, np.timedelta64, a, 'D')
293
+ assert_raises(TypeError, np.timedelta64, a, 'm')
294
+
295
+ def test_timedelta_scalar_construction_units(self):
296
+ # String construction detecting units
297
+ assert_equal(np.datetime64('2010').dtype,
298
+ np.dtype('M8[Y]'))
299
+ assert_equal(np.datetime64('2010-03').dtype,
300
+ np.dtype('M8[M]'))
301
+ assert_equal(np.datetime64('2010-03-12').dtype,
302
+ np.dtype('M8[D]'))
303
+ assert_equal(np.datetime64('2010-03-12T17').dtype,
304
+ np.dtype('M8[h]'))
305
+ assert_equal(np.datetime64('2010-03-12T17:15Z').dtype,
306
+ np.dtype('M8[m]'))
307
+ assert_equal(np.datetime64('2010-03-12T17:15:08Z').dtype,
308
+ np.dtype('M8[s]'))
309
+
310
+ assert_equal(np.datetime64('2010-03-12T17:15:08.1Z').dtype,
311
+ np.dtype('M8[ms]'))
312
+ assert_equal(np.datetime64('2010-03-12T17:15:08.12Z').dtype,
313
+ np.dtype('M8[ms]'))
314
+ assert_equal(np.datetime64('2010-03-12T17:15:08.123Z').dtype,
315
+ np.dtype('M8[ms]'))
316
+
317
+ assert_equal(np.datetime64('2010-03-12T17:15:08.1234Z').dtype,
318
+ np.dtype('M8[us]'))
319
+ assert_equal(np.datetime64('2010-03-12T17:15:08.12345Z').dtype,
320
+ np.dtype('M8[us]'))
321
+ assert_equal(np.datetime64('2010-03-12T17:15:08.123456Z').dtype,
322
+ np.dtype('M8[us]'))
323
+
324
+ assert_equal(np.datetime64('1970-01-01T00:00:02.1234567Z').dtype,
325
+ np.dtype('M8[ns]'))
326
+ assert_equal(np.datetime64('1970-01-01T00:00:02.12345678Z').dtype,
327
+ np.dtype('M8[ns]'))
328
+ assert_equal(np.datetime64('1970-01-01T00:00:02.123456789Z').dtype,
329
+ np.dtype('M8[ns]'))
330
+
331
+ assert_equal(np.datetime64('1970-01-01T00:00:02.1234567890Z').dtype,
332
+ np.dtype('M8[ps]'))
333
+ assert_equal(np.datetime64('1970-01-01T00:00:02.12345678901Z').dtype,
334
+ np.dtype('M8[ps]'))
335
+ assert_equal(np.datetime64('1970-01-01T00:00:02.123456789012Z').dtype,
336
+ np.dtype('M8[ps]'))
337
+
338
+ assert_equal(np.datetime64(
339
+ '1970-01-01T00:00:02.1234567890123Z').dtype,
340
+ np.dtype('M8[fs]'))
341
+ assert_equal(np.datetime64(
342
+ '1970-01-01T00:00:02.12345678901234Z').dtype,
343
+ np.dtype('M8[fs]'))
344
+ assert_equal(np.datetime64(
345
+ '1970-01-01T00:00:02.123456789012345Z').dtype,
346
+ np.dtype('M8[fs]'))
347
+
348
+ assert_equal(np.datetime64(
349
+ '1970-01-01T00:00:02.1234567890123456Z').dtype,
350
+ np.dtype('M8[as]'))
351
+ assert_equal(np.datetime64(
352
+ '1970-01-01T00:00:02.12345678901234567Z').dtype,
353
+ np.dtype('M8[as]'))
354
+ assert_equal(np.datetime64(
355
+ '1970-01-01T00:00:02.123456789012345678Z').dtype,
356
+ np.dtype('M8[as]'))
357
+
358
+ # Python date object
359
+ assert_equal(np.datetime64(datetime.date(2010, 4, 16)).dtype,
360
+ np.dtype('M8[D]'))
361
+
362
+ # Python datetime object
363
+ assert_equal(np.datetime64(
364
+ datetime.datetime(2010, 4, 16, 13, 45, 18)).dtype,
365
+ np.dtype('M8[us]'))
366
+
367
+ # 'today' special value
368
+ assert_equal(np.datetime64('today').dtype,
369
+ np.dtype('M8[D]'))
370
+
371
+ assert_raises(TypeError, np.datetime64, 'today', 'h')
372
+ assert_raises(TypeError, np.datetime64, 'today', 's')
373
+ assert_raises(TypeError, np.datetime64, 'today', 'as')
374
+
375
+ # 'now' special value
376
+ assert_equal(np.datetime64('now').dtype,
377
+ np.dtype('M8[s]'))
378
+
379
+ assert_raises(TypeError, np.datetime64, 'now', 'Y')
380
+ assert_raises(TypeError, np.datetime64, 'now', 'M')
381
+ assert_raises(TypeError, np.datetime64, 'now', 'D')
382
+
383
+ def test_datetime_nat_casting(self):
384
+ a = np.array('NaT', dtype='M8[D]')
385
+ b = np.datetime64('NaT', '[D]')
386
+
387
+ # Arrays
388
+ assert_equal(a.astype('M8[s]'), np.array('NaT', dtype='M8[s]'))
389
+ assert_equal(a.astype('M8[ms]'), np.array('NaT', dtype='M8[ms]'))
390
+ assert_equal(a.astype('M8[M]'), np.array('NaT', dtype='M8[M]'))
391
+ assert_equal(a.astype('M8[Y]'), np.array('NaT', dtype='M8[Y]'))
392
+ assert_equal(a.astype('M8[W]'), np.array('NaT', dtype='M8[W]'))
393
+
394
+ # Scalars -> Scalars
395
+ assert_equal(np.datetime64(b, '[s]'), np.datetime64('NaT', '[s]'))
396
+ assert_equal(np.datetime64(b, '[ms]'), np.datetime64('NaT', '[ms]'))
397
+ assert_equal(np.datetime64(b, '[M]'), np.datetime64('NaT', '[M]'))
398
+ assert_equal(np.datetime64(b, '[Y]'), np.datetime64('NaT', '[Y]'))
399
+ assert_equal(np.datetime64(b, '[W]'), np.datetime64('NaT', '[W]'))
400
+
401
+ # Arrays -> Scalars
402
+ assert_equal(np.datetime64(a, '[s]'), np.datetime64('NaT', '[s]'))
403
+ assert_equal(np.datetime64(a, '[ms]'), np.datetime64('NaT', '[ms]'))
404
+ assert_equal(np.datetime64(a, '[M]'), np.datetime64('NaT', '[M]'))
405
+ assert_equal(np.datetime64(a, '[Y]'), np.datetime64('NaT', '[Y]'))
406
+ assert_equal(np.datetime64(a, '[W]'), np.datetime64('NaT', '[W]'))
407
+
408
+ def test_days_creation(self):
409
+ assert_equal(np.array('1599', dtype='M8[D]').astype('i8'),
410
+ (1600-1970)*365 - (1972-1600)/4 + 3 - 365)
411
+ assert_equal(np.array('1600', dtype='M8[D]').astype('i8'),
412
+ (1600-1970)*365 - (1972-1600)/4 + 3)
413
+ assert_equal(np.array('1601', dtype='M8[D]').astype('i8'),
414
+ (1600-1970)*365 - (1972-1600)/4 + 3 + 366)
415
+ assert_equal(np.array('1900', dtype='M8[D]').astype('i8'),
416
+ (1900-1970)*365 - (1970-1900)//4)
417
+ assert_equal(np.array('1901', dtype='M8[D]').astype('i8'),
418
+ (1900-1970)*365 - (1970-1900)//4 + 365)
419
+ assert_equal(np.array('1967', dtype='M8[D]').astype('i8'), -3*365 - 1)
420
+ assert_equal(np.array('1968', dtype='M8[D]').astype('i8'), -2*365 - 1)
421
+ assert_equal(np.array('1969', dtype='M8[D]').astype('i8'), -1*365)
422
+ assert_equal(np.array('1970', dtype='M8[D]').astype('i8'), 0*365)
423
+ assert_equal(np.array('1971', dtype='M8[D]').astype('i8'), 1*365)
424
+ assert_equal(np.array('1972', dtype='M8[D]').astype('i8'), 2*365)
425
+ assert_equal(np.array('1973', dtype='M8[D]').astype('i8'), 3*365 + 1)
426
+ assert_equal(np.array('1974', dtype='M8[D]').astype('i8'), 4*365 + 1)
427
+ assert_equal(np.array('2000', dtype='M8[D]').astype('i8'),
428
+ (2000 - 1970)*365 + (2000 - 1972)//4)
429
+ assert_equal(np.array('2001', dtype='M8[D]').astype('i8'),
430
+ (2000 - 1970)*365 + (2000 - 1972)//4 + 366)
431
+ assert_equal(np.array('2400', dtype='M8[D]').astype('i8'),
432
+ (2400 - 1970)*365 + (2400 - 1972)//4 - 3)
433
+ assert_equal(np.array('2401', dtype='M8[D]').astype('i8'),
434
+ (2400 - 1970)*365 + (2400 - 1972)//4 - 3 + 366)
435
+
436
+ assert_equal(np.array('1600-02-29', dtype='M8[D]').astype('i8'),
437
+ (1600-1970)*365 - (1972-1600)//4 + 3 + 31 + 28)
438
+ assert_equal(np.array('1600-03-01', dtype='M8[D]').astype('i8'),
439
+ (1600-1970)*365 - (1972-1600)//4 + 3 + 31 + 29)
440
+ assert_equal(np.array('2000-02-29', dtype='M8[D]').astype('i8'),
441
+ (2000 - 1970)*365 + (2000 - 1972)//4 + 31 + 28)
442
+ assert_equal(np.array('2000-03-01', dtype='M8[D]').astype('i8'),
443
+ (2000 - 1970)*365 + (2000 - 1972)//4 + 31 + 29)
444
+ assert_equal(np.array('2001-03-22', dtype='M8[D]').astype('i8'),
445
+ (2000 - 1970)*365 + (2000 - 1972)//4 + 366 + 31 + 28 + 21)
446
+
447
+ def test_days_to_pydate(self):
448
+ assert_equal(np.array('1599', dtype='M8[D]').astype('O'),
449
+ datetime.date(1599, 1, 1))
450
+ assert_equal(np.array('1600', dtype='M8[D]').astype('O'),
451
+ datetime.date(1600, 1, 1))
452
+ assert_equal(np.array('1601', dtype='M8[D]').astype('O'),
453
+ datetime.date(1601, 1, 1))
454
+ assert_equal(np.array('1900', dtype='M8[D]').astype('O'),
455
+ datetime.date(1900, 1, 1))
456
+ assert_equal(np.array('1901', dtype='M8[D]').astype('O'),
457
+ datetime.date(1901, 1, 1))
458
+ assert_equal(np.array('2000', dtype='M8[D]').astype('O'),
459
+ datetime.date(2000, 1, 1))
460
+ assert_equal(np.array('2001', dtype='M8[D]').astype('O'),
461
+ datetime.date(2001, 1, 1))
462
+ assert_equal(np.array('1600-02-29', dtype='M8[D]').astype('O'),
463
+ datetime.date(1600, 2, 29))
464
+ assert_equal(np.array('1600-03-01', dtype='M8[D]').astype('O'),
465
+ datetime.date(1600, 3, 1))
466
+ assert_equal(np.array('2001-03-22', dtype='M8[D]').astype('O'),
467
+ datetime.date(2001, 3, 22))
468
+
469
+ def test_dtype_comparison(self):
470
+ assert_(not (np.dtype('M8[us]') == np.dtype('M8[ms]')))
471
+ assert_(np.dtype('M8[us]') != np.dtype('M8[ms]'))
472
+ assert_(np.dtype('M8[2D]') != np.dtype('M8[D]'))
473
+ assert_(np.dtype('M8[D]') != np.dtype('M8[2D]'))
474
+
475
+ def test_pydatetime_creation(self):
476
+ a = np.array(['1960-03-12', datetime.date(1960, 3, 12)], dtype='M8[D]')
477
+ assert_equal(a[0], a[1])
478
+ a = np.array(['1999-12-31', datetime.date(1999, 12, 31)], dtype='M8[D]')
479
+ assert_equal(a[0], a[1])
480
+ a = np.array(['2000-01-01', datetime.date(2000, 1, 1)], dtype='M8[D]')
481
+ assert_equal(a[0], a[1])
482
+ # Will fail if the date changes during the exact right moment
483
+ a = np.array(['today', datetime.date.today()], dtype='M8[D]')
484
+ assert_equal(a[0], a[1])
485
+ # datetime.datetime.now() returns local time, not UTC
486
+ #a = np.array(['now', datetime.datetime.now()], dtype='M8[s]')
487
+ #assert_equal(a[0], a[1])
488
+
489
+ # A datetime.date will raise if you try to give it time units
490
+ assert_raises(TypeError, np.array, datetime.date(1960, 3, 12),
491
+ dtype='M8[s]')
492
+
493
+ def test_datetime_string_conversion(self):
494
+ a = ['2011-03-16', '1920-01-01', '2013-05-19']
495
+ str_a = np.array(a, dtype='S')
496
+ dt_a = np.array(a, dtype='M')
497
+ str_b = np.empty_like(str_a)
498
+ dt_b = np.empty_like(dt_a)
499
+
500
+ # String to datetime
501
+ assert_equal(dt_a, str_a.astype('M'))
502
+ assert_equal(dt_a.dtype, str_a.astype('M').dtype)
503
+ dt_b[...] = str_a
504
+ assert_equal(dt_a, dt_b)
505
+ # Datetime to string
506
+ assert_equal(str_a, dt_a.astype('S0'))
507
+ str_b[...] = dt_a
508
+ assert_equal(str_a, str_b)
509
+
510
+ # Convert the 'S' to 'U'
511
+ str_a = str_a.astype('U')
512
+ str_b = str_b.astype('U')
513
+
514
+ # Unicode to datetime
515
+ assert_equal(dt_a, str_a.astype('M'))
516
+ assert_equal(dt_a.dtype, str_a.astype('M').dtype)
517
+ dt_b[...] = str_a
518
+ assert_equal(dt_a, dt_b)
519
+ # Datetime to unicode
520
+ assert_equal(str_a, dt_a.astype('U'))
521
+ str_b[...] = dt_a
522
+ assert_equal(str_a, str_b)
523
+
524
+ def test_datetime_array_str(self):
525
+ a = np.array(['2011-03-16', '1920-01-01', '2013-05-19'], dtype='M')
526
+ assert_equal(str(a), "['2011-03-16' '1920-01-01' '2013-05-19']")
527
+
528
+ a = np.array(['2011-03-16T13:55Z', '1920-01-01T03:12Z'], dtype='M')
529
+ assert_equal(np.array2string(a, separator=', ',
530
+ formatter={'datetime': lambda x:
531
+ "'%s'" % np.datetime_as_string(x, timezone='UTC')}),
532
+ "['2011-03-16T13:55Z', '1920-01-01T03:12Z']")
533
+
534
+ # Check that one NaT doesn't corrupt subsequent entries
535
+ a = np.array(['2010', 'NaT', '2030']).astype('M')
536
+ assert_equal(str(a), "['2010' 'NaT' '2030']")
537
+
538
+ def test_timedelta_array_str(self):
539
+ a = np.array([-1, 0, 100], dtype='m')
540
+ assert_equal(str(a), "[ -1 0 100]")
541
+ a = np.array(['NaT', 'NaT'], dtype='m')
542
+ assert_equal(str(a), "['NaT' 'NaT']")
543
+ # Check right-alignment with NaTs
544
+ a = np.array([-1, 'NaT', 0], dtype='m')
545
+ assert_equal(str(a), "[ -1 'NaT' 0]")
546
+ a = np.array([-1, 'NaT', 1234567], dtype='m')
547
+ assert_equal(str(a), "[ -1 'NaT' 1234567]")
548
+
549
+ def test_pickle(self):
550
+ # Check that pickle roundtripping works
551
+ dt = np.dtype('M8[7D]')
552
+ assert_equal(pickle.loads(pickle.dumps(dt)), dt)
553
+ dt = np.dtype('M8[W]')
554
+ assert_equal(pickle.loads(pickle.dumps(dt)), dt)
555
+
556
+ # Check that loading pickles from 1.6 works
557
+ pkl = "cnumpy\ndtype\np0\n(S'M8'\np1\nI0\nI1\ntp2\nRp3\n" + \
558
+ "(I4\nS'<'\np4\nNNNI-1\nI-1\nI0\n((dp5\n(S'D'\np6\n" + \
559
+ "I7\nI1\nI1\ntp7\ntp8\ntp9\nb."
560
+ assert_equal(pickle.loads(asbytes(pkl)), np.dtype('<M8[7D]'))
561
+ pkl = "cnumpy\ndtype\np0\n(S'M8'\np1\nI0\nI1\ntp2\nRp3\n" + \
562
+ "(I4\nS'<'\np4\nNNNI-1\nI-1\nI0\n((dp5\n(S'W'\np6\n" + \
563
+ "I1\nI1\nI1\ntp7\ntp8\ntp9\nb."
564
+ assert_equal(pickle.loads(asbytes(pkl)), np.dtype('<M8[W]'))
565
+ pkl = "cnumpy\ndtype\np0\n(S'M8'\np1\nI0\nI1\ntp2\nRp3\n" + \
566
+ "(I4\nS'>'\np4\nNNNI-1\nI-1\nI0\n((dp5\n(S'us'\np6\n" + \
567
+ "I1\nI1\nI1\ntp7\ntp8\ntp9\nb."
568
+ assert_equal(pickle.loads(asbytes(pkl)), np.dtype('>M8[us]'))
569
+
570
+ def test_setstate(self):
571
+ "Verify that datetime dtype __setstate__ can handle bad arguments"
572
+ dt = np.dtype('>M8[us]')
573
+ assert_raises(ValueError, dt.__setstate__, (4, '>', None, None, None, -1, -1, 0, 1))
574
+ assert (dt.__reduce__()[2] == np.dtype('>M8[us]').__reduce__()[2])
575
+ assert_raises(TypeError, dt.__setstate__, (4, '>', None, None, None, -1, -1, 0, ({}, 'xxx')))
576
+ assert (dt.__reduce__()[2] == np.dtype('>M8[us]').__reduce__()[2])
577
+
578
+ def test_dtype_promotion(self):
579
+ # datetime <op> datetime computes the metadata gcd
580
+ # timedelta <op> timedelta computes the metadata gcd
581
+ for mM in ['m', 'M']:
582
+ assert_equal(
583
+ np.promote_types(np.dtype(mM+'8[2Y]'), np.dtype(mM+'8[2Y]')),
584
+ np.dtype(mM+'8[2Y]'))
585
+ assert_equal(
586
+ np.promote_types(np.dtype(mM+'8[12Y]'), np.dtype(mM+'8[15Y]')),
587
+ np.dtype(mM+'8[3Y]'))
588
+ assert_equal(
589
+ np.promote_types(np.dtype(mM+'8[62M]'), np.dtype(mM+'8[24M]')),
590
+ np.dtype(mM+'8[2M]'))
591
+ assert_equal(
592
+ np.promote_types(np.dtype(mM+'8[1W]'), np.dtype(mM+'8[2D]')),
593
+ np.dtype(mM+'8[1D]'))
594
+ assert_equal(
595
+ np.promote_types(np.dtype(mM+'8[W]'), np.dtype(mM+'8[13s]')),
596
+ np.dtype(mM+'8[s]'))
597
+ assert_equal(
598
+ np.promote_types(np.dtype(mM+'8[13W]'), np.dtype(mM+'8[49s]')),
599
+ np.dtype(mM+'8[7s]'))
600
+ # timedelta <op> timedelta raises when there is no reasonable gcd
601
+ assert_raises(TypeError, np.promote_types,
602
+ np.dtype('m8[Y]'), np.dtype('m8[D]'))
603
+ assert_raises(TypeError, np.promote_types,
604
+ np.dtype('m8[M]'), np.dtype('m8[W]'))
605
+ # timedelta <op> timedelta may overflow with big unit ranges
606
+ assert_raises(OverflowError, np.promote_types,
607
+ np.dtype('m8[W]'), np.dtype('m8[fs]'))
608
+ assert_raises(OverflowError, np.promote_types,
609
+ np.dtype('m8[s]'), np.dtype('m8[as]'))
610
+
611
+ def test_cast_overflow(self):
612
+ # gh-4486
613
+ def cast():
614
+ numpy.datetime64("1971-01-01 00:00:00.000000000000000").astype("<M8[D]")
615
+ assert_raises(OverflowError, cast)
616
+
617
+ def cast2():
618
+ numpy.datetime64("2014").astype("<M8[fs]")
619
+ assert_raises(OverflowError, cast2)
620
+
621
+ def test_pyobject_roundtrip(self):
622
+ # All datetime types should be able to roundtrip through object
623
+ a = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0,
624
+ -1020040340, -2942398, -1, 0, 1, 234523453, 1199164176],
625
+ dtype=np.int64)
626
+ # With date units
627
+ for unit in ['M8[D]', 'M8[W]', 'M8[M]', 'M8[Y]']:
628
+ b = a.copy().view(dtype=unit)
629
+ b[0] = '-0001-01-01'
630
+ b[1] = '-0001-12-31'
631
+ b[2] = '0000-01-01'
632
+ b[3] = '0001-01-01'
633
+ b[4] = '1969-12-31'
634
+ b[5] = '1970-01-01'
635
+ b[6] = '9999-12-31'
636
+ b[7] = '10000-01-01'
637
+ b[8] = 'NaT'
638
+
639
+ assert_equal(b.astype(object).astype(unit), b,
640
+ "Error roundtripping unit %s" % unit)
641
+ # With time units
642
+ for unit in ['M8[as]', 'M8[16fs]', 'M8[ps]', 'M8[us]',
643
+ 'M8[300as]', 'M8[20us]']:
644
+ b = a.copy().view(dtype=unit)
645
+ b[0] = '-0001-01-01T00Z'
646
+ b[1] = '-0001-12-31T00Z'
647
+ b[2] = '0000-01-01T00Z'
648
+ b[3] = '0001-01-01T00Z'
649
+ b[4] = '1969-12-31T23:59:59.999999Z'
650
+ b[5] = '1970-01-01T00Z'
651
+ b[6] = '9999-12-31T23:59:59.999999Z'
652
+ b[7] = '10000-01-01T00Z'
653
+ b[8] = 'NaT'
654
+
655
+ assert_equal(b.astype(object).astype(unit), b,
656
+ "Error roundtripping unit %s" % unit)
657
+
658
+ def test_month_truncation(self):
659
+ # Make sure that months are truncating correctly
660
+ assert_equal(np.array('1945-03-01', dtype='M8[M]'),
661
+ np.array('1945-03-31', dtype='M8[M]'))
662
+ assert_equal(np.array('1969-11-01', dtype='M8[M]'),
663
+ np.array('1969-11-30T23:59:59.99999Z', dtype='M').astype('M8[M]'))
664
+ assert_equal(np.array('1969-12-01', dtype='M8[M]'),
665
+ np.array('1969-12-31T23:59:59.99999Z', dtype='M').astype('M8[M]'))
666
+ assert_equal(np.array('1970-01-01', dtype='M8[M]'),
667
+ np.array('1970-01-31T23:59:59.99999Z', dtype='M').astype('M8[M]'))
668
+ assert_equal(np.array('1980-02-01', dtype='M8[M]'),
669
+ np.array('1980-02-29T23:59:59.99999Z', dtype='M').astype('M8[M]'))
670
+
671
+ def test_different_unit_comparison(self):
672
+ # Check some years with date units
673
+ for unit1 in ['Y', 'M', 'D']:
674
+ dt1 = np.dtype('M8[%s]' % unit1)
675
+ for unit2 in ['Y', 'M', 'D']:
676
+ dt2 = np.dtype('M8[%s]' % unit2)
677
+ assert_equal(np.array('1945', dtype=dt1),
678
+ np.array('1945', dtype=dt2))
679
+ assert_equal(np.array('1970', dtype=dt1),
680
+ np.array('1970', dtype=dt2))
681
+ assert_equal(np.array('9999', dtype=dt1),
682
+ np.array('9999', dtype=dt2))
683
+ assert_equal(np.array('10000', dtype=dt1),
684
+ np.array('10000-01-01', dtype=dt2))
685
+ assert_equal(np.datetime64('1945', unit1),
686
+ np.datetime64('1945', unit2))
687
+ assert_equal(np.datetime64('1970', unit1),
688
+ np.datetime64('1970', unit2))
689
+ assert_equal(np.datetime64('9999', unit1),
690
+ np.datetime64('9999', unit2))
691
+ assert_equal(np.datetime64('10000', unit1),
692
+ np.datetime64('10000-01-01', unit2))
693
+ # Check some datetimes with time units
694
+ for unit1 in ['6h', 'h', 'm', 's', '10ms', 'ms', 'us']:
695
+ dt1 = np.dtype('M8[%s]' % unit1)
696
+ for unit2 in ['h', 'm', 's', 'ms', 'us']:
697
+ dt2 = np.dtype('M8[%s]' % unit2)
698
+ assert_equal(np.array('1945-03-12T18Z', dtype=dt1),
699
+ np.array('1945-03-12T18Z', dtype=dt2))
700
+ assert_equal(np.array('1970-03-12T18Z', dtype=dt1),
701
+ np.array('1970-03-12T18Z', dtype=dt2))
702
+ assert_equal(np.array('9999-03-12T18Z', dtype=dt1),
703
+ np.array('9999-03-12T18Z', dtype=dt2))
704
+ assert_equal(np.array('10000-01-01T00Z', dtype=dt1),
705
+ np.array('10000-01-01T00Z', dtype=dt2))
706
+ assert_equal(np.datetime64('1945-03-12T18Z', unit1),
707
+ np.datetime64('1945-03-12T18Z', unit2))
708
+ assert_equal(np.datetime64('1970-03-12T18Z', unit1),
709
+ np.datetime64('1970-03-12T18Z', unit2))
710
+ assert_equal(np.datetime64('9999-03-12T18Z', unit1),
711
+ np.datetime64('9999-03-12T18Z', unit2))
712
+ assert_equal(np.datetime64('10000-01-01T00Z', unit1),
713
+ np.datetime64('10000-01-01T00Z', unit2))
714
+ # Check some days with units that won't overflow
715
+ for unit1 in ['D', '12h', 'h', 'm', 's', '4s', 'ms', 'us']:
716
+ dt1 = np.dtype('M8[%s]' % unit1)
717
+ for unit2 in ['D', 'h', 'm', 's', 'ms', 'us']:
718
+ dt2 = np.dtype('M8[%s]' % unit2)
719
+ assert_(np.equal(np.array('1932-02-17', dtype='M').astype(dt1),
720
+ np.array('1932-02-17T00:00:00Z', dtype='M').astype(dt2),
721
+ casting='unsafe'))
722
+ assert_(np.equal(np.array('10000-04-27', dtype='M').astype(dt1),
723
+ np.array('10000-04-27T00:00:00Z', dtype='M').astype(dt2),
724
+ casting='unsafe'))
725
+
726
+ # Shouldn't be able to compare datetime and timedelta
727
+ # TODO: Changing to 'same_kind' or 'safe' casting in the ufuncs by
728
+ # default is needed to properly catch this kind of thing...
729
+ a = np.array('2012-12-21', dtype='M8[D]')
730
+ b = np.array(3, dtype='m8[D]')
731
+ #assert_raises(TypeError, np.less, a, b)
732
+ assert_raises(TypeError, np.less, a, b, casting='same_kind')
733
+
734
+ def test_datetime_like(self):
735
+ a = np.array([3], dtype='m8[4D]')
736
+ b = np.array(['2012-12-21'], dtype='M8[D]')
737
+
738
+ assert_equal(np.ones_like(a).dtype, a.dtype)
739
+ assert_equal(np.zeros_like(a).dtype, a.dtype)
740
+ assert_equal(np.empty_like(a).dtype, a.dtype)
741
+ assert_equal(np.ones_like(b).dtype, b.dtype)
742
+ assert_equal(np.zeros_like(b).dtype, b.dtype)
743
+ assert_equal(np.empty_like(b).dtype, b.dtype)
744
+
745
+ def test_datetime_unary(self):
746
+ for tda, tdb, tdzero, tdone, tdmone in \
747
+ [
748
+ # One-dimensional arrays
749
+ (np.array([3], dtype='m8[D]'),
750
+ np.array([-3], dtype='m8[D]'),
751
+ np.array([0], dtype='m8[D]'),
752
+ np.array([1], dtype='m8[D]'),
753
+ np.array([-1], dtype='m8[D]')),
754
+ # NumPy scalars
755
+ (np.timedelta64(3, '[D]'),
756
+ np.timedelta64(-3, '[D]'),
757
+ np.timedelta64(0, '[D]'),
758
+ np.timedelta64(1, '[D]'),
759
+ np.timedelta64(-1, '[D]'))]:
760
+ # negative ufunc
761
+ assert_equal(-tdb, tda)
762
+ assert_equal((-tdb).dtype, tda.dtype)
763
+ assert_equal(np.negative(tdb), tda)
764
+ assert_equal(np.negative(tdb).dtype, tda.dtype)
765
+
766
+ # absolute ufunc
767
+ assert_equal(np.absolute(tdb), tda)
768
+ assert_equal(np.absolute(tdb).dtype, tda.dtype)
769
+
770
+ # sign ufunc
771
+ assert_equal(np.sign(tda), tdone)
772
+ assert_equal(np.sign(tdb), tdmone)
773
+ assert_equal(np.sign(tdzero), tdzero)
774
+ assert_equal(np.sign(tda).dtype, tda.dtype)
775
+
776
+ # The ufuncs always produce native-endian results
777
+ assert_
778
+
779
+ def test_datetime_add(self):
780
+ for dta, dtb, dtc, dtnat, tda, tdb, tdc in \
781
+ [
782
+ # One-dimensional arrays
783
+ (np.array(['2012-12-21'], dtype='M8[D]'),
784
+ np.array(['2012-12-24'], dtype='M8[D]'),
785
+ np.array(['2012-12-21T11Z'], dtype='M8[h]'),
786
+ np.array(['NaT'], dtype='M8[D]'),
787
+ np.array([3], dtype='m8[D]'),
788
+ np.array([11], dtype='m8[h]'),
789
+ np.array([3*24 + 11], dtype='m8[h]')),
790
+ # NumPy scalars
791
+ (np.datetime64('2012-12-21', '[D]'),
792
+ np.datetime64('2012-12-24', '[D]'),
793
+ np.datetime64('2012-12-21T11Z', '[h]'),
794
+ np.datetime64('NaT', '[D]'),
795
+ np.timedelta64(3, '[D]'),
796
+ np.timedelta64(11, '[h]'),
797
+ np.timedelta64(3*24 + 11, '[h]'))]:
798
+ # m8 + m8
799
+ assert_equal(tda + tdb, tdc)
800
+ assert_equal((tda + tdb).dtype, np.dtype('m8[h]'))
801
+ # m8 + bool
802
+ assert_equal(tdb + True, tdb + 1)
803
+ assert_equal((tdb + True).dtype, np.dtype('m8[h]'))
804
+ # m8 + int
805
+ assert_equal(tdb + 3*24, tdc)
806
+ assert_equal((tdb + 3*24).dtype, np.dtype('m8[h]'))
807
+ # bool + m8
808
+ assert_equal(False + tdb, tdb)
809
+ assert_equal((False + tdb).dtype, np.dtype('m8[h]'))
810
+ # int + m8
811
+ assert_equal(3*24 + tdb, tdc)
812
+ assert_equal((3*24 + tdb).dtype, np.dtype('m8[h]'))
813
+ # M8 + bool
814
+ assert_equal(dta + True, dta + 1)
815
+ assert_equal(dtnat + True, dtnat)
816
+ assert_equal((dta + True).dtype, np.dtype('M8[D]'))
817
+ # M8 + int
818
+ assert_equal(dta + 3, dtb)
819
+ assert_equal(dtnat + 3, dtnat)
820
+ assert_equal((dta + 3).dtype, np.dtype('M8[D]'))
821
+ # bool + M8
822
+ assert_equal(False + dta, dta)
823
+ assert_equal(False + dtnat, dtnat)
824
+ assert_equal((False + dta).dtype, np.dtype('M8[D]'))
825
+ # int + M8
826
+ assert_equal(3 + dta, dtb)
827
+ assert_equal(3 + dtnat, dtnat)
828
+ assert_equal((3 + dta).dtype, np.dtype('M8[D]'))
829
+ # M8 + m8
830
+ assert_equal(dta + tda, dtb)
831
+ assert_equal(dtnat + tda, dtnat)
832
+ assert_equal((dta + tda).dtype, np.dtype('M8[D]'))
833
+ # m8 + M8
834
+ assert_equal(tda + dta, dtb)
835
+ assert_equal(tda + dtnat, dtnat)
836
+ assert_equal((tda + dta).dtype, np.dtype('M8[D]'))
837
+
838
+ # In M8 + m8, the result goes to higher precision
839
+ assert_equal(np.add(dta, tdb, casting='unsafe'), dtc)
840
+ assert_equal(np.add(dta, tdb, casting='unsafe').dtype,
841
+ np.dtype('M8[h]'))
842
+ assert_equal(np.add(tdb, dta, casting='unsafe'), dtc)
843
+ assert_equal(np.add(tdb, dta, casting='unsafe').dtype,
844
+ np.dtype('M8[h]'))
845
+
846
+ # M8 + M8
847
+ assert_raises(TypeError, np.add, dta, dtb)
848
+
849
+ def test_datetime_subtract(self):
850
+ for dta, dtb, dtc, dtd, dte, dtnat, tda, tdb, tdc in \
851
+ [
852
+ # One-dimensional arrays
853
+ (np.array(['2012-12-21'], dtype='M8[D]'),
854
+ np.array(['2012-12-24'], dtype='M8[D]'),
855
+ np.array(['1940-12-24'], dtype='M8[D]'),
856
+ np.array(['1940-12-24T00Z'], dtype='M8[h]'),
857
+ np.array(['1940-12-23T13Z'], dtype='M8[h]'),
858
+ np.array(['NaT'], dtype='M8[D]'),
859
+ np.array([3], dtype='m8[D]'),
860
+ np.array([11], dtype='m8[h]'),
861
+ np.array([3*24 - 11], dtype='m8[h]')),
862
+ # NumPy scalars
863
+ (np.datetime64('2012-12-21', '[D]'),
864
+ np.datetime64('2012-12-24', '[D]'),
865
+ np.datetime64('1940-12-24', '[D]'),
866
+ np.datetime64('1940-12-24T00Z', '[h]'),
867
+ np.datetime64('1940-12-23T13Z', '[h]'),
868
+ np.datetime64('NaT', '[D]'),
869
+ np.timedelta64(3, '[D]'),
870
+ np.timedelta64(11, '[h]'),
871
+ np.timedelta64(3*24 - 11, '[h]'))]:
872
+ # m8 - m8
873
+ assert_equal(tda - tdb, tdc)
874
+ assert_equal((tda - tdb).dtype, np.dtype('m8[h]'))
875
+ assert_equal(tdb - tda, -tdc)
876
+ assert_equal((tdb - tda).dtype, np.dtype('m8[h]'))
877
+ # m8 - bool
878
+ assert_equal(tdc - True, tdc - 1)
879
+ assert_equal((tdc - True).dtype, np.dtype('m8[h]'))
880
+ # m8 - int
881
+ assert_equal(tdc - 3*24, -tdb)
882
+ assert_equal((tdc - 3*24).dtype, np.dtype('m8[h]'))
883
+ # int - m8
884
+ assert_equal(False - tdb, -tdb)
885
+ assert_equal((False - tdb).dtype, np.dtype('m8[h]'))
886
+ # int - m8
887
+ assert_equal(3*24 - tdb, tdc)
888
+ assert_equal((3*24 - tdb).dtype, np.dtype('m8[h]'))
889
+ # M8 - bool
890
+ assert_equal(dtb - True, dtb - 1)
891
+ assert_equal(dtnat - True, dtnat)
892
+ assert_equal((dtb - True).dtype, np.dtype('M8[D]'))
893
+ # M8 - int
894
+ assert_equal(dtb - 3, dta)
895
+ assert_equal(dtnat - 3, dtnat)
896
+ assert_equal((dtb - 3).dtype, np.dtype('M8[D]'))
897
+ # M8 - m8
898
+ assert_equal(dtb - tda, dta)
899
+ assert_equal(dtnat - tda, dtnat)
900
+ assert_equal((dtb - tda).dtype, np.dtype('M8[D]'))
901
+
902
+ # In M8 - m8, the result goes to higher precision
903
+ assert_equal(np.subtract(dtc, tdb, casting='unsafe'), dte)
904
+ assert_equal(np.subtract(dtc, tdb, casting='unsafe').dtype,
905
+ np.dtype('M8[h]'))
906
+
907
+ # M8 - M8 with different goes to higher precision
908
+ assert_equal(np.subtract(dtc, dtd, casting='unsafe'),
909
+ np.timedelta64(0, 'h'))
910
+ assert_equal(np.subtract(dtc, dtd, casting='unsafe').dtype,
911
+ np.dtype('m8[h]'))
912
+ assert_equal(np.subtract(dtd, dtc, casting='unsafe'),
913
+ np.timedelta64(0, 'h'))
914
+ assert_equal(np.subtract(dtd, dtc, casting='unsafe').dtype,
915
+ np.dtype('m8[h]'))
916
+
917
+ # m8 - M8
918
+ assert_raises(TypeError, np.subtract, tda, dta)
919
+ # bool - M8
920
+ assert_raises(TypeError, np.subtract, False, dta)
921
+ # int - M8
922
+ assert_raises(TypeError, np.subtract, 3, dta)
923
+
924
+ def test_datetime_multiply(self):
925
+ for dta, tda, tdb, tdc in \
926
+ [
927
+ # One-dimensional arrays
928
+ (np.array(['2012-12-21'], dtype='M8[D]'),
929
+ np.array([6], dtype='m8[h]'),
930
+ np.array([9], dtype='m8[h]'),
931
+ np.array([12], dtype='m8[h]')),
932
+ # NumPy scalars
933
+ (np.datetime64('2012-12-21', '[D]'),
934
+ np.timedelta64(6, '[h]'),
935
+ np.timedelta64(9, '[h]'),
936
+ np.timedelta64(12, '[h]'))]:
937
+ # m8 * int
938
+ assert_equal(tda * 2, tdc)
939
+ assert_equal((tda * 2).dtype, np.dtype('m8[h]'))
940
+ # int * m8
941
+ assert_equal(2 * tda, tdc)
942
+ assert_equal((2 * tda).dtype, np.dtype('m8[h]'))
943
+ # m8 * float
944
+ assert_equal(tda * 1.5, tdb)
945
+ assert_equal((tda * 1.5).dtype, np.dtype('m8[h]'))
946
+ # float * m8
947
+ assert_equal(1.5 * tda, tdb)
948
+ assert_equal((1.5 * tda).dtype, np.dtype('m8[h]'))
949
+
950
+ # m8 * m8
951
+ assert_raises(TypeError, np.multiply, tda, tdb)
952
+ # m8 * M8
953
+ assert_raises(TypeError, np.multiply, dta, tda)
954
+ # M8 * m8
955
+ assert_raises(TypeError, np.multiply, tda, dta)
956
+ # M8 * int
957
+ assert_raises(TypeError, np.multiply, dta, 2)
958
+ # int * M8
959
+ assert_raises(TypeError, np.multiply, 2, dta)
960
+ # M8 * float
961
+ assert_raises(TypeError, np.multiply, dta, 1.5)
962
+ # float * M8
963
+ assert_raises(TypeError, np.multiply, 1.5, dta)
964
+
965
+ # NaTs
966
+ with warnings.catch_warnings():
967
+ warnings.filterwarnings('ignore', category=RuntimeWarning)
968
+ nat = np.timedelta64('NaT')
969
+ def check(a, b, res):
970
+ assert_equal(a * b, res)
971
+ assert_equal(b * a, res)
972
+ for tp in (int, float):
973
+ check(nat, tp(2), nat)
974
+ check(nat, tp(0), nat)
975
+ for f in (float('inf'), float('nan')):
976
+ check(np.timedelta64(1), f, nat)
977
+ check(np.timedelta64(0), f, nat)
978
+ check(nat, f, nat)
979
+
980
+ def test_datetime_divide(self):
981
+ for dta, tda, tdb, tdc, tdd in \
982
+ [
983
+ # One-dimensional arrays
984
+ (np.array(['2012-12-21'], dtype='M8[D]'),
985
+ np.array([6], dtype='m8[h]'),
986
+ np.array([9], dtype='m8[h]'),
987
+ np.array([12], dtype='m8[h]'),
988
+ np.array([6], dtype='m8[m]')),
989
+ # NumPy scalars
990
+ (np.datetime64('2012-12-21', '[D]'),
991
+ np.timedelta64(6, '[h]'),
992
+ np.timedelta64(9, '[h]'),
993
+ np.timedelta64(12, '[h]'),
994
+ np.timedelta64(6, '[m]'))]:
995
+ # m8 / int
996
+ assert_equal(tdc / 2, tda)
997
+ assert_equal((tdc / 2).dtype, np.dtype('m8[h]'))
998
+ # m8 / float
999
+ assert_equal(tda / 0.5, tdc)
1000
+ assert_equal((tda / 0.5).dtype, np.dtype('m8[h]'))
1001
+ # m8 / m8
1002
+ assert_equal(tda / tdb, 6.0 / 9.0)
1003
+ assert_equal(np.divide(tda, tdb), 6.0 / 9.0)
1004
+ assert_equal(np.true_divide(tda, tdb), 6.0 / 9.0)
1005
+ assert_equal(tdb / tda, 9.0 / 6.0)
1006
+ assert_equal((tda / tdb).dtype, np.dtype('f8'))
1007
+ assert_equal(tda / tdd, 60.0)
1008
+ assert_equal(tdd / tda, 1.0 / 60.0)
1009
+
1010
+ # m8 // m8
1011
+ assert_raises(TypeError, np.floor_divide, tda, tdb)
1012
+ # int / m8
1013
+ assert_raises(TypeError, np.divide, 2, tdb)
1014
+ # float / m8
1015
+ assert_raises(TypeError, np.divide, 0.5, tdb)
1016
+ # m8 / M8
1017
+ assert_raises(TypeError, np.divide, dta, tda)
1018
+ # M8 / m8
1019
+ assert_raises(TypeError, np.divide, tda, dta)
1020
+ # M8 / int
1021
+ assert_raises(TypeError, np.divide, dta, 2)
1022
+ # int / M8
1023
+ assert_raises(TypeError, np.divide, 2, dta)
1024
+ # M8 / float
1025
+ assert_raises(TypeError, np.divide, dta, 1.5)
1026
+ # float / M8
1027
+ assert_raises(TypeError, np.divide, 1.5, dta)
1028
+
1029
+ # NaTs
1030
+ with warnings.catch_warnings():
1031
+ warnings.filterwarnings('ignore', category=RuntimeWarning)
1032
+ nat = np.timedelta64('NaT')
1033
+ for tp in (int, float):
1034
+ assert_equal(np.timedelta64(1) / tp(0), nat)
1035
+ assert_equal(np.timedelta64(0) / tp(0), nat)
1036
+ assert_equal(nat / tp(0), nat)
1037
+ assert_equal(nat / tp(2), nat)
1038
+ # Division by inf
1039
+ assert_equal(np.timedelta64(1) / float('inf'), np.timedelta64(0))
1040
+ assert_equal(np.timedelta64(0) / float('inf'), np.timedelta64(0))
1041
+ assert_equal(nat / float('inf'), nat)
1042
+ # Division by nan
1043
+ assert_equal(np.timedelta64(1) / float('nan'), nat)
1044
+ assert_equal(np.timedelta64(0) / float('nan'), nat)
1045
+ assert_equal(nat / float('nan'), nat)
1046
+
1047
+ def test_datetime_compare(self):
1048
+ # Test all the comparison operators
1049
+ a = np.datetime64('2000-03-12T18:00:00.000000-0600')
1050
+ b = np.array(['2000-03-12T18:00:00.000000-0600',
1051
+ '2000-03-12T17:59:59.999999-0600',
1052
+ '2000-03-12T18:00:00.000001-0600',
1053
+ '1970-01-11T12:00:00.909090-0600',
1054
+ '2016-01-11T12:00:00.909090-0600'],
1055
+ dtype='datetime64[us]')
1056
+ assert_equal(np.equal(a, b), [1, 0, 0, 0, 0])
1057
+ assert_equal(np.not_equal(a, b), [0, 1, 1, 1, 1])
1058
+ assert_equal(np.less(a, b), [0, 0, 1, 0, 1])
1059
+ assert_equal(np.less_equal(a, b), [1, 0, 1, 0, 1])
1060
+ assert_equal(np.greater(a, b), [0, 1, 0, 1, 0])
1061
+ assert_equal(np.greater_equal(a, b), [1, 1, 0, 1, 0])
1062
+
1063
+ def test_datetime_minmax(self):
1064
+ # The metadata of the result should become the GCD
1065
+ # of the operand metadata
1066
+ a = np.array('1999-03-12T13Z', dtype='M8[2m]')
1067
+ b = np.array('1999-03-12T12Z', dtype='M8[s]')
1068
+ assert_equal(np.minimum(a, b), b)
1069
+ assert_equal(np.minimum(a, b).dtype, np.dtype('M8[s]'))
1070
+ assert_equal(np.fmin(a, b), b)
1071
+ assert_equal(np.fmin(a, b).dtype, np.dtype('M8[s]'))
1072
+ assert_equal(np.maximum(a, b), a)
1073
+ assert_equal(np.maximum(a, b).dtype, np.dtype('M8[s]'))
1074
+ assert_equal(np.fmax(a, b), a)
1075
+ assert_equal(np.fmax(a, b).dtype, np.dtype('M8[s]'))
1076
+ # Viewed as integers, the comparison is opposite because
1077
+ # of the units chosen
1078
+ assert_equal(np.minimum(a.view('i8'), b.view('i8')), a.view('i8'))
1079
+
1080
+ # Interaction with NaT
1081
+ a = np.array('1999-03-12T13Z', dtype='M8[2m]')
1082
+ dtnat = np.array('NaT', dtype='M8[h]')
1083
+ assert_equal(np.minimum(a, dtnat), a)
1084
+ assert_equal(np.minimum(dtnat, a), a)
1085
+ assert_equal(np.maximum(a, dtnat), a)
1086
+ assert_equal(np.maximum(dtnat, a), a)
1087
+
1088
+ # Also do timedelta
1089
+ a = np.array(3, dtype='m8[h]')
1090
+ b = np.array(3*3600 - 3, dtype='m8[s]')
1091
+ assert_equal(np.minimum(a, b), b)
1092
+ assert_equal(np.minimum(a, b).dtype, np.dtype('m8[s]'))
1093
+ assert_equal(np.fmin(a, b), b)
1094
+ assert_equal(np.fmin(a, b).dtype, np.dtype('m8[s]'))
1095
+ assert_equal(np.maximum(a, b), a)
1096
+ assert_equal(np.maximum(a, b).dtype, np.dtype('m8[s]'))
1097
+ assert_equal(np.fmax(a, b), a)
1098
+ assert_equal(np.fmax(a, b).dtype, np.dtype('m8[s]'))
1099
+ # Viewed as integers, the comparison is opposite because
1100
+ # of the units chosen
1101
+ assert_equal(np.minimum(a.view('i8'), b.view('i8')), a.view('i8'))
1102
+
1103
+ # should raise between datetime and timedelta
1104
+ #
1105
+ # TODO: Allowing unsafe casting by
1106
+ # default in ufuncs strikes again... :(
1107
+ a = np.array(3, dtype='m8[h]')
1108
+ b = np.array('1999-03-12T12Z', dtype='M8[s]')
1109
+ #assert_raises(TypeError, np.minimum, a, b)
1110
+ #assert_raises(TypeError, np.maximum, a, b)
1111
+ #assert_raises(TypeError, np.fmin, a, b)
1112
+ #assert_raises(TypeError, np.fmax, a, b)
1113
+ assert_raises(TypeError, np.minimum, a, b, casting='same_kind')
1114
+ assert_raises(TypeError, np.maximum, a, b, casting='same_kind')
1115
+ assert_raises(TypeError, np.fmin, a, b, casting='same_kind')
1116
+ assert_raises(TypeError, np.fmax, a, b, casting='same_kind')
1117
+
1118
+ def test_hours(self):
1119
+ t = np.ones(3, dtype='M8[s]')
1120
+ t[0] = 60*60*24 + 60*60*10
1121
+ assert_(t[0].item().hour == 10)
1122
+
1123
+ def test_divisor_conversion_year(self):
1124
+ assert_(np.dtype('M8[Y/4]') == np.dtype('M8[3M]'))
1125
+ assert_(np.dtype('M8[Y/13]') == np.dtype('M8[4W]'))
1126
+ assert_(np.dtype('M8[3Y/73]') == np.dtype('M8[15D]'))
1127
+
1128
+ def test_divisor_conversion_month(self):
1129
+ assert_(np.dtype('M8[M/2]') == np.dtype('M8[2W]'))
1130
+ assert_(np.dtype('M8[M/15]') == np.dtype('M8[2D]'))
1131
+ assert_(np.dtype('M8[3M/40]') == np.dtype('M8[54h]'))
1132
+
1133
+ def test_divisor_conversion_week(self):
1134
+ assert_(np.dtype('m8[W/7]') == np.dtype('m8[D]'))
1135
+ assert_(np.dtype('m8[3W/14]') == np.dtype('m8[36h]'))
1136
+ assert_(np.dtype('m8[5W/140]') == np.dtype('m8[360m]'))
1137
+
1138
+ def test_divisor_conversion_day(self):
1139
+ assert_(np.dtype('M8[D/12]') == np.dtype('M8[2h]'))
1140
+ assert_(np.dtype('M8[D/120]') == np.dtype('M8[12m]'))
1141
+ assert_(np.dtype('M8[3D/960]') == np.dtype('M8[270s]'))
1142
+
1143
+ def test_divisor_conversion_hour(self):
1144
+ assert_(np.dtype('m8[h/30]') == np.dtype('m8[2m]'))
1145
+ assert_(np.dtype('m8[3h/300]') == np.dtype('m8[36s]'))
1146
+
1147
+ def test_divisor_conversion_minute(self):
1148
+ assert_(np.dtype('m8[m/30]') == np.dtype('m8[2s]'))
1149
+ assert_(np.dtype('m8[3m/300]') == np.dtype('m8[600ms]'))
1150
+
1151
+ def test_divisor_conversion_second(self):
1152
+ assert_(np.dtype('m8[s/100]') == np.dtype('m8[10ms]'))
1153
+ assert_(np.dtype('m8[3s/10000]') == np.dtype('m8[300us]'))
1154
+
1155
+ def test_divisor_conversion_fs(self):
1156
+ assert_(np.dtype('M8[fs/100]') == np.dtype('M8[10as]'))
1157
+ self.assertRaises(ValueError, lambda: np.dtype('M8[3fs/10000]'))
1158
+
1159
+ def test_divisor_conversion_as(self):
1160
+ self.assertRaises(ValueError, lambda: np.dtype('M8[as/10]'))
1161
+
1162
+ def test_string_parser_variants(self):
1163
+ # Allow space instead of 'T' between date and time
1164
+ assert_equal(np.array(['1980-02-29T01:02:03'], np.dtype('M8[s]')),
1165
+ np.array(['1980-02-29 01:02:03'], np.dtype('M8[s]')))
1166
+ # Allow negative years
1167
+ assert_equal(np.array(['-1980-02-29T01:02:03'], np.dtype('M8[s]')),
1168
+ np.array(['-1980-02-29 01:02:03'], np.dtype('M8[s]')))
1169
+ # UTC specifier
1170
+ assert_equal(np.array(['-1980-02-29T01:02:03Z'], np.dtype('M8[s]')),
1171
+ np.array(['-1980-02-29 01:02:03Z'], np.dtype('M8[s]')))
1172
+ # Time zone offset
1173
+ assert_equal(np.array(['1980-02-29T02:02:03Z'], np.dtype('M8[s]')),
1174
+ np.array(['1980-02-29 00:32:03-0130'], np.dtype('M8[s]')))
1175
+ assert_equal(np.array(['1980-02-28T22:32:03Z'], np.dtype('M8[s]')),
1176
+ np.array(['1980-02-29 00:02:03+01:30'], np.dtype('M8[s]')))
1177
+ assert_equal(np.array(['1980-02-29T02:32:03.506Z'], np.dtype('M8[s]')),
1178
+ np.array(['1980-02-29 00:32:03.506-02'], np.dtype('M8[s]')))
1179
+ assert_equal(np.datetime64('1977-03-02T12:30-0230'),
1180
+ np.datetime64('1977-03-02T15:00Z'))
1181
+
1182
+ def test_string_parser_error_check(self):
1183
+ # Arbitrary bad string
1184
+ assert_raises(ValueError, np.array, ['badvalue'], np.dtype('M8[us]'))
1185
+ # Character after year must be '-'
1186
+ assert_raises(ValueError, np.array, ['1980X'], np.dtype('M8[us]'))
1187
+ # Cannot have trailing '-'
1188
+ assert_raises(ValueError, np.array, ['1980-'], np.dtype('M8[us]'))
1189
+ # Month must be in range [1,12]
1190
+ assert_raises(ValueError, np.array, ['1980-00'], np.dtype('M8[us]'))
1191
+ assert_raises(ValueError, np.array, ['1980-13'], np.dtype('M8[us]'))
1192
+ # Month must have two digits
1193
+ assert_raises(ValueError, np.array, ['1980-1'], np.dtype('M8[us]'))
1194
+ assert_raises(ValueError, np.array, ['1980-1-02'], np.dtype('M8[us]'))
1195
+ # 'Mor' is not a valid month
1196
+ assert_raises(ValueError, np.array, ['1980-Mor'], np.dtype('M8[us]'))
1197
+ # Cannot have trailing '-'
1198
+ assert_raises(ValueError, np.array, ['1980-01-'], np.dtype('M8[us]'))
1199
+ # Day must be in range [1,len(month)]
1200
+ assert_raises(ValueError, np.array, ['1980-01-0'], np.dtype('M8[us]'))
1201
+ assert_raises(ValueError, np.array, ['1980-01-00'], np.dtype('M8[us]'))
1202
+ assert_raises(ValueError, np.array, ['1980-01-32'], np.dtype('M8[us]'))
1203
+ assert_raises(ValueError, np.array, ['1979-02-29'], np.dtype('M8[us]'))
1204
+ assert_raises(ValueError, np.array, ['1980-02-30'], np.dtype('M8[us]'))
1205
+ assert_raises(ValueError, np.array, ['1980-03-32'], np.dtype('M8[us]'))
1206
+ assert_raises(ValueError, np.array, ['1980-04-31'], np.dtype('M8[us]'))
1207
+ assert_raises(ValueError, np.array, ['1980-05-32'], np.dtype('M8[us]'))
1208
+ assert_raises(ValueError, np.array, ['1980-06-31'], np.dtype('M8[us]'))
1209
+ assert_raises(ValueError, np.array, ['1980-07-32'], np.dtype('M8[us]'))
1210
+ assert_raises(ValueError, np.array, ['1980-08-32'], np.dtype('M8[us]'))
1211
+ assert_raises(ValueError, np.array, ['1980-09-31'], np.dtype('M8[us]'))
1212
+ assert_raises(ValueError, np.array, ['1980-10-32'], np.dtype('M8[us]'))
1213
+ assert_raises(ValueError, np.array, ['1980-11-31'], np.dtype('M8[us]'))
1214
+ assert_raises(ValueError, np.array, ['1980-12-32'], np.dtype('M8[us]'))
1215
+ # Cannot have trailing characters
1216
+ assert_raises(ValueError, np.array, ['1980-02-03%'],
1217
+ np.dtype('M8[us]'))
1218
+ assert_raises(ValueError, np.array, ['1980-02-03 q'],
1219
+ np.dtype('M8[us]'))
1220
+
1221
+ # Hours must be in range [0, 23]
1222
+ assert_raises(ValueError, np.array, ['1980-02-03 25'],
1223
+ np.dtype('M8[us]'))
1224
+ assert_raises(ValueError, np.array, ['1980-02-03T25'],
1225
+ np.dtype('M8[us]'))
1226
+ assert_raises(ValueError, np.array, ['1980-02-03 24:01'],
1227
+ np.dtype('M8[us]'))
1228
+ assert_raises(ValueError, np.array, ['1980-02-03T24:01'],
1229
+ np.dtype('M8[us]'))
1230
+ assert_raises(ValueError, np.array, ['1980-02-03 -1'],
1231
+ np.dtype('M8[us]'))
1232
+ # No trailing ':'
1233
+ assert_raises(ValueError, np.array, ['1980-02-03 01:'],
1234
+ np.dtype('M8[us]'))
1235
+ # Minutes must be in range [0, 59]
1236
+ assert_raises(ValueError, np.array, ['1980-02-03 01:-1'],
1237
+ np.dtype('M8[us]'))
1238
+ assert_raises(ValueError, np.array, ['1980-02-03 01:60'],
1239
+ np.dtype('M8[us]'))
1240
+ # No trailing ':'
1241
+ assert_raises(ValueError, np.array, ['1980-02-03 01:60:'],
1242
+ np.dtype('M8[us]'))
1243
+ # Seconds must be in range [0, 59]
1244
+ assert_raises(ValueError, np.array, ['1980-02-03 01:10:-1'],
1245
+ np.dtype('M8[us]'))
1246
+ assert_raises(ValueError, np.array, ['1980-02-03 01:01:60'],
1247
+ np.dtype('M8[us]'))
1248
+ # Timezone offset must within a reasonable range
1249
+ assert_raises(ValueError, np.array, ['1980-02-03 01:01:00+0661'],
1250
+ np.dtype('M8[us]'))
1251
+ assert_raises(ValueError, np.array, ['1980-02-03 01:01:00+2500'],
1252
+ np.dtype('M8[us]'))
1253
+ assert_raises(ValueError, np.array, ['1980-02-03 01:01:00-0070'],
1254
+ np.dtype('M8[us]'))
1255
+ assert_raises(ValueError, np.array, ['1980-02-03 01:01:00-3000'],
1256
+ np.dtype('M8[us]'))
1257
+ assert_raises(ValueError, np.array, ['1980-02-03 01:01:00-25:00'],
1258
+ np.dtype('M8[us]'))
1259
+
1260
+ def test_creation_overflow(self):
1261
+ date = '1980-03-23 20:00:00Z'
1262
+ timesteps = np.array([date], dtype='datetime64[s]')[0].astype(np.int64)
1263
+ for unit in ['ms', 'us', 'ns']:
1264
+ timesteps *= 1000
1265
+ x = np.array([date], dtype='datetime64[%s]' % unit)
1266
+
1267
+ assert_equal(timesteps, x[0].astype(np.int64),
1268
+ err_msg='Datetime conversion error for unit %s' % unit)
1269
+
1270
+ assert_equal(x[0].astype(np.int64), 322689600000000000)
1271
+
1272
+ def test_datetime_as_string(self):
1273
+ # Check all the units with default string conversion
1274
+ date = '1959-10-13'
1275
+ datetime = '1959-10-13T12:34:56.789012345678901234Z'
1276
+
1277
+ assert_equal(np.datetime_as_string(np.datetime64(date, 'Y')),
1278
+ '1959')
1279
+ assert_equal(np.datetime_as_string(np.datetime64(date, 'M')),
1280
+ '1959-10')
1281
+ assert_equal(np.datetime_as_string(np.datetime64(date, 'D')),
1282
+ '1959-10-13')
1283
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'h')),
1284
+ '1959-10-13T12Z')
1285
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'm')),
1286
+ '1959-10-13T12:34Z')
1287
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 's')),
1288
+ '1959-10-13T12:34:56Z')
1289
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'ms')),
1290
+ '1959-10-13T12:34:56.789Z')
1291
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'us')),
1292
+ '1959-10-13T12:34:56.789012Z')
1293
+
1294
+ datetime = '1969-12-31T23:34:56.789012345678901234Z'
1295
+
1296
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'ns')),
1297
+ '1969-12-31T23:34:56.789012345Z')
1298
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'ps')),
1299
+ '1969-12-31T23:34:56.789012345678Z')
1300
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'fs')),
1301
+ '1969-12-31T23:34:56.789012345678901Z')
1302
+
1303
+ datetime = '1969-12-31T23:59:57.789012345678901234Z'
1304
+
1305
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'as')),
1306
+ datetime)
1307
+ datetime = '1970-01-01T00:34:56.789012345678901234Z'
1308
+
1309
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'ns')),
1310
+ '1970-01-01T00:34:56.789012345Z')
1311
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'ps')),
1312
+ '1970-01-01T00:34:56.789012345678Z')
1313
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'fs')),
1314
+ '1970-01-01T00:34:56.789012345678901Z')
1315
+
1316
+ datetime = '1970-01-01T00:00:05.789012345678901234Z'
1317
+
1318
+ assert_equal(np.datetime_as_string(np.datetime64(datetime, 'as')),
1319
+ datetime)
1320
+
1321
+ # String conversion with the unit= parameter
1322
+ a = np.datetime64('2032-07-18T12:23:34.123456Z', 'us')
1323
+ assert_equal(np.datetime_as_string(a, unit='Y', casting='unsafe'),
1324
+ '2032')
1325
+ assert_equal(np.datetime_as_string(a, unit='M', casting='unsafe'),
1326
+ '2032-07')
1327
+ assert_equal(np.datetime_as_string(a, unit='W', casting='unsafe'),
1328
+ '2032-07-18')
1329
+ assert_equal(np.datetime_as_string(a, unit='D', casting='unsafe'),
1330
+ '2032-07-18')
1331
+ assert_equal(np.datetime_as_string(a, unit='h'), '2032-07-18T12Z')
1332
+ assert_equal(np.datetime_as_string(a, unit='m'),
1333
+ '2032-07-18T12:23Z')
1334
+ assert_equal(np.datetime_as_string(a, unit='s'),
1335
+ '2032-07-18T12:23:34Z')
1336
+ assert_equal(np.datetime_as_string(a, unit='ms'),
1337
+ '2032-07-18T12:23:34.123Z')
1338
+ assert_equal(np.datetime_as_string(a, unit='us'),
1339
+ '2032-07-18T12:23:34.123456Z')
1340
+ assert_equal(np.datetime_as_string(a, unit='ns'),
1341
+ '2032-07-18T12:23:34.123456000Z')
1342
+ assert_equal(np.datetime_as_string(a, unit='ps'),
1343
+ '2032-07-18T12:23:34.123456000000Z')
1344
+ assert_equal(np.datetime_as_string(a, unit='fs'),
1345
+ '2032-07-18T12:23:34.123456000000000Z')
1346
+ assert_equal(np.datetime_as_string(a, unit='as'),
1347
+ '2032-07-18T12:23:34.123456000000000000Z')
1348
+
1349
+ # unit='auto' parameter
1350
+ assert_equal(np.datetime_as_string(
1351
+ np.datetime64('2032-07-18T12:23:34.123456Z', 'us'), unit='auto'),
1352
+ '2032-07-18T12:23:34.123456Z')
1353
+ assert_equal(np.datetime_as_string(
1354
+ np.datetime64('2032-07-18T12:23:34.12Z', 'us'), unit='auto'),
1355
+ '2032-07-18T12:23:34.120Z')
1356
+ assert_equal(np.datetime_as_string(
1357
+ np.datetime64('2032-07-18T12:23:34Z', 'us'), unit='auto'),
1358
+ '2032-07-18T12:23:34Z')
1359
+ assert_equal(np.datetime_as_string(
1360
+ np.datetime64('2032-07-18T12:23:00Z', 'us'), unit='auto'),
1361
+ '2032-07-18T12:23Z')
1362
+ # 'auto' doesn't split up hour and minute
1363
+ assert_equal(np.datetime_as_string(
1364
+ np.datetime64('2032-07-18T12:00:00Z', 'us'), unit='auto'),
1365
+ '2032-07-18T12:00Z')
1366
+ assert_equal(np.datetime_as_string(
1367
+ np.datetime64('2032-07-18T00:00:00Z', 'us'), unit='auto'),
1368
+ '2032-07-18')
1369
+ # 'auto' doesn't split up the date
1370
+ assert_equal(np.datetime_as_string(
1371
+ np.datetime64('2032-07-01T00:00:00Z', 'us'), unit='auto'),
1372
+ '2032-07-01')
1373
+ assert_equal(np.datetime_as_string(
1374
+ np.datetime64('2032-01-01T00:00:00Z', 'us'), unit='auto'),
1375
+ '2032-01-01')
1376
+
1377
+ @dec.skipif(not _has_pytz, "The pytz module is not available.")
1378
+ def test_datetime_as_string_timezone(self):
1379
+ # timezone='local' vs 'UTC'
1380
+ a = np.datetime64('2010-03-15T06:30Z', 'm')
1381
+ assert_equal(np.datetime_as_string(a, timezone='UTC'),
1382
+ '2010-03-15T06:30Z')
1383
+ assert_(np.datetime_as_string(a, timezone='local') !=
1384
+ '2010-03-15T06:30Z')
1385
+
1386
+ b = np.datetime64('2010-02-15T06:30Z', 'm')
1387
+
1388
+ assert_equal(np.datetime_as_string(a, timezone=tz('US/Central')),
1389
+ '2010-03-15T01:30-0500')
1390
+ assert_equal(np.datetime_as_string(a, timezone=tz('US/Eastern')),
1391
+ '2010-03-15T02:30-0400')
1392
+ assert_equal(np.datetime_as_string(a, timezone=tz('US/Pacific')),
1393
+ '2010-03-14T23:30-0700')
1394
+
1395
+ assert_equal(np.datetime_as_string(b, timezone=tz('US/Central')),
1396
+ '2010-02-15T00:30-0600')
1397
+ assert_equal(np.datetime_as_string(b, timezone=tz('US/Eastern')),
1398
+ '2010-02-15T01:30-0500')
1399
+ assert_equal(np.datetime_as_string(b, timezone=tz('US/Pacific')),
1400
+ '2010-02-14T22:30-0800')
1401
+
1402
+ # Dates to strings with a timezone attached is disabled by default
1403
+ assert_raises(TypeError, np.datetime_as_string, a, unit='D',
1404
+ timezone=tz('US/Pacific'))
1405
+ # Check that we can print out the date in the specified time zone
1406
+ assert_equal(np.datetime_as_string(a, unit='D',
1407
+ timezone=tz('US/Pacific'), casting='unsafe'),
1408
+ '2010-03-14')
1409
+ assert_equal(np.datetime_as_string(b, unit='D',
1410
+ timezone=tz('US/Central'), casting='unsafe'),
1411
+ '2010-02-15')
1412
+
1413
+ def test_datetime_arange(self):
1414
+ # With two datetimes provided as strings
1415
+ a = np.arange('2010-01-05', '2010-01-10', dtype='M8[D]')
1416
+ assert_equal(a.dtype, np.dtype('M8[D]'))
1417
+ assert_equal(a,
1418
+ np.array(['2010-01-05', '2010-01-06', '2010-01-07',
1419
+ '2010-01-08', '2010-01-09'], dtype='M8[D]'))
1420
+
1421
+ a = np.arange('1950-02-10', '1950-02-06', -1, dtype='M8[D]')
1422
+ assert_equal(a.dtype, np.dtype('M8[D]'))
1423
+ assert_equal(a,
1424
+ np.array(['1950-02-10', '1950-02-09', '1950-02-08',
1425
+ '1950-02-07'], dtype='M8[D]'))
1426
+
1427
+ # Unit should be detected as months here
1428
+ a = np.arange('1969-05', '1970-05', 2, dtype='M8')
1429
+ assert_equal(a.dtype, np.dtype('M8[M]'))
1430
+ assert_equal(a,
1431
+ np.datetime64('1969-05') + np.arange(12, step=2))
1432
+
1433
+ # datetime, integer|timedelta works as well
1434
+ # produces arange (start, start + stop) in this case
1435
+ a = np.arange('1969', 18, 3, dtype='M8')
1436
+ assert_equal(a.dtype, np.dtype('M8[Y]'))
1437
+ assert_equal(a,
1438
+ np.datetime64('1969') + np.arange(18, step=3))
1439
+ a = np.arange('1969-12-19', 22, np.timedelta64(2), dtype='M8')
1440
+ assert_equal(a.dtype, np.dtype('M8[D]'))
1441
+ assert_equal(a,
1442
+ np.datetime64('1969-12-19') + np.arange(22, step=2))
1443
+
1444
+ # Step of 0 is disallowed
1445
+ assert_raises(ValueError, np.arange, np.datetime64('today'),
1446
+ np.datetime64('today') + 3, 0)
1447
+ # Promotion across nonlinear unit boundaries is disallowed
1448
+ assert_raises(TypeError, np.arange, np.datetime64('2011-03-01', 'D'),
1449
+ np.timedelta64(5, 'M'))
1450
+ assert_raises(TypeError, np.arange,
1451
+ np.datetime64('2012-02-03T14Z', 's'),
1452
+ np.timedelta64(5, 'Y'))
1453
+
1454
+ def test_datetime_arange_no_dtype(self):
1455
+ d = np.array('2010-01-04', dtype="M8[D]")
1456
+ assert_equal(np.arange(d, d + 1), d)
1457
+ assert_raises(ValueError, np.arange, d)
1458
+
1459
+ def test_timedelta_arange(self):
1460
+ a = np.arange(3, 10, dtype='m8')
1461
+ assert_equal(a.dtype, np.dtype('m8'))
1462
+ assert_equal(a, np.timedelta64(0) + np.arange(3, 10))
1463
+
1464
+ a = np.arange(np.timedelta64(3, 's'), 10, 2, dtype='m8')
1465
+ assert_equal(a.dtype, np.dtype('m8[s]'))
1466
+ assert_equal(a, np.timedelta64(0, 's') + np.arange(3, 10, 2))
1467
+
1468
+ # Step of 0 is disallowed
1469
+ assert_raises(ValueError, np.arange, np.timedelta64(0),
1470
+ np.timedelta64(5), 0)
1471
+ # Promotion across nonlinear unit boundaries is disallowed
1472
+ assert_raises(TypeError, np.arange, np.timedelta64(0, 'D'),
1473
+ np.timedelta64(5, 'M'))
1474
+ assert_raises(TypeError, np.arange, np.timedelta64(0, 'Y'),
1475
+ np.timedelta64(5, 'D'))
1476
+
1477
+ def test_timedelta_arange_no_dtype(self):
1478
+ d = np.array(5, dtype="m8[D]")
1479
+ assert_equal(np.arange(d, d + 1), d)
1480
+ assert_raises(ValueError, np.arange, d)
1481
+
1482
+ def test_datetime_maximum_reduce(self):
1483
+ a = np.array(['2010-01-02', '1999-03-14', '1833-03'], dtype='M8[D]')
1484
+ assert_equal(np.maximum.reduce(a).dtype, np.dtype('M8[D]'))
1485
+ assert_equal(np.maximum.reduce(a),
1486
+ np.datetime64('2010-01-02'))
1487
+
1488
+ a = np.array([1, 4, 0, 7, 2], dtype='m8[s]')
1489
+ assert_equal(np.maximum.reduce(a).dtype, np.dtype('m8[s]'))
1490
+ assert_equal(np.maximum.reduce(a),
1491
+ np.timedelta64(7, 's'))
1492
+
1493
+ def test_datetime_busday_offset(self):
1494
+ # First Monday in June
1495
+ assert_equal(
1496
+ np.busday_offset('2011-06', 0, roll='forward', weekmask='Mon'),
1497
+ np.datetime64('2011-06-06'))
1498
+ # Last Monday in June
1499
+ assert_equal(
1500
+ np.busday_offset('2011-07', -1, roll='forward', weekmask='Mon'),
1501
+ np.datetime64('2011-06-27'))
1502
+ assert_equal(
1503
+ np.busday_offset('2011-07', -1, roll='forward', weekmask='Mon'),
1504
+ np.datetime64('2011-06-27'))
1505
+
1506
+ # Default M-F business days, different roll modes
1507
+ assert_equal(np.busday_offset('2010-08', 0, roll='backward'),
1508
+ np.datetime64('2010-07-30'))
1509
+ assert_equal(np.busday_offset('2010-08', 0, roll='preceding'),
1510
+ np.datetime64('2010-07-30'))
1511
+ assert_equal(np.busday_offset('2010-08', 0, roll='modifiedpreceding'),
1512
+ np.datetime64('2010-08-02'))
1513
+ assert_equal(np.busday_offset('2010-08', 0, roll='modifiedfollowing'),
1514
+ np.datetime64('2010-08-02'))
1515
+ assert_equal(np.busday_offset('2010-08', 0, roll='forward'),
1516
+ np.datetime64('2010-08-02'))
1517
+ assert_equal(np.busday_offset('2010-08', 0, roll='following'),
1518
+ np.datetime64('2010-08-02'))
1519
+ assert_equal(np.busday_offset('2010-10-30', 0, roll='following'),
1520
+ np.datetime64('2010-11-01'))
1521
+ assert_equal(
1522
+ np.busday_offset('2010-10-30', 0, roll='modifiedfollowing'),
1523
+ np.datetime64('2010-10-29'))
1524
+ assert_equal(
1525
+ np.busday_offset('2010-10-30', 0, roll='modifiedpreceding'),
1526
+ np.datetime64('2010-10-29'))
1527
+ # roll='raise' by default
1528
+ assert_raises(ValueError, np.busday_offset, '2011-06-04', 0)
1529
+
1530
+ # Bigger offset values
1531
+ assert_equal(np.busday_offset('2006-02-01', 25),
1532
+ np.datetime64('2006-03-08'))
1533
+ assert_equal(np.busday_offset('2006-03-08', -25),
1534
+ np.datetime64('2006-02-01'))
1535
+ assert_equal(np.busday_offset('2007-02-25', 11, weekmask='SatSun'),
1536
+ np.datetime64('2007-04-07'))
1537
+ assert_equal(np.busday_offset('2007-04-07', -11, weekmask='SatSun'),
1538
+ np.datetime64('2007-02-25'))
1539
+
1540
+ def test_datetime_busdaycalendar(self):
1541
+ # Check that it removes NaT, duplicates, and weekends
1542
+ # and sorts the result.
1543
+ bdd = np.busdaycalendar(
1544
+ holidays=['NaT', '2011-01-17', '2011-03-06', 'NaT',
1545
+ '2011-12-26', '2011-05-30', '2011-01-17'])
1546
+ assert_equal(bdd.holidays,
1547
+ np.array(['2011-01-17', '2011-05-30', '2011-12-26'], dtype='M8'))
1548
+ # Default M-F weekmask
1549
+ assert_equal(bdd.weekmask, np.array([1, 1, 1, 1, 1, 0, 0], dtype='?'))
1550
+
1551
+ # Check string weekmask with varying whitespace.
1552
+ bdd = np.busdaycalendar(weekmask="Sun TueWed Thu\tFri")
1553
+ assert_equal(bdd.weekmask, np.array([0, 1, 1, 1, 1, 0, 1], dtype='?'))
1554
+
1555
+ # Check length 7 0/1 string
1556
+ bdd = np.busdaycalendar(weekmask="0011001")
1557
+ assert_equal(bdd.weekmask, np.array([0, 0, 1, 1, 0, 0, 1], dtype='?'))
1558
+
1559
+ # Check length 7 string weekmask.
1560
+ bdd = np.busdaycalendar(weekmask="Mon Tue")
1561
+ assert_equal(bdd.weekmask, np.array([1, 1, 0, 0, 0, 0, 0], dtype='?'))
1562
+
1563
+ # All-zeros weekmask should raise
1564
+ assert_raises(ValueError, np.busdaycalendar, weekmask=[0, 0, 0, 0, 0, 0, 0])
1565
+ # weekday names must be correct case
1566
+ assert_raises(ValueError, np.busdaycalendar, weekmask="satsun")
1567
+ # All-zeros weekmask should raise
1568
+ assert_raises(ValueError, np.busdaycalendar, weekmask="")
1569
+ # Invalid weekday name codes should raise
1570
+ assert_raises(ValueError, np.busdaycalendar, weekmask="Mon Tue We")
1571
+ assert_raises(ValueError, np.busdaycalendar, weekmask="Max")
1572
+ assert_raises(ValueError, np.busdaycalendar, weekmask="Monday Tue")
1573
+
1574
+ def test_datetime_busday_holidays_offset(self):
1575
+ # With exactly one holiday
1576
+ assert_equal(
1577
+ np.busday_offset('2011-11-10', 1, holidays=['2011-11-11']),
1578
+ np.datetime64('2011-11-14'))
1579
+ assert_equal(
1580
+ np.busday_offset('2011-11-04', 5, holidays=['2011-11-11']),
1581
+ np.datetime64('2011-11-14'))
1582
+ assert_equal(
1583
+ np.busday_offset('2011-11-10', 5, holidays=['2011-11-11']),
1584
+ np.datetime64('2011-11-18'))
1585
+ assert_equal(
1586
+ np.busday_offset('2011-11-14', -1, holidays=['2011-11-11']),
1587
+ np.datetime64('2011-11-10'))
1588
+ assert_equal(
1589
+ np.busday_offset('2011-11-18', -5, holidays=['2011-11-11']),
1590
+ np.datetime64('2011-11-10'))
1591
+ assert_equal(
1592
+ np.busday_offset('2011-11-14', -5, holidays=['2011-11-11']),
1593
+ np.datetime64('2011-11-04'))
1594
+ # With the holiday appearing twice
1595
+ assert_equal(
1596
+ np.busday_offset('2011-11-10', 1,
1597
+ holidays=['2011-11-11', '2011-11-11']),
1598
+ np.datetime64('2011-11-14'))
1599
+ assert_equal(
1600
+ np.busday_offset('2011-11-14', -1,
1601
+ holidays=['2011-11-11', '2011-11-11']),
1602
+ np.datetime64('2011-11-10'))
1603
+ # With a NaT holiday
1604
+ assert_equal(
1605
+ np.busday_offset('2011-11-10', 1,
1606
+ holidays=['2011-11-11', 'NaT']),
1607
+ np.datetime64('2011-11-14'))
1608
+ assert_equal(
1609
+ np.busday_offset('2011-11-14', -1,
1610
+ holidays=['NaT', '2011-11-11']),
1611
+ np.datetime64('2011-11-10'))
1612
+ # With another holiday after
1613
+ assert_equal(
1614
+ np.busday_offset('2011-11-10', 1,
1615
+ holidays=['2011-11-11', '2011-11-24']),
1616
+ np.datetime64('2011-11-14'))
1617
+ assert_equal(
1618
+ np.busday_offset('2011-11-14', -1,
1619
+ holidays=['2011-11-11', '2011-11-24']),
1620
+ np.datetime64('2011-11-10'))
1621
+ # With another holiday before
1622
+ assert_equal(
1623
+ np.busday_offset('2011-11-10', 1,
1624
+ holidays=['2011-10-10', '2011-11-11']),
1625
+ np.datetime64('2011-11-14'))
1626
+ assert_equal(
1627
+ np.busday_offset('2011-11-14', -1,
1628
+ holidays=['2011-10-10', '2011-11-11']),
1629
+ np.datetime64('2011-11-10'))
1630
+ # With another holiday before and after
1631
+ assert_equal(
1632
+ np.busday_offset('2011-11-10', 1,
1633
+ holidays=['2011-10-10', '2011-11-11', '2011-11-24']),
1634
+ np.datetime64('2011-11-14'))
1635
+ assert_equal(
1636
+ np.busday_offset('2011-11-14', -1,
1637
+ holidays=['2011-10-10', '2011-11-11', '2011-11-24']),
1638
+ np.datetime64('2011-11-10'))
1639
+
1640
+ # A bigger forward jump across more than one week/holiday
1641
+ holidays = ['2011-10-10', '2011-11-11', '2011-11-24',
1642
+ '2011-12-25', '2011-05-30', '2011-02-21',
1643
+ '2011-12-26', '2012-01-02']
1644
+ bdd = np.busdaycalendar(weekmask='1111100', holidays=holidays)
1645
+ assert_equal(
1646
+ np.busday_offset('2011-10-03', 4, holidays=holidays),
1647
+ np.busday_offset('2011-10-03', 4))
1648
+ assert_equal(
1649
+ np.busday_offset('2011-10-03', 5, holidays=holidays),
1650
+ np.busday_offset('2011-10-03', 5 + 1))
1651
+ assert_equal(
1652
+ np.busday_offset('2011-10-03', 27, holidays=holidays),
1653
+ np.busday_offset('2011-10-03', 27 + 1))
1654
+ assert_equal(
1655
+ np.busday_offset('2011-10-03', 28, holidays=holidays),
1656
+ np.busday_offset('2011-10-03', 28 + 2))
1657
+ assert_equal(
1658
+ np.busday_offset('2011-10-03', 35, holidays=holidays),
1659
+ np.busday_offset('2011-10-03', 35 + 2))
1660
+ assert_equal(
1661
+ np.busday_offset('2011-10-03', 36, holidays=holidays),
1662
+ np.busday_offset('2011-10-03', 36 + 3))
1663
+ assert_equal(
1664
+ np.busday_offset('2011-10-03', 56, holidays=holidays),
1665
+ np.busday_offset('2011-10-03', 56 + 3))
1666
+ assert_equal(
1667
+ np.busday_offset('2011-10-03', 57, holidays=holidays),
1668
+ np.busday_offset('2011-10-03', 57 + 4))
1669
+ assert_equal(
1670
+ np.busday_offset('2011-10-03', 60, holidays=holidays),
1671
+ np.busday_offset('2011-10-03', 60 + 4))
1672
+ assert_equal(
1673
+ np.busday_offset('2011-10-03', 61, holidays=holidays),
1674
+ np.busday_offset('2011-10-03', 61 + 5))
1675
+ assert_equal(
1676
+ np.busday_offset('2011-10-03', 61, busdaycal=bdd),
1677
+ np.busday_offset('2011-10-03', 61 + 5))
1678
+ # A bigger backward jump across more than one week/holiday
1679
+ assert_equal(
1680
+ np.busday_offset('2012-01-03', -1, holidays=holidays),
1681
+ np.busday_offset('2012-01-03', -1 - 1))
1682
+ assert_equal(
1683
+ np.busday_offset('2012-01-03', -4, holidays=holidays),
1684
+ np.busday_offset('2012-01-03', -4 - 1))
1685
+ assert_equal(
1686
+ np.busday_offset('2012-01-03', -5, holidays=holidays),
1687
+ np.busday_offset('2012-01-03', -5 - 2))
1688
+ assert_equal(
1689
+ np.busday_offset('2012-01-03', -25, holidays=holidays),
1690
+ np.busday_offset('2012-01-03', -25 - 2))
1691
+ assert_equal(
1692
+ np.busday_offset('2012-01-03', -26, holidays=holidays),
1693
+ np.busday_offset('2012-01-03', -26 - 3))
1694
+ assert_equal(
1695
+ np.busday_offset('2012-01-03', -33, holidays=holidays),
1696
+ np.busday_offset('2012-01-03', -33 - 3))
1697
+ assert_equal(
1698
+ np.busday_offset('2012-01-03', -34, holidays=holidays),
1699
+ np.busday_offset('2012-01-03', -34 - 4))
1700
+ assert_equal(
1701
+ np.busday_offset('2012-01-03', -56, holidays=holidays),
1702
+ np.busday_offset('2012-01-03', -56 - 4))
1703
+ assert_equal(
1704
+ np.busday_offset('2012-01-03', -57, holidays=holidays),
1705
+ np.busday_offset('2012-01-03', -57 - 5))
1706
+ assert_equal(
1707
+ np.busday_offset('2012-01-03', -57, busdaycal=bdd),
1708
+ np.busday_offset('2012-01-03', -57 - 5))
1709
+
1710
+ # Can't supply both a weekmask/holidays and busdaycal
1711
+ assert_raises(ValueError, np.busday_offset, '2012-01-03', -15,
1712
+ weekmask='1111100', busdaycal=bdd)
1713
+ assert_raises(ValueError, np.busday_offset, '2012-01-03', -15,
1714
+ holidays=holidays, busdaycal=bdd)
1715
+
1716
+ # Roll with the holidays
1717
+ assert_equal(
1718
+ np.busday_offset('2011-12-25', 0,
1719
+ roll='forward', holidays=holidays),
1720
+ np.datetime64('2011-12-27'))
1721
+ assert_equal(
1722
+ np.busday_offset('2011-12-26', 0,
1723
+ roll='forward', holidays=holidays),
1724
+ np.datetime64('2011-12-27'))
1725
+ assert_equal(
1726
+ np.busday_offset('2011-12-26', 0,
1727
+ roll='backward', holidays=holidays),
1728
+ np.datetime64('2011-12-23'))
1729
+ assert_equal(
1730
+ np.busday_offset('2012-02-27', 0,
1731
+ roll='modifiedfollowing',
1732
+ holidays=['2012-02-27', '2012-02-26', '2012-02-28',
1733
+ '2012-03-01', '2012-02-29']),
1734
+ np.datetime64('2012-02-24'))
1735
+ assert_equal(
1736
+ np.busday_offset('2012-03-06', 0,
1737
+ roll='modifiedpreceding',
1738
+ holidays=['2012-03-02', '2012-03-03', '2012-03-01',
1739
+ '2012-03-05', '2012-03-07', '2012-03-06']),
1740
+ np.datetime64('2012-03-08'))
1741
+
1742
+ def test_datetime_busday_holidays_count(self):
1743
+ holidays = ['2011-01-01', '2011-10-10', '2011-11-11', '2011-11-24',
1744
+ '2011-12-25', '2011-05-30', '2011-02-21', '2011-01-17',
1745
+ '2011-12-26', '2012-01-02', '2011-02-21', '2011-05-30',
1746
+ '2011-07-01', '2011-07-04', '2011-09-05', '2011-10-10']
1747
+ bdd = np.busdaycalendar(weekmask='1111100', holidays=holidays)
1748
+
1749
+ # Validate against busday_offset broadcast against
1750
+ # a range of offsets
1751
+ dates = np.busday_offset('2011-01-01', np.arange(366),
1752
+ roll='forward', busdaycal=bdd)
1753
+ assert_equal(np.busday_count('2011-01-01', dates, busdaycal=bdd),
1754
+ np.arange(366))
1755
+ # Returns negative value when reversed
1756
+ assert_equal(np.busday_count(dates, '2011-01-01', busdaycal=bdd),
1757
+ -np.arange(366))
1758
+
1759
+ dates = np.busday_offset('2011-12-31', -np.arange(366),
1760
+ roll='forward', busdaycal=bdd)
1761
+ assert_equal(np.busday_count(dates, '2011-12-31', busdaycal=bdd),
1762
+ np.arange(366))
1763
+ # Returns negative value when reversed
1764
+ assert_equal(np.busday_count('2011-12-31', dates, busdaycal=bdd),
1765
+ -np.arange(366))
1766
+
1767
+ # Can't supply both a weekmask/holidays and busdaycal
1768
+ assert_raises(ValueError, np.busday_offset, '2012-01-03', '2012-02-03',
1769
+ weekmask='1111100', busdaycal=bdd)
1770
+ assert_raises(ValueError, np.busday_offset, '2012-01-03', '2012-02-03',
1771
+ holidays=holidays, busdaycal=bdd)
1772
+
1773
+ # Number of Mondays in March 2011
1774
+ assert_equal(np.busday_count('2011-03', '2011-04', weekmask='Mon'), 4)
1775
+ # Returns negative value when reversed
1776
+ assert_equal(np.busday_count('2011-04', '2011-03', weekmask='Mon'), -4)
1777
+
1778
+ def test_datetime_is_busday(self):
1779
+ holidays = ['2011-01-01', '2011-10-10', '2011-11-11', '2011-11-24',
1780
+ '2011-12-25', '2011-05-30', '2011-02-21', '2011-01-17',
1781
+ '2011-12-26', '2012-01-02', '2011-02-21', '2011-05-30',
1782
+ '2011-07-01', '2011-07-04', '2011-09-05', '2011-10-10',
1783
+ 'NaT']
1784
+ bdd = np.busdaycalendar(weekmask='1111100', holidays=holidays)
1785
+
1786
+ # Weekend/weekday tests
1787
+ assert_equal(np.is_busday('2011-01-01'), False)
1788
+ assert_equal(np.is_busday('2011-01-02'), False)
1789
+ assert_equal(np.is_busday('2011-01-03'), True)
1790
+
1791
+ # All the holidays are not business days
1792
+ assert_equal(np.is_busday(holidays, busdaycal=bdd),
1793
+ np.zeros(len(holidays), dtype='?'))
1794
+
1795
+ def test_datetime_y2038(self):
1796
+ # Test parsing on either side of the Y2038 boundary
1797
+ a = np.datetime64('2038-01-19T03:14:07Z')
1798
+ assert_equal(a.view(np.int64), 2**31 - 1)
1799
+ a = np.datetime64('2038-01-19T03:14:08Z')
1800
+ assert_equal(a.view(np.int64), 2**31)
1801
+
1802
+ # Test parsing on either side of the Y2038 boundary with
1803
+ # a manually specified timezone offset
1804
+ a = np.datetime64('2038-01-19T04:14:07+0100')
1805
+ assert_equal(a.view(np.int64), 2**31 - 1)
1806
+ a = np.datetime64('2038-01-19T04:14:08+0100')
1807
+ assert_equal(a.view(np.int64), 2**31)
1808
+
1809
+ # Test parsing a date after Y2038 in the local timezone
1810
+ a = np.datetime64('2038-01-20T13:21:14')
1811
+ assert_equal(str(a)[:-5], '2038-01-20T13:21:14')
1812
+
1813
+ class TestDateTimeData(TestCase):
1814
+
1815
+ def test_basic(self):
1816
+ a = np.array(['1980-03-23'], dtype=np.datetime64)
1817
+ assert_equal(np.datetime_data(a.dtype), ('D', 1))
1818
+
1819
+ if __name__ == "__main__":
1820
+ run_module_suite()