import numpy as npclass BernoulliDistribution():
def __init__(self, seed = 0, p = 0.5):
self._rng = np.random.default_rng(seed)
self._p = p
def rvs(self, size = 1):
return self._rng.binomial(1, self._p, size = size)B1 = BernoulliDistribution()
B1.rvs(size = 10)
p = 0.25
seed = 155
B2 = BernoulliDistribution(seed = seed, p = 0.77)
B2.rvs(size = 22)array([1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0])