Sampling Random Numbers From Probability Distribution Functions