id summary reporter owner description type status milestone component version severity resolution keywords cc 10066 math::round broken for some integer types/values andrew.bell.ia@… John Maddock "The current code takes the input (which may be an int type) and adds/subtracts .5f, which may cause precision to be lost as the integer is converted to a float. math::round should essentially be a noop when the input type is integral. =========== {{{ #include #include #include #include int main() { long l = -1230695498; std::cerr << ""boost::math::lround(l) = "" << std::setprecision(12) << boost::math::lround(l) << ""\n""; std::cerr << ""::lround(l) = "" <