stdfix.h¶
ISO/IEC TR 18037
85 / 94 (90.4%)
ISO/IEC TR 18037
81 / 86 (94.2%)
Base Families
11 / 16 (68.8%)
Functions
2 / 2 (100.0%)
Macros
60 / 64 (93.8%)
Types
12 / 12 (100.0%)
Precision Coverage
uhr
5 / 11 (45.5%)
hr
5 / 12 (41.7%)
ur
9 / 15 (60.0%)
r
9 / 16 (56.2%)
ulr
9 / 15 (60.0%)
lr
9 / 16 (56.2%)
uhk
6 / 11 (54.5%)
hk
6 / 12 (50.0%)
uk
10 / 15 (66.7%)
k
10 / 16 (62.5%)
ulk
8 / 15 (53.3%)
lk
9 / 16 (56.2%)
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 | – | – |