示例#1
0
    def test_user_pdf(self):
        pdf = UserPDF()
        bounds = PDF(pdf)

        assert_equal(bounds.valid(1.), 1)
        bounds.rvs(1)
        assert_equal(bounds.lnprob(1.), 0)
示例#2
0
    def test_pdf(self):
        pdf = PDF(norm)

        # even if it's really far out it's still a valid value
        assert_equal(pdf.valid(1003), 1003)
        # logp
        assert_equal(pdf.lnprob(0), norm.logpdf(0))

        # examine dist with finite support
        pdf = PDF(truncnorm(-1, 1), seed=1)
        assert_equal(pdf.lnprob(-2), -np.inf)
        assert_equal(pdf.lnprob(-0.5), truncnorm.logpdf(-0.5, -1, 1))

        # obtain a random value of a bounds instance
        vals = pdf.rvs(size=1000)
        assert_(np.min(vals) >= -1)
        assert_(np.min(vals) <= 1)