I thought that this conversion cannot fail. So boost::numeric_cast<double>(long)
should produce the same result as just a regular cast.
Is this correct? If so, why is the boost::numeric_cast
slower than a regular cast? Is there some sort of check it is doing?