def condSample(query, evidence): res = Dist(Pr(query, evidence, rejectionN(1)))() while type(res) == Empty: res = Dist(Pr(query, evidence, rejectionN(1)))() return res
def Pr(query, evidence={}, impl=rejectionN(1000)): eval_evidence = dict(map(lambda (k, v): (evalDExpr(k), v), evidence.items())) return impl(evalDExpr(query), eval_evidence)
def Pr(query, evidence={}, impl=rejectionN(1000)): eval_evidence = dict( map(lambda (k, v): (evalDExpr(k), v), evidence.items())) return impl(evalDExpr(query), eval_evidence)