summaryrefslogtreecommitdiff
path: root/include/float.h
AgeCommit message (Collapse)AuthorFilesLines
2015-03-23fix FLT_ROUNDS regression in C++ applicationsRich Felker1-0/+8
commit 559de8f5f06da9022cbba70e22e14a710eb74513 redefined FLT_ROUNDS to use an external function that can report the actual current rounding mode, rather than always reporting round-to-nearest. however, float.h did not include 'extern "C"' wrapping for C++, so C++ programs using FLT_ROUNDS ended up with an unresolved reference to a name-mangled C++ function __flt_rounds.
2015-03-07fix FLT_ROUNDS to reflect the current rounding modeSzabolcs Nagy1-0/+3
Implemented as a wrapper around fegetround introducing a new function to the ABI: __flt_rounds. (fegetround cannot be used directly from float.h)
2014-08-27add C11 floating-point characteristic macros to float.hSzabolcs Nagy1-0/+7
C11 introduced *_DECIMAL_DIG and *_HAS_SUBNORM macros.
2013-11-20write floating point limit constants to 21 significant decimal placesRich Felker1-8/+8
this is enough to produce the correct value even if the constant is interpreted as 80-bit extended precision, which matters on archs with excess precision (FLT_EVAL_METHOD==2) under at least some interpretations of the C standard. the shorter representations, while correct if converted to the nominal precision at translation time, could produce an incorrect value at extended precision, yielding results such as (double)DBL_MAX != DBL_MAX.
2013-05-17add FLT_TRUE_MIN, etc. macros from C11Rich Felker1-0/+2
there was some question as to how many decimal places to use, since one decimal place is always sufficient to identify the smallest denormal uniquely. for now, I'm following the example in the C standard which is consistent with the other min/max macros we already had in place.
2012-03-21fix DECIMAL_DIG definitionsRich Felker1-2/+0
DECIMAL_DIG is not the same as LDBL_DIG type_DIG is the maximimum number of decimal digits that can survive a round trip from decimal to type and back to decimal. DECIMAL_DIG is the minimum number of decimal digits required in order for any floating point type to survive the round trip to decimal and back, and it is generally larger than LDBL_DIG. since the exact formula is non-trivial, and defining it larger than necessary may be legal but wasteful, just define the right value in bits/float.h.
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker1-0/+34