summaryrefslogtreecommitdiff
path: root/numpy/random/mtrand
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/random/mtrand')
-rw-r--r--numpy/random/mtrand/mtrand.c114
-rw-r--r--numpy/random/mtrand/mtrand.pyx20
2 files changed, 60 insertions, 74 deletions
diff --git a/numpy/random/mtrand/mtrand.c b/numpy/random/mtrand/mtrand.c
index 5726598bb..53713221c 100644
--- a/numpy/random/mtrand/mtrand.c
+++ b/numpy/random/mtrand/mtrand.c
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.15 on Thu Sep 1 13:51:31 2011 */
+/* Generated by Cython 0.15 on Fri Sep 2 12:00:06 2011 */
#define PY_SSIZE_T_CLEAN
#include "Python.h"
@@ -756,12 +756,12 @@ static char __pyx_k_197[] = "RandomState.randint (line 809)";
static char __pyx_k_198[] = "\n randint(low, high=None, size=None)\n\n Return random integers from `low` (inclusive) to `high` (exclusive).\n\n Return random integers from the \"discrete uniform\" distribution in the\n \"half-open\" interval [`low`, `high`). If `high` is None (the default),\n then results are from [0, `low`).\n\n Parameters\n ----------\n low : int\n Lowest (signed) integer to be drawn from the distribution (unless\n ``high=None``, in which case this parameter is the *highest* such\n integer).\n high : int, optional\n If provided, one above the largest (signed) integer to be drawn\n from the distribution (see above for behavior if ``high=None``).\n size : int or tuple of ints, optional\n Output shape. Default is None, in which case a single int is\n returned.\n\n Returns\n -------\n out : int or ndarray of ints\n `size`-shaped array of random integers from the appropriate\n distribution, or a single such random int if `size` not provided.\n\n See Also\n --------\n random.random_integers : similar to `randint`, only for the closed\n interval [`low`, `high`], and 1 is the lowest value if `high` is\n omitted. In particular, this other one is the one to use to generate\n uniformly distributed discrete non-integers.\n\n Examples\n --------\n >>> np.random.randint(2, size=10)\n array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])\n >>> np.random.randint(1, size=10)\n array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n\n Generate a 2 x 4 array of ints between 0 and 4, inclusive:\n\n >>> np.random.randint(5, size=(2, 4))\n array([[4, 0, 2, 1],\n [3, 2, 2, 0]])\n\n ";
static char __pyx_k_199[] = "RandomState.bytes (line 889)";
static char __pyx_k_200[] = "\n bytes(length)\n\n Return random bytes.\n\n Parameters\n ----------\n length : int\n Number of random bytes.\n\n Returns\n -------\n out : str\n String of length `length`.\n\n Examples\n --------\n >>> np.random.bytes(10)\n ' eh\\x85\\x022SZ\\xbf\\xa4' #random\n\n ";
-static char __pyx_k_201[] = "RandomState.sample (line 917)";
-static char __pyx_k_202[] = "\n sample(a, size[, replace, p])\n\n Generates a random sample from a given 1-D array\n\n Parameters\n -----------\n a : 1-D array-like or int\n If an ndarray, a random sample is generated from its elements.\n If an int, the random sample is generated as if a was np.arange(n)\n size : int\n Positive integer, the size of the sample.\n replace : boolean, optional\n Whether the sample is with or without replacement\n p : 1-D array-like, optional\n The probabilities associated with each entry in a.\n If not given the sample assumes a uniform distribtion over all\n entries in a.\n\n Returns\n --------\n samples : 1-D ndarray, shape (size,)\n The generated random samples\n\n Raises\n -------\n ValueError\n If a is an int and less than zero, if a or p are not 1-dimensional,\n if a is an array-like of size 0, if p is not a vector of\n probabilities, if a and p have different lengths, or if\n replace=False and the sample size is greater than the population\n size\n\n See Also\n ---------\n randint, shuffle, permutation\n\n Examples\n ---------\n Generate a uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.sample(5, 3)\n array([0, 3, 4])\n >>> #This is equivalent to np.random.randint(0,5,3) \n\n Generate a non-uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.sample(5, 3, p=[0.1, 0, 0.3, 0.6, 0])\n array([3, 3, 0])\n\n Generate a uniform random sample from np.arange(5) of size 3 without\n replacement:\n \n >>> np.random.sample(5, 3, replace=False)\n array([3,1,0])\n >>> #This is equivalent to np.random.shuffle(np.arange(5))[:3]\n\n Generate a non-uniform ra""ndom sample from np.arange(5) of size\n 3 without replacement:\n\n >>> np.random.sample(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])\n array([2, 3, 0])\n\n Any of the above can be repeated with an arbitrary array-like\n instead of just integers. For instance:\n\n >>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']\n >>> np.random.sample(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])\n array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], \n dtype='|S11')\n\n ";
+static char __pyx_k_201[] = "RandomState.choice (line 917)";
+static char __pyx_k_202[] = "\n choice(a, size=1, replace=True, p=None)\n\n Generates a random sample from a given 1-D array\n\n Parameters\n -----------\n a : 1-D array-like or int\n If an ndarray, a random sample is generated from its elements.\n If an int, the random sample is generated as if a was np.arange(n)\n size : int\n Positive integer, the size of the sample.\n replace : boolean, optional\n Whether the sample is with or without replacement\n p : 1-D array-like, optional\n The probabilities associated with each entry in a.\n If not given the sample assumes a uniform distribtion over all\n entries in a.\n\n Returns\n --------\n samples : 1-D ndarray, shape (size,)\n The generated random samples\n\n Raises\n -------\n ValueError\n If a is an int and less than zero, if a or p are not 1-dimensional,\n if a is an array-like of size 0, if p is not a vector of\n probabilities, if a and p have different lengths, or if\n replace=False and the sample size is greater than the population\n size\n\n See Also\n ---------\n randint, shuffle, permutation\n\n Examples\n ---------\n Generate a uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.choice(5, 3)\n array([0, 3, 4])\n >>> #This is equivalent to np.random.randint(0,5,3) \n\n Generate a non-uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])\n array([3, 3, 0])\n\n Generate a uniform random sample from np.arange(5) of size 3 without\n replacement:\n \n >>> np.random.choice(5, 3, replace=False)\n array([3,1,0])\n >>> #This is equivalent to np.random.shuffle(np.arange(5))[:3]\n\n Generate a non-""uniform random sample from np.arange(5) of size\n 3 without replacement:\n\n >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])\n array([2, 3, 0])\n\n Any of the above can be repeated with an arbitrary array-like\n instead of just integers. For instance:\n\n >>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']\n >>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])\n array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], \n dtype='|S11')\n\n ";
static char __pyx_k_203[] = "RandomState.uniform (line 1057)";
static char __pyx_k_204[] = "\n uniform(low=0.0, high=1.0, size=1)\n\n Draw samples from a uniform distribution.\n\n Samples are uniformly distributed over the half-open interval\n ``[low, high)`` (includes low, but excludes high). In other words,\n any value within the given interval is equally likely to be drawn\n by `uniform`.\n\n Parameters\n ----------\n low : float, optional\n Lower boundary of the output interval. All values generated will be\n greater than or equal to low. The default value is 0.\n high : float\n Upper boundary of the output interval. All values generated will be\n less than high. The default value is 1.0.\n size : int or tuple of ints, optional\n Shape of output. If the given size is, for example, (m,n,k),\n m*n*k samples are generated. If no shape is specified, a single sample\n is returned.\n\n Returns\n -------\n out : ndarray\n Drawn samples, with shape `size`.\n\n See Also\n --------\n randint : Discrete uniform distribution, yielding integers.\n random_integers : Discrete uniform distribution over the closed\n interval ``[low, high]``.\n random_sample : Floats uniformly distributed over ``[0, 1)``.\n random : Alias for `random_sample`.\n rand : Convenience function that accepts dimensions as input, e.g.,\n ``rand(2,2)`` would generate a 2-by-2 array of floats,\n uniformly distributed over ``[0, 1)``.\n\n Notes\n -----\n The probability density function of the uniform distribution is\n\n .. math:: p(x) = \\frac{1}{b - a}\n\n anywhere within the interval ``[a, b)``, and zero elsewhere.\n\n Examples\n --------\n Draw samples from the distribution:\n\n >>> s = np.random.uniform(-1,0,1000)\n\n All values are w""ithin the given interval:\n\n >>> np.all(s >= -1)\n True\n >>> np.all(s < 0)\n True\n\n Display the histogram of the samples, along with the\n probability density function:\n\n >>> import matplotlib.pyplot as plt\n >>> count, bins, ignored = plt.hist(s, 15, normed=True)\n >>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r')\n >>> plt.show()\n\n ";
static char __pyx_k_205[] = "RandomState.rand (line 1144)";
-static char __pyx_k_206[] = "\n rand(d0, d1, ..., dn)\n\n Random values in a given shape.\n\n Create an array of the given shape and propagate it with\n random samples from a uniform distribution\n over ``[0, 1)``.\n\n Parameters\n ----------\n d0, d1, ..., dn : int\n Shape of the output.\n\n Returns\n -------\n out : ndarray, shape ``(d0, d1, ..., dn)``\n Random values.\n\n See Also\n --------\n random\n\n Notes\n -----\n This is a convenience function. If you want an interface that\n takes a shape-tuple as the first argument, refer to\n `random`.\n\n Examples\n --------\n >>> np.random.rand(3,2)\n array([[ 0.14022471, 0.96360618], #random\n [ 0.37601032, 0.25528411], #random\n [ 0.49313049, 0.94909878]]) #random\n\n ";
+static char __pyx_k_206[] = "\n rand(d0, d1, ..., dn)\n\n Random values in a given shape.\n\n Create an array of the given shape and propagate it with\n random samples from a uniform distribution\n over ``[0, 1)``.\n\n Parameters\n ----------\n d0, d1, ..., dn : int\n Shape of the output.\n\n Returns\n -------\n out : ndarray, shape ``(d0, d1, ..., dn)``\n Random values.\n\n See Also\n --------\n random\n\n Notes\n -----\n This is a convenience function. If you want an interface that\n takes a shape-tuple as the first argument, refer to\n np.random.random_sample . \n\n Examples\n --------\n >>> np.random.rand(3,2)\n array([[ 0.14022471, 0.96360618], #random\n [ 0.37601032, 0.25528411], #random\n [ 0.49313049, 0.94909878]]) #random\n\n ";
static char __pyx_k_207[] = "RandomState.randn (line 1187)";
static char __pyx_k_208[] = "\n randn([d1, ..., dn])\n\n Return a sample (or samples) from the \"standard normal\" distribution.\n\n If positive, int_like or int-convertible arguments are provided,\n `randn` generates an array of shape ``(d1, ..., dn)``, filled\n with random floats sampled from a univariate \"normal\" (Gaussian)\n distribution of mean 0 and variance 1 (if any of the :math:`d_i` are\n floats, they are first converted to integers by truncation). A single\n float randomly sampled from the distribution is returned if no\n argument is provided.\n\n This is a convenience function. If you want an interface that takes a\n tuple as the first argument, use `numpy.random.standard_normal` instead.\n\n Parameters\n ----------\n d1, ..., dn : `n` ints, optional\n The dimensions of the returned array, should be all positive.\n\n Returns\n -------\n Z : ndarray or float\n A ``(d1, ..., dn)``-shaped array of floating-point samples from\n the standard normal distribution, or a single such float if\n no parameters were supplied.\n\n See Also\n --------\n random.standard_normal : Similar, but takes a tuple as its argument.\n\n Notes\n -----\n For random samples from :math:`N(\\mu, \\sigma^2)`, use:\n\n ``sigma * np.random.randn(...) + mu``\n\n Examples\n --------\n >>> np.random.randn()\n 2.1923875335537315 #random\n\n Two-by-four array of samples from N(3, 6.25):\n\n >>> 2.5 * np.random.randn(2, 4) + 3\n array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random\n [ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random\n\n ";
static char __pyx_k_209[] = "RandomState.random_integers (line 1243)";
@@ -889,6 +889,7 @@ static char __pyx_k__shape[] = "shape";
static char __pyx_k__sigma[] = "sigma";
static char __pyx_k__zeros[] = "zeros";
static char __pyx_k__arange[] = "arange";
+static char __pyx_k__choice[] = "choice";
static char __pyx_k__cumsum[] = "cumsum";
static char __pyx_k__gumbel[] = "gumbel";
static char __pyx_k__normal[] = "normal";
@@ -896,7 +897,6 @@ static char __pyx_k__pareto[] = "pareto";
static char __pyx_k__random[] = "random";
static char __pyx_k__reduce[] = "reduce";
static char __pyx_k__repeat[] = "repeat";
-static char __pyx_k__sample[] = "sample";
static char __pyx_k__uint32[] = "uint32";
static char __pyx_k__unique[] = "unique";
static char __pyx_k__MT19937[] = "MT19937";
@@ -1112,6 +1112,7 @@ static PyObject *__pyx_n_s__beta;
static PyObject *__pyx_n_s__binomial;
static PyObject *__pyx_n_s__bytes;
static PyObject *__pyx_n_s__chisquare;
+static PyObject *__pyx_n_s__choice;
static PyObject *__pyx_n_s__copy;
static PyObject *__pyx_n_s__cov;
static PyObject *__pyx_n_s__cumsum;
@@ -1185,7 +1186,6 @@ static PyObject *__pyx_n_s__reduce;
static PyObject *__pyx_n_s__repeat;
static PyObject *__pyx_n_s__replace;
static PyObject *__pyx_n_s__right;
-static PyObject *__pyx_n_s__sample;
static PyObject *__pyx_n_s__scale;
static PyObject *__pyx_n_s__searchsorted;
static PyObject *__pyx_n_s__seed;
@@ -6394,16 +6394,16 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_11bytes(PyObject *__pyx_v_self,
}
/* "mtrand.pyx":917
- *
*
- * def sample(self, a, size, replace=True, p=None): # <<<<<<<<<<<<<<
+ *
+ * def choice(self, a, size=1, replace=True, p=None): # <<<<<<<<<<<<<<
* """
- * sample(a, size[, replace, p])
+ * choice(a, size=1, replace=True, p=None)
*/
-static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_6mtrand_11RandomState_12sample[] = "\n sample(a, size[, replace, p])\n\n Generates a random sample from a given 1-D array\n\n Parameters\n -----------\n a : 1-D array-like or int\n If an ndarray, a random sample is generated from its elements.\n If an int, the random sample is generated as if a was np.arange(n)\n size : int\n Positive integer, the size of the sample.\n replace : boolean, optional\n Whether the sample is with or without replacement\n p : 1-D array-like, optional\n The probabilities associated with each entry in a.\n If not given the sample assumes a uniform distribtion over all\n entries in a.\n\n Returns\n --------\n samples : 1-D ndarray, shape (size,)\n The generated random samples\n\n Raises\n -------\n ValueError\n If a is an int and less than zero, if a or p are not 1-dimensional,\n if a is an array-like of size 0, if p is not a vector of\n probabilities, if a and p have different lengths, or if\n replace=False and the sample size is greater than the population\n size\n\n See Also\n ---------\n randint, shuffle, permutation\n\n Examples\n ---------\n Generate a uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.sample(5, 3)\n array([0, 3, 4])\n >>> #This is equivalent to np.random.randint(0,5,3) \n\n Generate a non-uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.sample(5, 3, p=[0.1, 0, 0.3, 0.6, 0])\n array([3, 3, 0])\n\n Generate a uniform random sample from np.arange(5) of size 3 without\n replacement:\n \n >>> np.random.sample(5, 3, replace=False)\n array([3,1,0])\n >>> #This is equivalent to np.random.shuffle(np.arange(5))[:3]\n\n Generate a non-uniform ra""ndom sample from np.arange(5) of size\n 3 without replacement:\n\n >>> np.random.sample(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])\n array([2, 3, 0])\n\n Any of the above can be repeated with an arbitrary array-like\n instead of just integers. For instance:\n\n >>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']\n >>> np.random.sample(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])\n array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], \n dtype='|S11')\n\n ";
-static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+static PyObject *__pyx_pf_6mtrand_11RandomState_12choice(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_6mtrand_11RandomState_12choice[] = "\n choice(a, size=1, replace=True, p=None)\n\n Generates a random sample from a given 1-D array\n\n Parameters\n -----------\n a : 1-D array-like or int\n If an ndarray, a random sample is generated from its elements.\n If an int, the random sample is generated as if a was np.arange(n)\n size : int\n Positive integer, the size of the sample.\n replace : boolean, optional\n Whether the sample is with or without replacement\n p : 1-D array-like, optional\n The probabilities associated with each entry in a.\n If not given the sample assumes a uniform distribtion over all\n entries in a.\n\n Returns\n --------\n samples : 1-D ndarray, shape (size,)\n The generated random samples\n\n Raises\n -------\n ValueError\n If a is an int and less than zero, if a or p are not 1-dimensional,\n if a is an array-like of size 0, if p is not a vector of\n probabilities, if a and p have different lengths, or if\n replace=False and the sample size is greater than the population\n size\n\n See Also\n ---------\n randint, shuffle, permutation\n\n Examples\n ---------\n Generate a uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.choice(5, 3)\n array([0, 3, 4])\n >>> #This is equivalent to np.random.randint(0,5,3) \n\n Generate a non-uniform random sample from np.arange(5) of size 3:\n \n >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])\n array([3, 3, 0])\n\n Generate a uniform random sample from np.arange(5) of size 3 without\n replacement:\n \n >>> np.random.choice(5, 3, replace=False)\n array([3,1,0])\n >>> #This is equivalent to np.random.shuffle(np.arange(5))[:3]\n\n Generate a non-""uniform random sample from np.arange(5) of size\n 3 without replacement:\n\n >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])\n array([2, 3, 0])\n\n Any of the above can be repeated with an arbitrary array-like\n instead of just integers. For instance:\n\n >>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']\n >>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])\n array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], \n dtype='|S11')\n\n ";
+static PyObject *__pyx_pf_6mtrand_11RandomState_12choice(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_a = 0;
PyObject *__pyx_v_size = 0;
PyObject *__pyx_v_replace = 0;
@@ -6431,10 +6431,11 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__a,&__pyx_n_s__size,&__pyx_n_s__replace,&__pyx_n_s__p,0};
- __Pyx_RefNannySetupContext("sample");
+ __Pyx_RefNannySetupContext("choice");
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
PyObject* values[4] = {0,0,0,0};
+ values[1] = ((PyObject *)__pyx_int_1);
values[2] = __pyx_k_15;
values[3] = ((PyObject *)Py_None);
switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -6451,10 +6452,9 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
if (likely(values[0])) kw_args--;
else goto __pyx_L5_argtuple_error;
case 1:
- values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
- if (likely(values[1])) kw_args--;
- else {
- __Pyx_RaiseArgtupleInvalid("sample", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (kw_args > 0) {
+ PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
+ if (value) { values[1] = value; kw_args--; }
}
case 2:
if (kw_args > 0) {
@@ -6468,32 +6468,30 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "sample") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "choice") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
__pyx_v_a = values[0];
__pyx_v_size = values[1];
__pyx_v_replace = values[2];
__pyx_v_p = values[3];
} else {
+ __pyx_v_size = ((PyObject *)__pyx_int_1);
__pyx_v_replace = __pyx_k_15;
__pyx_v_p = ((PyObject *)Py_None);
switch (PyTuple_GET_SIZE(__pyx_args)) {
- case 4:
- __pyx_v_p = PyTuple_GET_ITEM(__pyx_args, 3);
- case 3:
- __pyx_v_replace = PyTuple_GET_ITEM(__pyx_args, 2);
- case 2:
- __pyx_v_size = PyTuple_GET_ITEM(__pyx_args, 1);
- __pyx_v_a = PyTuple_GET_ITEM(__pyx_args, 0);
+ case 4: __pyx_v_p = PyTuple_GET_ITEM(__pyx_args, 3);
+ case 3: __pyx_v_replace = PyTuple_GET_ITEM(__pyx_args, 2);
+ case 2: __pyx_v_size = PyTuple_GET_ITEM(__pyx_args, 1);
+ case 1: __pyx_v_a = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("sample", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("choice", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
- __Pyx_AddTraceback("mtrand.RandomState.sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("mtrand.RandomState.choice", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
@@ -6857,7 +6855,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
* if replace:
* if None != p: # <<<<<<<<<<<<<<
* x = np.arange(pop_size)
- * number_each = np.random.multinomial(size, p)
+ * number_each = self.multinomial(size, p)
*/
__pyx_t_1 = PyObject_RichCompare(Py_None, __pyx_v_p, Py_NE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
@@ -6869,7 +6867,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
* if replace:
* if None != p:
* x = np.arange(pop_size) # <<<<<<<<<<<<<<
- * number_each = np.random.multinomial(size, p)
+ * number_each = self.multinomial(size, p)
* idx = np.repeat(x, number_each)
*/
__pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -6892,18 +6890,12 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
/* "mtrand.pyx":1020
* if None != p:
* x = np.arange(pop_size)
- * number_each = np.random.multinomial(size, p) # <<<<<<<<<<<<<<
+ * number_each = self.multinomial(size, p) # <<<<<<<<<<<<<<
* idx = np.repeat(x, number_each)
* self.shuffle(idx)
*/
- __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_3);
- __pyx_t_1 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__random); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_1);
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__multinomial); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__multinomial); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
__Pyx_INCREF(__pyx_v_size);
@@ -6921,7 +6913,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
/* "mtrand.pyx":1021
* x = np.arange(pop_size)
- * number_each = np.random.multinomial(size, p)
+ * number_each = self.multinomial(size, p)
* idx = np.repeat(x, number_each) # <<<<<<<<<<<<<<
* self.shuffle(idx)
* else:
@@ -6947,7 +6939,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
__pyx_t_3 = 0;
/* "mtrand.pyx":1022
- * number_each = np.random.multinomial(size, p)
+ * number_each = self.multinomial(size, p)
* idx = np.repeat(x, number_each)
* self.shuffle(idx) # <<<<<<<<<<<<<<
* else:
@@ -7146,7 +7138,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
* p = p.copy()
* found = np.zeros(size, dtype=np.int) # <<<<<<<<<<<<<<
* while n_uniq < size:
- * x = np.random.rand(size-n_uniq)
+ * x = self.rand(size-n_uniq)
*/
__pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
@@ -7179,7 +7171,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
* p = p.copy()
* found = np.zeros(size, dtype=np.int)
* while n_uniq < size: # <<<<<<<<<<<<<<
- * x = np.random.rand(size-n_uniq)
+ * x = self.rand(size-n_uniq)
* if n_uniq > 0:
*/
while (1) {
@@ -7192,18 +7184,12 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
/* "mtrand.pyx":1037
* found = np.zeros(size, dtype=np.int)
* while n_uniq < size:
- * x = np.random.rand(size-n_uniq) # <<<<<<<<<<<<<<
+ * x = self.rand(size-n_uniq) # <<<<<<<<<<<<<<
* if n_uniq > 0:
* p[found[0:n_uniq]] = 0
*/
- __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__rand); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_8);
- __pyx_t_4 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__random); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
- __pyx_t_8 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__rand); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_8);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Subtract(__pyx_v_size, __pyx_v_n_uniq); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -7221,7 +7207,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
/* "mtrand.pyx":1038
* while n_uniq < size:
- * x = np.random.rand(size-n_uniq)
+ * x = self.rand(size-n_uniq)
* if n_uniq > 0: # <<<<<<<<<<<<<<
* p[found[0:n_uniq]] = 0
* p = p/p.sum()
@@ -7233,7 +7219,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
if (__pyx_t_6) {
/* "mtrand.pyx":1039
- * x = np.random.rand(size-n_uniq)
+ * x = self.rand(size-n_uniq)
* if n_uniq > 0:
* p[found[0:n_uniq]] = 0 # <<<<<<<<<<<<<<
* p = p/p.sum()
@@ -7482,7 +7468,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_12sample(PyObject *__pyx_v_self,
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
- __Pyx_AddTraceback("mtrand.RandomState.sample", __pyx_clineno, __pyx_lineno, __pyx_filename);
+ __Pyx_AddTraceback("mtrand.RandomState.choice", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_pop_size);
@@ -7758,7 +7744,7 @@ static PyObject *__pyx_pf_6mtrand_11RandomState_13uniform(PyObject *__pyx_v_self
*/
static PyObject *__pyx_pf_6mtrand_11RandomState_14rand(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_6mtrand_11RandomState_14rand[] = "\n rand(d0, d1, ..., dn)\n\n Random values in a given shape.\n\n Create an array of the given shape and propagate it with\n random samples from a uniform distribution\n over ``[0, 1)``.\n\n Parameters\n ----------\n d0, d1, ..., dn : int\n Shape of the output.\n\n Returns\n -------\n out : ndarray, shape ``(d0, d1, ..., dn)``\n Random values.\n\n See Also\n --------\n random\n\n Notes\n -----\n This is a convenience function. If you want an interface that\n takes a shape-tuple as the first argument, refer to\n `random`.\n\n Examples\n --------\n >>> np.random.rand(3,2)\n array([[ 0.14022471, 0.96360618], #random\n [ 0.37601032, 0.25528411], #random\n [ 0.49313049, 0.94909878]]) #random\n\n ";
+static char __pyx_doc_6mtrand_11RandomState_14rand[] = "\n rand(d0, d1, ..., dn)\n\n Random values in a given shape.\n\n Create an array of the given shape and propagate it with\n random samples from a uniform distribution\n over ``[0, 1)``.\n\n Parameters\n ----------\n d0, d1, ..., dn : int\n Shape of the output.\n\n Returns\n -------\n out : ndarray, shape ``(d0, d1, ..., dn)``\n Random values.\n\n See Also\n --------\n random\n\n Notes\n -----\n This is a convenience function. If you want an interface that\n takes a shape-tuple as the first argument, refer to\n np.random.random_sample . \n\n Examples\n --------\n >>> np.random.rand(3,2)\n array([[ 0.14022471, 0.96360618], #random\n [ 0.37601032, 0.25528411], #random\n [ 0.49313049, 0.94909878]]) #random\n\n ";
static PyObject *__pyx_pf_6mtrand_11RandomState_14rand(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_args = 0;
PyObject *__pyx_r = NULL;
@@ -19692,7 +19678,7 @@ static PyMethodDef __pyx_methods_6mtrand_RandomState[] = {
{__Pyx_NAMESTR("tomaxint"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_9tomaxint, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_9tomaxint)},
{__Pyx_NAMESTR("randint"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_10randint, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_10randint)},
{__Pyx_NAMESTR("bytes"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_11bytes, METH_O, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_11bytes)},
- {__Pyx_NAMESTR("sample"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_12sample, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_12sample)},
+ {__Pyx_NAMESTR("choice"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_12choice, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_12choice)},
{__Pyx_NAMESTR("uniform"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_13uniform, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_13uniform)},
{__Pyx_NAMESTR("rand"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_14rand, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_14rand)},
{__Pyx_NAMESTR("randn"), (PyCFunction)__pyx_pf_6mtrand_11RandomState_15randn, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_6mtrand_11RandomState_15randn)},
@@ -20072,6 +20058,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s__binomial, __pyx_k__binomial, sizeof(__pyx_k__binomial), 0, 0, 1, 1},
{&__pyx_n_s__bytes, __pyx_k__bytes, sizeof(__pyx_k__bytes), 0, 0, 1, 1},
{&__pyx_n_s__chisquare, __pyx_k__chisquare, sizeof(__pyx_k__chisquare), 0, 0, 1, 1},
+ {&__pyx_n_s__choice, __pyx_k__choice, sizeof(__pyx_k__choice), 0, 0, 1, 1},
{&__pyx_n_s__copy, __pyx_k__copy, sizeof(__pyx_k__copy), 0, 0, 1, 1},
{&__pyx_n_s__cov, __pyx_k__cov, sizeof(__pyx_k__cov), 0, 0, 1, 1},
{&__pyx_n_s__cumsum, __pyx_k__cumsum, sizeof(__pyx_k__cumsum), 0, 0, 1, 1},
@@ -20145,7 +20132,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s__repeat, __pyx_k__repeat, sizeof(__pyx_k__repeat), 0, 0, 1, 1},
{&__pyx_n_s__replace, __pyx_k__replace, sizeof(__pyx_k__replace), 0, 0, 1, 1},
{&__pyx_n_s__right, __pyx_k__right, sizeof(__pyx_k__right), 0, 0, 1, 1},
- {&__pyx_n_s__sample, __pyx_k__sample, sizeof(__pyx_k__sample), 0, 0, 1, 1},
{&__pyx_n_s__scale, __pyx_k__scale, sizeof(__pyx_k__scale), 0, 0, 1, 1},
{&__pyx_n_s__searchsorted, __pyx_k__searchsorted, sizeof(__pyx_k__searchsorted), 0, 0, 1, 1},
{&__pyx_n_s__seed, __pyx_k__seed, sizeof(__pyx_k__seed), 0, 0, 1, 1},
@@ -22001,9 +21987,9 @@ PyMODINIT_FUNC PyInit_mtrand(void)
/* "mtrand.pyx":917
*
*
- * def sample(self, a, size, replace=True, p=None): # <<<<<<<<<<<<<<
+ * def choice(self, a, size=1, replace=True, p=None): # <<<<<<<<<<<<<<
* """
- * sample(a, size[, replace, p])
+ * choice(a, size=1, replace=True, p=None)
*/
__pyx_t_4 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
@@ -22218,7 +22204,7 @@ PyMODINIT_FUNC PyInit_mtrand(void)
* get_state = _rand.get_state
* set_state = _rand.set_state # <<<<<<<<<<<<<<
* random_sample = _rand.random_sample
- * sample = _rand.sample
+ * choice = _rand.choice
*/
__pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___rand); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
@@ -22232,7 +22218,7 @@ PyMODINIT_FUNC PyInit_mtrand(void)
* get_state = _rand.get_state
* set_state = _rand.set_state
* random_sample = _rand.random_sample # <<<<<<<<<<<<<<
- * sample = _rand.sample
+ * choice = _rand.choice
* randint = _rand.randint
*/
__pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___rand); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4474; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -22246,21 +22232,21 @@ PyMODINIT_FUNC PyInit_mtrand(void)
/* "mtrand.pyx":4475
* set_state = _rand.set_state
* random_sample = _rand.random_sample
- * sample = _rand.sample # <<<<<<<<<<<<<<
+ * choice = _rand.choice # <<<<<<<<<<<<<<
* randint = _rand.randint
* bytes = _rand.bytes
*/
__pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___rand); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__sample); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__choice); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sample, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (PyObject_SetAttr(__pyx_m, __pyx_n_s__choice, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4475; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "mtrand.pyx":4476
* random_sample = _rand.random_sample
- * sample = _rand.sample
+ * choice = _rand.choice
* randint = _rand.randint # <<<<<<<<<<<<<<
* bytes = _rand.bytes
* uniform = _rand.uniform
@@ -22274,7 +22260,7 @@ PyMODINIT_FUNC PyInit_mtrand(void)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "mtrand.pyx":4477
- * sample = _rand.sample
+ * choice = _rand.choice
* randint = _rand.randint
* bytes = _rand.bytes # <<<<<<<<<<<<<<
* uniform = _rand.uniform
diff --git a/numpy/random/mtrand/mtrand.pyx b/numpy/random/mtrand/mtrand.pyx
index 3772fa07a..3aaefe92e 100644
--- a/numpy/random/mtrand/mtrand.pyx
+++ b/numpy/random/mtrand/mtrand.pyx
@@ -914,9 +914,9 @@ cdef class RandomState:
return bytestring
- def sample(self, a, size, replace=True, p=None):
+ def choice(self, a, size=1, replace=True, p=None):
"""
- sample(a, size[, replace, p])
+ choice(a, size=1, replace=True, p=None)
Generates a random sample from a given 1-D array
@@ -956,33 +956,33 @@ cdef class RandomState:
---------
Generate a uniform random sample from np.arange(5) of size 3:
- >>> np.random.sample(5, 3)
+ >>> np.random.choice(5, 3)
array([0, 3, 4])
>>> #This is equivalent to np.random.randint(0,5,3)
Generate a non-uniform random sample from np.arange(5) of size 3:
- >>> np.random.sample(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
+ >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0])
Generate a uniform random sample from np.arange(5) of size 3 without
replacement:
- >>> np.random.sample(5, 3, replace=False)
+ >>> np.random.choice(5, 3, replace=False)
array([3,1,0])
>>> #This is equivalent to np.random.shuffle(np.arange(5))[:3]
Generate a non-uniform random sample from np.arange(5) of size
3 without replacement:
- >>> np.random.sample(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
+ >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0])
Any of the above can be repeated with an arbitrary array-like
instead of just integers. For instance:
>>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
- >>> np.random.sample(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
+ >>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'],
dtype='|S11')
@@ -1017,7 +1017,7 @@ cdef class RandomState:
if replace:
if None != p:
x = np.arange(pop_size)
- number_each = np.random.multinomial(size, p)
+ number_each = self.multinomial(size, p)
idx = np.repeat(x, number_each)
self.shuffle(idx)
else:
@@ -1034,7 +1034,7 @@ cdef class RandomState:
p = p.copy()
found = np.zeros(size, dtype=np.int)
while n_uniq < size:
- x = np.random.rand(size-n_uniq)
+ x = self.rand(size-n_uniq)
if n_uniq > 0:
p[found[0:n_uniq]] = 0
p = p/p.sum()
@@ -4472,7 +4472,7 @@ seed = _rand.seed
get_state = _rand.get_state
set_state = _rand.set_state
random_sample = _rand.random_sample
-sample = _rand.sample
+choice = _rand.choice
randint = _rand.randint
bytes = _rand.bytes
uniform = _rand.uniform