float_t, double_t
Types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Macro constants | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Defined in header
<math.h>
|
||
typedef
/*implementation defined*/
float_t
|
(since C99) | |
typedef
/*implementation defined*/
double_t
|
(since C99) | |
The types float_t and double_t are floating types at least as wide as float and double , respectively, and such that double_t is at least as wide as float_t . The value of FLT_EVAL_METHOD determines the types of float_t and double_t .
FLT_EVAL_METHOD | Explanation |
0
|
float_t and double_t are equivalent to float and double , respectively |
1
|
both float_t and double_t are equivalent to double |
2
|
both float_t and double_t are equivalent to long double |
other
|
both float_t and double_t are implementation defined |
Example
#include <float.h> #include <math.h> #include <stdio.h> int main(void) { printf("%d\n", FLT_EVAL_METHOD); printf("%zu %zu\n", sizeof(float),sizeof(float_t)); printf("%zu %zu\n", sizeof(double),sizeof(double_t)); return 0; }
Possible output:
0 4 4 8 8
References
- C11 standard (ISO/IEC 9899:2011):
-
- 7.12 Mathematics <math.h> (p: 231)
- C99 standard (ISO/IEC 9899:1999):
-
- 7.12 Mathematics <math.h> (p: 212)
See also
(C99)
|
use of extended precision for intermediate results: 0 not used, 1
double
is used instead of
float
, 2:
long
double
is used
(macro constant) |