FLT_EVAL_METHOD

Defined in header <float.h> #define FLT_EVAL_METHOD /* implementation defined */ (since C99) Specifies the precision in which all floating-point arithmetic operations other than assignment and cast are done. Value Explanation negative values except -1 implementation-defined behavior -1 the default precision is not known 0 all operations and constants evaluate in the range and precision of the type used. Additionally, float_t and double_t are equivalent to flo

fma

Defined in header <math.h> float fmaf( float x, float y, float z ); (1) (since C99) double fma( double x, double y, double z ); (2) (since C99) long double fmal( long double x, long double y, long double z ); (3) (since C99) #define FP_FAST_FMA /* implementation-defined */ (4) (since C99) #define FP_FAST_FMAF /* implementation-defined */ (5) (since C99) #define FP_FAST_FMAL /* implementation-defined */ (6) (since C99) Defined in head

Floating-point environment

The floating-point environment is the set of floating-point status flags and control modes supported by the implementation. It is thread-local, each thread inherits the initial state of its floating-point environment from the parent thread. Floating-point operations modify the floating-point status flags to indicate abnormal results or auxiliary information. The state of floating-point control modes affects the outcomes of some floating-point operations. The floating-point environment access an

floor

Defined in header <math.h> float floorf( float arg ); (1) (since C99) double floor( double arg ); (2) long double floorl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define floor( arg ) (4) (since C99) 1-3) Computes the largest integer value not greater than arg. 4) Type-generic macro: If arg has type long double, floorl is called. Otherwise, if arg has integer type or the type double, floor is called. Otherwi

FLT_ROUNDS

Defined in header <float.h> #define FLT_ROUNDS /* implementation defined */ (since C99) Returns the current rounding direction of floating-point arithmetic operations. Value Explanation -1 the default rounding direction is not known 0 toward zero, FE_TOWARDZERO 1 to nearest, FE_TONEAREST 2 towards positive infinity, FE_UPWARD 3 towards negative infinity, FE_DOWNWARD other values implementation-defined behavior Notes The rounding mode can be

Fixed width integer types

Types Defined in header <stdint.h> int8_tint16_tint32_tint64_t signed integer type with width of exactly 8, 16, 32 and 64 bits respectivelywith no padding bits and using 2's complement for negative values(provided only if the implementation directly supports the type) int_fast8_tint_fast16_tint_fast32_tint_fast64_t fastest signed integer type with width of at least 8, 16, 32 and 64 bits respectively int_least8_tint_least16_tint_least32_tint_least64_t smallest signed integ

float

Usage float type: as the declaration of the type

floating constant

Allows values of floating type to be used directly in expressions. Syntax A floating constant is a non-lvalue expression having the form: significand exponent(optional) suffix(optional) Where the significand has the form. whole-number(optional) .(optional) fraction(optional) The exponent has the form. e | E exponent-sign(optional) digit-sequence (1) p | P exponent-sign(optional) digit-sequence (2) (since C99) 1) The exponent syntax for a decimal floating-point

File scope

If the declarator or type specifier that declares the identifier appears outside of any block or list of parameters, the identifier has file scope, which terminates at the end of the translation unit. So, placement of an identifier's declaration (in a declarator or type specifier) outside any block or list of parameters means that the identifier has file scope. File scope of an identifier extends from the declaration to the end of the translation unit in which the declaration appears. Example

File input/output

The <stdio.h> header provides generic file operation support and supplies functions with narrow character input/output capabilities. The <wchar.h> header supplies functions with wide character input/output capabilities. I/O streams are objects of type FILE that can only be accessed and manipulated through pointers of type FILE* (Note: while it may be possible to create a local object of type FILE by dereferencing and copying a valid FILE*, using the address of such copy in the I/O f