Chris@87
|
1 from __future__ import division, absolute_import, print_function
|
Chris@87
|
2
|
Chris@87
|
3 from .info import __doc__
|
Chris@87
|
4 from numpy.version import version as __version__
|
Chris@87
|
5
|
Chris@87
|
6 from . import multiarray
|
Chris@87
|
7 from . import umath
|
Chris@87
|
8 from . import _internal # for freeze programs
|
Chris@87
|
9 from . import numerictypes as nt
|
Chris@87
|
10 multiarray.set_typeDict(nt.sctypeDict)
|
Chris@87
|
11 from . import numeric
|
Chris@87
|
12 from .numeric import *
|
Chris@87
|
13 from . import fromnumeric
|
Chris@87
|
14 from .fromnumeric import *
|
Chris@87
|
15 from . import defchararray as char
|
Chris@87
|
16 from . import records as rec
|
Chris@87
|
17 from .records import *
|
Chris@87
|
18 from .memmap import *
|
Chris@87
|
19 from .defchararray import chararray
|
Chris@87
|
20 from . import scalarmath
|
Chris@87
|
21 from . import function_base
|
Chris@87
|
22 from .function_base import *
|
Chris@87
|
23 from . import machar
|
Chris@87
|
24 from .machar import *
|
Chris@87
|
25 from . import getlimits
|
Chris@87
|
26 from .getlimits import *
|
Chris@87
|
27 from . import shape_base
|
Chris@87
|
28 from .shape_base import *
|
Chris@87
|
29 del nt
|
Chris@87
|
30
|
Chris@87
|
31 from .fromnumeric import amax as max, amin as min, \
|
Chris@87
|
32 round_ as round
|
Chris@87
|
33 from .numeric import absolute as abs
|
Chris@87
|
34
|
Chris@87
|
35 __all__ = ['char', 'rec', 'memmap']
|
Chris@87
|
36 __all__ += numeric.__all__
|
Chris@87
|
37 __all__ += fromnumeric.__all__
|
Chris@87
|
38 __all__ += rec.__all__
|
Chris@87
|
39 __all__ += ['chararray']
|
Chris@87
|
40 __all__ += function_base.__all__
|
Chris@87
|
41 __all__ += machar.__all__
|
Chris@87
|
42 __all__ += getlimits.__all__
|
Chris@87
|
43 __all__ += shape_base.__all__
|
Chris@87
|
44
|
Chris@87
|
45
|
Chris@87
|
46 from numpy.testing import Tester
|
Chris@87
|
47 test = Tester().test
|
Chris@87
|
48 bench = Tester().bench
|
Chris@87
|
49
|
Chris@87
|
50 # Make it possible so that ufuncs can be pickled
|
Chris@87
|
51 # Here are the loading and unloading functions
|
Chris@87
|
52 # The name numpy.core._ufunc_reconstruct must be
|
Chris@87
|
53 # available for unpickling to work.
|
Chris@87
|
54 def _ufunc_reconstruct(module, name):
|
Chris@87
|
55 # The `fromlist` kwarg is required to ensure that `mod` points to the
|
Chris@87
|
56 # inner-most module rather than the parent package when module name is
|
Chris@87
|
57 # nested. This makes it possible to pickle non-toplevel ufuncs such as
|
Chris@87
|
58 # scipy.special.expit for instance.
|
Chris@87
|
59 mod = __import__(module, fromlist=[name])
|
Chris@87
|
60 return getattr(mod, name)
|
Chris@87
|
61
|
Chris@87
|
62 def _ufunc_reduce(func):
|
Chris@87
|
63 from pickle import whichmodule
|
Chris@87
|
64 name = func.__name__
|
Chris@87
|
65 return _ufunc_reconstruct, (whichmodule(func, name), name)
|
Chris@87
|
66
|
Chris@87
|
67
|
Chris@87
|
68 import sys
|
Chris@87
|
69 if sys.version_info[0] >= 3:
|
Chris@87
|
70 import copyreg
|
Chris@87
|
71 else:
|
Chris@87
|
72 import copy_reg as copyreg
|
Chris@87
|
73
|
Chris@87
|
74 copyreg.pickle(ufunc, _ufunc_reduce, _ufunc_reconstruct)
|
Chris@87
|
75 # Unclutter namespace (must keep _ufunc_reconstruct for unpickling)
|
Chris@87
|
76 del copyreg
|
Chris@87
|
77 del sys
|
Chris@87
|
78 del _ufunc_reduce
|