wmemset

Defined in header <wchar.h> wchar_t *wmemset( wchar_t *dest, wchar_t ch, size_t count ); (since C95) Copies the wide character ch into each of the first count wide characters of the wide character array (or integer array of compatible type) pointed to by dest. If overflow occurs, the behavior is undefined. If count is zero, the function does nothing. Parameters dest - pointer to the wide character array to fill ch - fill wide character count - number of

mbrtoc32

Defined in header <uchar.h> size_t mbrtoc32( char32_t* pc32, const char* s, size_t n, mbstate_t* ps ); (since C11) Converts a narrow multibyte character to its 32-bit character representation (typically, UTF-32). If s is not a null pointer, inspects at most n bytes of the multibyte character string, beginning with the byte pointed to by s to determine the number of bytes necessary to complete the next multibyte character (including any shift sequences). If the function dete

sin

Defined in header <math.h> float sinf( float arg ); (1) (since C99) double sin( double arg ); (2) long double sinl( long double arg ); (3) (since C99) Defined in header <tgmath.h> #define sin( arg ) (4) (since C99) 1-3) Computes the sine of arg (measured in radians). 4) Type-generic macro: If the argument has type long double, sinl is called. Otherwise, if the argument has integer type or the type double, sin is called. Otherwise,

kill_dependency

Defined in header <stdatomic.h> A kill_dependency(A y); (since C11) Informs the compiler that the dependency tree started by an memory_order_consume atomic load operation does not extend past the return value of kill_dependency; that is, the argument does not carry a dependency into the return value. The function is implemented as a macro. A is the type of y. Parameters y - the expression whose return value is to be removed from a dependency tree Return value

HUGE_VALF

Defined in header <math.h> #define HUGE_VALF /*implementation defined*/ (since C99) #define HUGE_VAL /*implementation defined*/ #define HUGE_VALL /*implementation defined*/ (since C99) The HUGE_VALF, HUGE_VAL and HUGE_VALL macros expand to positive floating point constant expressions which compare equal to the values returned by floating-point functions and operators in case of overflow (see math_errhandling). Constant Explanation HUGE_VALF Expands to po

atomic_signal_fence

Defined in header <stdatomic.h> void atomic_signal_fence( memory_order order ); (since C11) Establishes memory synchronization ordering of non-atomic and relaxed atomic accesses, as instructed by order, between a thread and a signal handler executed on the same thread. This is equivalent to std::atomic_thread_fence, except no CPU instructions for memory ordering are issued. Only reordering of the instructions by the compiler is suppressed as order instructs. For example, wr

ATOMIC_VAR_INIT

Defined in header <stdatomic.h> #define ATOMIC_VAR_INIT(value) /* unspecified */ (since C11) Expands to an expression that can be used to initialize an atomic variable of the same type as value. The initial value of atomic object of automatic storage duration that is not initialized using this macro is undefined. The default (zero) initialization of static and thread-local variables produces valid value however. If this macro is not used for initialization of an atomic vari

_Alignof operator

Queries the alignment requirement of its operand type. Syntax _Alignof( type-name ) (since C11) This operator is typically used through the convenience macro alignof, which is provided in the header stdalign.h. Explanation Returns the alignment requirement of the type named by type-name. If type-name is an array type, the result is the alignment requirement of the array element type. The type-name cannot be function type or an incomplete type. The result is an integer constant of

Complex number arithmetic

If the macro constant __STDC_NO_COMPLEX__ is defined by the implementation, the complex types, the header <complex.h> and all of the names listed here are not provided. (since C11) The C programming language, as of C99, supports complex number math with the three built-in types double _Complex, float _Complex, and long double _Complex (see _Complex). When the header <complex.h> is included, the three complex number types are also accessible as double complex, float complex, long

fwide

Defined in header <wchar.h> int fwide( FILE *stream, int mode ); (since C95) If mode > 0, attempts to make stream wide-oriented. If mode < 0, attempts to make stream byte-oriented. If mode==0, only queries the current orientation of the stream. If the orientation of the stream has already been decided (by executing output or by an earlier call to fwide), this function does nothing. Parameters stream - pointer to the C I/O stream to modify or query mode -