# Ticket #6517 (closed Bugs: fixed)

## boost::math::isfinite returns false for unsigned int 0

Reported by: | Bob Carpenter <carp@…> | Owned by: | johnmaddock |
---|---|---|---|

Milestone: | Boost 1.52.0 | Component: | math |

Version: | Boost 1.48.0 | Severity: | Problem |

Keywords: | math isfinite | Cc: |

### Description

from: boost/math/distributions/detail/common_error_handling.hpp

(boost::math::isfinite)(0U) returns 0

(boost::math::isfinite)(1U) returns 1

To recreate the problem, the following program:

#include <iostream> #include <boost/math/distributions/detail/common_error_handling.hpp> int main(int argc, char* argv[]) {

std::cout << "isfinite(0U)=" << (boost::math::isfinite)(0U) << std::endl; std::cout << "isfinite(1U)=" << (boost::math::isfinite)(0U) << std::endl;

}

prints:

isfinite(0U)=0 isfinite(1U)=0

This can't happen with the std::isinf() tests because they only take floating point args, so the unsigned int would get cast.

## Attachments

## Change History

**Note:**See TracTickets for help on using tickets.