This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

205. numeric_limits unclear on how to determine floating point types

Section: [numeric.limits.members] Status: NAD Submitter: Steve Cleary Opened: 2000-01-28 Last modified: 2017-02-03

Priority: Not Prioritized

View all other issues in [numeric.limits.members].

View all issues with NAD status.


In several places in [numeric.limits.members], a member is described as "Meaningful for all floating point types." However, no clear method of determining a floating point type is provided.

In [numeric.special], paragraph 1 states ". . . (for example, epsilon() is only meaningful if is_integer is false). . ." which suggests that a type is a floating point type if is_specialized is true and is_integer is false; however, this is unclear.

When clarifying this, please keep in mind this need of users: what exactly is the definition of floating point? Would a fixed point or rational representation be considered one? I guess my statement here is that there could also be types that are neither integer or (strictly) floating point.


It is up to the implementor of a user define type to decide if it is a floating point type.