Adaptive Rejection Sampling