def test_zipped(): pmf = [0.125, 0.125, 0.125, 0.125, 0.25, 0, 0.25] outcomes = ['000', '011', '101', '110', '222', '321', '333'] d = Distribution(outcomes, pmf) outcomes_, pmf_ = list(zip(*d.zipped())) d2 = Distribution(outcomes_, pmf_) assert d.is_approx_equal(d2) outcomes_, pmf_ = list(zip(*d.zipped(mode='atoms'))) d3 = Distribution(outcomes_, pmf_) assert d.is_approx_equal(d3) outcomes_, pmf_ = list(zip(*d.zipped(mode='patoms'))) d4 = Distribution(outcomes_, pmf_) d.make_sparse() assert np.allclose(d.pmf, d4.pmf)
def test_zipped(): pmf = [.125, .125, .125, .125, .25, 0, .25] outcomes = ['000', '011', '101', '110', '222', '321', '333'] d = Distribution(outcomes, pmf) outcomes_, pmf_ = list(zip(*d.zipped())) d2 = Distribution(outcomes_, pmf_) assert_true(d.is_approx_equal(d2)) outcomes_, pmf_ = list(zip(*d.zipped(mode='atoms'))) d3 = Distribution(outcomes_, pmf_) assert_true(d.is_approx_equal(d3)) outcomes_, pmf_ = list(zip(*d.zipped(mode='patoms'))) d4 = Distribution(outcomes_, pmf_) d.make_sparse() np.testing.assert_allclose(d.pmf, d4.pmf)
def test_init10(): d1 = Distribution([(0, 0), (0, 1), (1, 0)], [0.5, 0.25, 0.25]) pmf = [[0.5, 0.25], [0.25, 0]] d2 = Distribution.from_ndarray(pmf) assert d1.is_approx_equal(d2)
def test_init7(): outcomes = ['0', '1'] pmf = [1 / 2] * 2 d1 = Distribution(outcomes, pmf) d2 = Distribution.from_distribution(d1) assert d1.is_approx_equal(d2)
def test_init7(): outcomes = ['0', '1'] pmf = [1/2, 1/2] d1 = Distribution(outcomes, pmf) d2 = Distribution.from_distribution(d1) assert_true(d1.is_approx_equal(d2))
def test_init10(): d1 = Distribution([(0, 0), (0, 1), (1, 0)], [0.5, 0.25, 0.25]) pmf = [[0.5, 0.25], [0.25, 0]] d2 = Distribution.from_ndarray(pmf) assert d1.is_approx_equal(d2)