stdfix.h#
Columns list the 12 fixed-point suffixes: uhr/hr (unsigned/signed short fract), ur/r (unsigned/signed fract), ulr/lr (unsigned/signed long fract), and uhk/hk, uk/k, ulk/lk for the corresponding accum types. See Fixed-Point Arithmetic for compiler requirements, precision macros, formatted I/O specifiers, and ABI notes.
Fixed-point Arithmetics#
| Family | uhr | hr | ur | r | ulr | lr | uhk | hk | uk | k | ulk | lk | C23 Section | POSIX Docs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
*bits | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.6 | – |
*divi | N/A | N/A | Implemented | Implemented | Implemented | Implemented | N/A | N/A | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.1 | – |
abs | N/A | Implemented | N/A | Implemented | N/A | Implemented | N/A | Implemented | N/A | Implemented | N/A | Implemented | TR 18037 7.18a.6.2 | – |
bits* | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.5 | – |
countls | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.4 | – |
divi* | N/A | N/A | Implemented | Implemented | Implemented | Implemented | N/A | N/A | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.1 | – |
idiv* | N/A | N/A | Implemented | Implemented | Implemented | Implemented | N/A | N/A | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.1 | – |
muli* | N/A | N/A | Implemented | Implemented | Implemented | Implemented | N/A | N/A | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.1 | – |
round | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | Implemented | TR 18037 7.18a.6.3 | – |
Higher Math Functions#
| Family | uhr | hr | ur | r | ulr | lr | uhk | hk | uk | k | ulk | lk | C23 Section | POSIX Docs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cos | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | – | – |
exp | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Implemented | Implemented | Implemented | Implemented | Not Implemented | Not Implemented | – | – |
log | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | – | – |
sin | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | – | – |
sqrt | Implemented | Not Implemented | Implemented | Not Implemented | Implemented | Not Implemented | Implemented | Not Implemented | Implemented | Not Implemented | Not Implemented | Not Implemented | – | – |
tan | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | – | – |
Conversion Functions#
| Family | uhr | hr | ur | r | ulr | lr | uhk | hk | uk | k | ulk | lk | C23 Section | POSIX Docs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
strtofx | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | Not Implemented | TR 18037 7.18a.6.8 | – |
Types#
| Type | Status | C23 Section | POSIX Docs |
|---|---|---|---|
int_hk_t | Implemented | TR 18037 7.18a.2 | – |
int_hr_t | Implemented | TR 18037 7.18a.2 | – |
int_k_t | Implemented | TR 18037 7.18a.2 | – |
int_lk_t | Implemented | TR 18037 7.18a.2 | – |
int_lr_t | Implemented | TR 18037 7.18a.2 | – |
int_r_t | Implemented | TR 18037 7.18a.2 | – |
uint_uhk_t | Implemented | TR 18037 7.18a.2 | – |
uint_uhr_t | Implemented | TR 18037 7.18a.2 | – |
uint_uk_t | Implemented | TR 18037 7.18a.2 | – |
uint_ulk_t | Implemented | TR 18037 7.18a.2 | – |
uint_ulr_t | Implemented | TR 18037 7.18a.2 | – |
uint_ur_t | Implemented | TR 18037 7.18a.2 | – |
Macros#
| Macro | Status | C23 Section | POSIX Docs |
|---|---|---|---|
ACCUM_EPSILON | Implemented | TR 18037 7.18a.3 | – |
ACCUM_FBIT | Implemented | TR 18037 7.18a.3 | – |
ACCUM_IBIT | Implemented | TR 18037 7.18a.3 | – |
ACCUM_MAX | Implemented | TR 18037 7.18a.3 | – |
ACCUM_MIN | Implemented | TR 18037 7.18a.3 | – |
FRACT_EPSILON | Implemented | TR 18037 7.18a.3 | – |
FRACT_FBIT | Implemented | TR 18037 7.18a.3 | – |
FRACT_MAX | Implemented | TR 18037 7.18a.3 | – |
FRACT_MIN | Implemented | TR 18037 7.18a.3 | – |
LACCUM_EPSILON | Implemented | TR 18037 7.18a.3 | – |
LACCUM_FBIT | Implemented | TR 18037 7.18a.3 | – |
LACCUM_IBIT | Implemented | TR 18037 7.18a.3 | – |
LACCUM_MAX | Implemented | TR 18037 7.18a.3 | – |
LACCUM_MIN | Implemented | TR 18037 7.18a.3 | – |
LFRACT_EPSILON | Implemented | TR 18037 7.18a.3 | – |
LFRACT_FBIT | Implemented | TR 18037 7.18a.3 | – |
LFRACT_MAX | Implemented | TR 18037 7.18a.3 | – |
LFRACT_MIN | Implemented | TR 18037 7.18a.3 | – |
SACCUM_EPSILON | Implemented | TR 18037 7.18a.3 | – |
SACCUM_FBIT | Implemented | TR 18037 7.18a.3 | – |
SACCUM_IBIT | Implemented | TR 18037 7.18a.3 | – |
SACCUM_MAX | Implemented | TR 18037 7.18a.3 | – |
SACCUM_MIN | Implemented | TR 18037 7.18a.3 | – |
SFRACT_EPSILON | Implemented | TR 18037 7.18a.3 | – |
SFRACT_FBIT | Implemented | TR 18037 7.18a.3 | – |
SFRACT_MAX | Implemented | TR 18037 7.18a.3 | – |
SFRACT_MIN | Implemented | TR 18037 7.18a.3 | – |
UACCUM_EPSILON | Implemented | TR 18037 7.18a.3 | – |
UACCUM_FBIT | Implemented | TR 18037 7.18a.3 | – |
UACCUM_IBIT | Implemented | TR 18037 7.18a.3 | – |
UACCUM_MAX | Implemented | TR 18037 7.18a.3 | – |
UACCUM_MIN | Implemented | TR 18037 7.18a.3 | – |
UFRACT_EPSILON | Implemented | TR 18037 7.18a.3 | – |
UFRACT_FBIT | Implemented | TR 18037 7.18a.3 | – |
UFRACT_MAX | Implemented | TR 18037 7.18a.3 | – |
UFRACT_MIN | Implemented | TR 18037 7.18a.3 | – |
ULACCUM_EPSILON | Implemented | TR 18037 7.18a.3 | – |
ULACCUM_FBIT | Implemented | TR 18037 7.18a.3 | – |
ULACCUM_IBIT | Implemented | TR 18037 7.18a.3 | – |
ULACCUM_MAX | Implemented | TR 18037 7.18a.3 | – |
ULACCUM_MIN | Implemented | TR 18037 7.18a.3 | – |
ULFRACT_EPSILON | Implemented | TR 18037 7.18a.3 | – |
ULFRACT_FBIT | Implemented | TR 18037 7.18a.3 | – |
ULFRACT_MAX | Implemented | TR 18037 7.18a.3 | – |
ULFRACT_MIN | Implemented | TR 18037 7.18a.3 | – |
USACCUM_EPSILON | Implemented | TR 18037 7.18a.3 | – |
USACCUM_FBIT | Implemented | TR 18037 7.18a.3 | – |
USACCUM_IBIT | Implemented | TR 18037 7.18a.3 | – |
USACCUM_MAX | Implemented | TR 18037 7.18a.3 | – |
USACCUM_MIN | Implemented | TR 18037 7.18a.3 | – |
USFRACT_EPSILON | Implemented | TR 18037 7.18a.3 | – |
USFRACT_FBIT | Implemented | TR 18037 7.18a.3 | – |
USFRACT_MAX | Implemented | TR 18037 7.18a.3 | – |
USFRACT_MIN | Implemented | TR 18037 7.18a.3 | – |
absfx | Implemented | TR 18037 7.18a.6.7 | – |
accum | Implemented | TR 18037 7.18a.1 | – |
countlsfx | Implemented | TR 18037 7.18a.6.7 | – |
divifx | Not Implemented | TR 18037 7.18a.6.7 | – |
fract | Implemented | TR 18037 7.18a.1 | – |
fxdivi | Not Implemented | TR 18037 7.18a.6.7 | – |
idivfx | Not Implemented | TR 18037 7.18a.6.7 | – |
mulifx | Not Implemented | TR 18037 7.18a.6.7 | – |
roundfx | Implemented | TR 18037 7.18a.6.7 | – |
sat | Implemented | TR 18037 7.18a.1 | – |
Functions#
| Function | Status | C23 Section | POSIX Docs |
|---|---|---|---|
uhksqrtus | Implemented | – | – |
uksqrtui | Implemented | – | – |