Getting integer random values instead of real values using boost::random library
===

I am trying to get real random values using `boost::random` libraries. This is my code:

    #include <iostream>
    
    #include <boost/random/uniform_real_distribution.hpp>
    #include <boost/random/mersenne_twister.hpp>
    
    boost::random::mt19937 eng = boost::random::mt19937();
    boost::random::uniform_real_distribution<double> urd =
       boost::random::uniform_real_distribution<double>(0,20);
    
    for (int i = 0; i <= 100; i++)
       std::cout << urd(eng) << std::endl;

But I get integer numbers between 0 and 20.

How can I do?

I also tried another engine:

    #include <iostream>
    
    #include <boost/random/uniform_real_distribution.hpp>
    #include <boost/random/lagged_fibonacci.hpp>
    
    boost::random::lagged_fibonacci607 eng = boost::random::lagged_fibonacci607();
    boost::random::uniform_real_distribution<double> urd =
       boost::random::uniform_real_distribution<double>(0,20);
    
    for (int i = 0; i <= 100; i++)
       std::cout << urd(eng) << std::endl;

But nothing...