NRNG is the most useful RNG in Monte Carlo Simulation. Two kinds of NRNG are provided: Inverse Cumulative Distributed Function based NRNG and Box-Muller transformation based NRNG.