Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

brain_numpy.py 7.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. # Copyright (c) 2015-2016 Claudiu Popa <pcmanticore@gmail.com>
  2. # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
  3. # For details: https://github.com/PyCQA/astroid/blob/master/COPYING.LESSER
  4. """Astroid hooks for numpy."""
  5. import astroid
  6. def numpy_random_mtrand_transform():
  7. return astroid.parse('''
  8. def beta(a, b, size=None): pass
  9. def binomial(n, p, size=None): pass
  10. def bytes(length): pass
  11. def chisquare(df, size=None): pass
  12. def choice(a, size=None, replace=True, p=None): pass
  13. def dirichlet(alpha, size=None): pass
  14. def exponential(scale=1.0, size=None): pass
  15. def f(dfnum, dfden, size=None): pass
  16. def gamma(shape, scale=1.0, size=None): pass
  17. def geometric(p, size=None): pass
  18. def get_state(): pass
  19. def gumbel(loc=0.0, scale=1.0, size=None): pass
  20. def hypergeometric(ngood, nbad, nsample, size=None): pass
  21. def laplace(loc=0.0, scale=1.0, size=None): pass
  22. def logistic(loc=0.0, scale=1.0, size=None): pass
  23. def lognormal(mean=0.0, sigma=1.0, size=None): pass
  24. def logseries(p, size=None): pass
  25. def multinomial(n, pvals, size=None): pass
  26. def multivariate_normal(mean, cov, size=None): pass
  27. def negative_binomial(n, p, size=None): pass
  28. def noncentral_chisquare(df, nonc, size=None): pass
  29. def noncentral_f(dfnum, dfden, nonc, size=None): pass
  30. def normal(loc=0.0, scale=1.0, size=None): pass
  31. def pareto(a, size=None): pass
  32. def permutation(x): pass
  33. def poisson(lam=1.0, size=None): pass
  34. def power(a, size=None): pass
  35. def rand(*args): pass
  36. def randint(low, high=None, size=None, dtype='l'): pass
  37. def randn(*args): pass
  38. def random_integers(low, high=None, size=None): pass
  39. def random_sample(size=None): pass
  40. def rayleigh(scale=1.0, size=None): pass
  41. def seed(seed=None): pass
  42. def set_state(state): pass
  43. def shuffle(x): pass
  44. def standard_cauchy(size=None): pass
  45. def standard_exponential(size=None): pass
  46. def standard_gamma(shape, size=None): pass
  47. def standard_normal(size=None): pass
  48. def standard_t(df, size=None): pass
  49. def triangular(left, mode, right, size=None): pass
  50. def uniform(low=0.0, high=1.0, size=None): pass
  51. def vonmises(mu, kappa, size=None): pass
  52. def wald(mean, scale, size=None): pass
  53. def weibull(a, size=None): pass
  54. def zipf(a, size=None): pass
  55. ''')
  56. def numpy_core_umath_transform():
  57. ufunc_optional_keyword_arguments = ("""out=None, where=True, casting='same_kind', order='K', """
  58. """dtype=None, subok=True""")
  59. return astroid.parse('''
  60. # Constants
  61. e = 2.718281828459045
  62. euler_gamma = 0.5772156649015329
  63. # No arg functions
  64. def geterrobj(): pass
  65. # One arg functions
  66. def seterrobj(errobj): pass
  67. # One arg functions with optional kwargs
  68. def arccos(x, {opt_args:s}): pass
  69. def arccosh(x, {opt_args:s}): pass
  70. def arcsin(x, {opt_args:s}): pass
  71. def arcsinh(x, {opt_args:s}): pass
  72. def arctan(x, {opt_args:s}): pass
  73. def arctanh(x, {opt_args:s}): pass
  74. def cbrt(x, {opt_args:s}): pass
  75. def conj(x, {opt_args:s}): pass
  76. def conjugate(x, {opt_args:s}): pass
  77. def cosh(x, {opt_args:s}): pass
  78. def deg2rad(x, {opt_args:s}): pass
  79. def degrees(x, {opt_args:s}): pass
  80. def exp2(x, {opt_args:s}): pass
  81. def expm1(x, {opt_args:s}): pass
  82. def fabs(x, {opt_args:s}): pass
  83. def frexp(x, {opt_args:s}): pass
  84. def isfinite(x, {opt_args:s}): pass
  85. def isinf(x, {opt_args:s}): pass
  86. def log(x, {opt_args:s}): pass
  87. def log1p(x, {opt_args:s}): pass
  88. def log2(x, {opt_args:s}): pass
  89. def logical_not(x, {opt_args:s}): pass
  90. def modf(x, {opt_args:s}): pass
  91. def negative(x, {opt_args:s}): pass
  92. def rad2deg(x, {opt_args:s}): pass
  93. def radians(x, {opt_args:s}): pass
  94. def reciprocal(x, {opt_args:s}): pass
  95. def rint(x, {opt_args:s}): pass
  96. def sign(x, {opt_args:s}): pass
  97. def signbit(x, {opt_args:s}): pass
  98. def sinh(x, {opt_args:s}): pass
  99. def spacing(x, {opt_args:s}): pass
  100. def square(x, {opt_args:s}): pass
  101. def tan(x, {opt_args:s}): pass
  102. def tanh(x, {opt_args:s}): pass
  103. def trunc(x, {opt_args:s}): pass
  104. # Two args functions with optional kwargs
  105. def bitwise_and(x1, x2, {opt_args:s}): pass
  106. def bitwise_or(x1, x2, {opt_args:s}): pass
  107. def bitwise_xor(x1, x2, {opt_args:s}): pass
  108. def copysign(x1, x2, {opt_args:s}): pass
  109. def divide(x1, x2, {opt_args:s}): pass
  110. def equal(x1, x2, {opt_args:s}): pass
  111. def float_power(x1, x2, {opt_args:s}): pass
  112. def floor_divide(x1, x2, {opt_args:s}): pass
  113. def fmax(x1, x2, {opt_args:s}): pass
  114. def fmin(x1, x2, {opt_args:s}): pass
  115. def fmod(x1, x2, {opt_args:s}): pass
  116. def greater(x1, x2, {opt_args:s}): pass
  117. def hypot(x1, x2, {opt_args:s}): pass
  118. def ldexp(x1, x2, {opt_args:s}): pass
  119. def left_shift(x1, x2, {opt_args:s}): pass
  120. def less(x1, x2, {opt_args:s}): pass
  121. def logaddexp(x1, x2, {opt_args:s}): pass
  122. def logaddexp2(x1, x2, {opt_args:s}): pass
  123. def logical_and(x1, x2, {opt_args:s}): pass
  124. def logical_or(x1, x2, {opt_args:s}): pass
  125. def logical_xor(x1, x2, {opt_args:s}): pass
  126. def maximum(x1, x2, {opt_args:s}): pass
  127. def minimum(x1, x2, {opt_args:s}): pass
  128. def nextafter(x1, x2, {opt_args:s}): pass
  129. def not_equal(x1, x2, {opt_args:s}): pass
  130. def power(x1, x2, {opt_args:s}): pass
  131. def remainder(x1, x2, {opt_args:s}): pass
  132. def right_shift(x1, x2, {opt_args:s}): pass
  133. def subtract(x1, x2, {opt_args:s}): pass
  134. def true_divide(x1, x2, {opt_args:s}): pass
  135. '''.format(opt_args=ufunc_optional_keyword_arguments))
  136. def numpy_core_numerictypes_transform():
  137. return astroid.parse('''
  138. # different types defined in numerictypes.py
  139. uint16 = type('uint16')
  140. uint32 = type('uint32')
  141. uint64 = type('uint64')
  142. int128 = type('int128')
  143. uint128 = type('uint128')
  144. float16 = type('float16')
  145. float32 = type('float32')
  146. float64 = type('float64')
  147. float80 = type('float80')
  148. float96 = type('float96')
  149. float128 = type('float128')
  150. float256 = type('float256')
  151. complex32 = type('complex32')
  152. complex64 = type('complex64')
  153. complex128 = type('complex128')
  154. complex160 = type('complex160')
  155. complex192 = type('complex192')
  156. complex256 = type('complex256')
  157. complex512 = type('complex512')
  158. timedelta64 = type('timedelta64')
  159. datetime64 = type('datetime64')
  160. unicode_ = type('unicode_')
  161. string_ = type('string_')
  162. object_ = type('object_')
  163. ''')
  164. def numpy_funcs():
  165. return astroid.parse('''
  166. import builtins
  167. def sum(a, axis=None, dtype=None, out=None, keepdims=None):
  168. return builtins.sum(a)
  169. ''')
  170. astroid.register_module_extender(astroid.MANAGER, 'numpy.core.umath', numpy_core_umath_transform)
  171. astroid.register_module_extender(astroid.MANAGER, 'numpy.random.mtrand',
  172. numpy_random_mtrand_transform)
  173. astroid.register_module_extender(astroid.MANAGER, 'numpy.core.numerictypes',
  174. numpy_core_numerictypes_transform)
  175. astroid.register_module_extender(astroid.MANAGER, 'numpy', numpy_funcs)