os-test > basic > complex
Legend
| Outcomes | ||||||
|---|---|---|---|---|---|---|
| Good | Good | Missing optional | Outside libc | |||
| Partial | Extension | Previous posix | ||||
| Neutral | None | |||||
| Bad | Compile error | Incompatible | Missing header | Undeclared | Undefined reference | Unknown type |
Good. A cell is good if the declaration is present
in the header and can be linked with libc. This outcome means the test
succeeded with the appropriate -D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros and the standard
libraries libc, libpthread, libm, librt, and libxnet.
Missing optional. A cell is missing_optional if the test could not be compiled, but the declaration is optional in POSIX and need not be provided.
Outside libc. A cell is outside_libc if the test could be compiled, but had to be linked with another standard library than the ones prescribed by POSIX: libc, libpthread, libm, librt, and libxnet. This may not conform to POSIX depending on the linking options provided by getconf(1)/confstr(3).
Extension. A cell is extension if the test could
not be compiled with the _POSIX_C_SOURCE and
_XOPEN_SOURCE feature macros, but it could instead be
compiled with other system-specific feature macros that provide the
entire API. This outcome means the system header feature macro logic
does not support the latest POSIX.1-2024 standard and only receives
partial credit. This outcome typically indicates a declaration new to
POSIX.1-2024.
Previous posix. A cell is previous_posix if the
test could not be compiled with the
-D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros from the POSIX.1-2024
standard, but the test could instead be compiled with the older
-D_POSIX_C_SOURCE=200809L or
-D_XOPEN_SOURCE=700
feature macros from the older POSIX.1-2008 standard. This
outcome means the system header feature macro logic does not support
the latest POSIX.1-2024 standard and only receives partial credit. In
particular, the header did not check if the value was higher than the
supported value, but instead hard-coded the supported values, and
failed to be forward compatible with new standard versions.
None. A cell is none if there is no test data result for that operating system.
Compile error. A cell is compile_error if the test could not be compiled and the error message was not recognized as a more precise error test outcome.
Incompatible. A cell is incompatible if the declaration existed in the header, but had a signature that is incompatible with the standardized declaration. This outcome typically indicates a type error in the declaration. Addressing the issue may require an incompatible ABI change or special compatibility logic.
Missing header. A cell is missing_header if the header did not exist.
Undeclared. A cell is undeclared if the header did not contain the declaration.
Undefined reference. A cell is undefined if the test could be compiled, but could not be linked with the standard library.
Unknown type. A cell is unknown_type if the test could not be compiled and failed because a required type was not declared. In some cases, functions fail because the header omitted a required type for a function and instead declared the function in an alternate fashion with an incompatible alias for the type.
§. The § link on the left of each row links to that row.
complex
| genode Genode |
|
|---|---|
| § cabs | genode: bad (1.) cabs(90.0100 + i*13.3700) = 0x1.6bfd81ea6a64b0p+6, not 0x1.6bfd81ea6a64c0p+6, diff -0x1.00000000000000p-46, ratio 0.9999999999999999 |
| § cabsf | genode: good exit: 0 |
| § cabsl | genode: good exit: 0 |
| § cacos | genode: bad (1.) cacos(0.9001 + i*0.1337).real = 0x1.0912d6180661b0p-1, not 0x1.0912d6180661d0p-1, diff -0x1.00000000000000p-52, ratio 0.9999999999999996 |
| § cacosf | genode: bad (1.) cacosf(0.9001 + i*0.1337).imag = -0x1.116114p-2, not -0x1.116116p-2, diff 0x1.000000p-25, ratio 0.99999988 |
| § cacosh | genode: bad (7.) cacosh(90.0100 + i*-12.3400).real = 0x1.4cf34a0eb6e560p+2, not 0x1.4cf34a0eb6e550p+2, diff 0x1.00000000000000p-50, ratio 1 (18.) cacosh(0.0000 + i*nan).imag = nan, not 0x1.921fb54442d180p+0, diff nan, ratio nan |
| § cacoshf | genode: bad (1.) cacoshf(90.0100 + i*13.3700).imag = 0x1.2e048ep-3, not 0x1.2e048cp-3, diff 0x1.000000p-26, ratio 1.0000001 (18.) cacoshf(0.0000 + i*nan).imag = nan, not 0x1.921fb6p+0, diff nan, ratio nan |
| § cacoshl | genode: bad (2.) cacoshl(-12.3400 + i*13.3700).real = 0x1.cc1291f92bcb71600p+1, not 0x1.cc1291f92bcb715e0p+1, diff 0x1.00000000000000000p-62, ratio 1.0000000000000000001 (18.) cacoshl(0.0000 + i*nan).imag = nan, not 0x1.921fb54442d1846a0p+0, diff nan, ratio nan |
| § cacosl | genode: bad (7.) cacosl(0.9001 + i*-0.1234).real = 0x1.05338a3c5b05c5e00p-1, not 0x1.05338a3c5b05c5de0p-1, diff 0x1.00000000000000000p-64, ratio 1.0000000000000000001 |
| § carg | genode: bad (1.) carg(90.0100 + i*13.3700) = 0x1.2dfff31e7d1cb0p-3, not 0x1.2dfff31e7d1ca0p-3, diff 0x1.00000000000000p-55, ratio 1 |
| § cargf | genode: bad (1.) cargf(90.0100 + i*13.3700) = 0x1.2dfff4p-3, not 0x1.2dfff2p-3, diff 0x1.000000p-26, ratio 1.0000001 |
| § cargl | genode: bad (1.) cargl(90.0100 + i*13.3700) = 0x1.2dfff31e7d1ca2840p-3, not 0x1.2dfff31e7d1ca2860p-3, diff -0x1.00000000000000000p-66, ratio 0.99999999999999999989 |
| § casin | genode: bad (1.) casin(0.9001 + i*0.1337).real = 0x1.0d964a383fa0b0p+0, not 0x1.0d964a383fa0a0p+0, diff 0x1.00000000000000p-52, ratio 1 |
| § casinf | genode: bad (1.) casinf(0.9001 + i*0.1337).imag = 0x1.116114p-2, not 0x1.116116p-2, diff -0x1.000000p-25, ratio 0.99999988 |
| § casinh | genode: bad (1.) casinh(90.0100 + i*13.3700).imag = 0x1.2dfb5963e650d0p-3, not 0x1.2dfb5963e650c0p-3, diff 0x1.00000000000000p-55, ratio 1 (27.) casinh(nan + i*-inf).real = -inf, not inf, diff -inf, ratio nan |
| § casinhf | genode: bad (1.) casinhf(90.0100 + i*13.3700).imag = 0x1.2dfb5ap-3, not 0x1.2dfb58p-3, diff 0x1.000000p-26, ratio 1.0000001 (27.) casinhf(nan + i*-inf).real = -inf, not inf, diff -inf, ratio nan |
| § casinhl | genode: bad (12.) casinhl(0.0000 + i*-12.3400).real = 0x1.9a280e136534862c0p+1, not 0x1.9a280e136534862e0p+1, diff -0x1.00000000000000000p-62, ratio 0.99999999999999999995 (27.) casinhl(nan + i*-inf).real = -inf, not inf, diff -inf, ratio nan |
| § casinl | genode: bad (8.) casinl(-0.1234 + i*-0.1234).real = -0x1.f6d8a8495ba442dc0p-4, not -0x1.f6d8a8495ba442de0p-4, diff 0x1.00000000000000000p-67, ratio 0.99999999999999999995 |
| § catan | genode: bad (2.) catan(-12.3400 + i*13.3700).imag = 0x1.4a9599469002c0p-5, not 0x1.4a9599469002d0p-5, diff -0x1.00000000000000p-57, ratio 0.9999999999999998 |
| § catanf | genode: bad (8.) catanf(-12.3400 + i*-12.3400).imag = -0x1.4b908cp-5, not -0x1.4b908ep-5, diff 0x1.000000p-28, ratio 0.99999988 |
| § catanh | genode: bad (1.) catanh(0.9001 + i*0.1337).imag = 0x1.ffa9b4cf569c30p-2, not 0x1.ffa9b4cf569c40p-2, diff -0x1.00000000000000p-54, ratio 0.9999999999999999 |
| § catanhf | genode: bad (1.) catanhf(0.9001 + i*0.1337).imag = 0x1.ffa9b2p-2, not 0x1.ffa9b4p-2, diff -0x1.000000p-25, ratio 0.99999994 |
| § catanhl | genode: bad (8.) catanhl(-0.1234 + i*-0.1234).real = -0x1.f4393ca16167cfb60p-4, not -0x1.f4393ca16167cfb80p-4, diff 0x1.00000000000000000p-67, ratio 0.99999999999999999995 |
| § catanl | genode: bad (1.) catanl(90.0100 + i*13.3700).imag = 0x1.a736fce697febca20p-10, not 0x1.a736fce697febca40p-10, diff -0x1.00000000000000000p-73, ratio 0.99999999999999999995 |
| § ccos | genode: bad (1.) ccos(90.0100 + i*13.3700).real = -0x1.1dd75de1d01dd0p+17, not -0x1.1dd75de1d01de0p+17, diff 0x1.00000000000000p-35, ratio 0.9999999999999998 |
| § ccosf | genode: bad (7.) ccosf(90.0100 + i*-12.3400).real = -0x1.9830e8p+15, not -0x1.9830eap+15, diff 0x1.000000p-8, ratio 0.99999994 |
| § ccosh | genode: bad (8.) ccosh(-12.3400 + i*-12.3400).real = 0x1.b336186e1f30e0p+16, not 0x1.b336186e1f30f0p+16, diff -0x1.00000000000000p-36, ratio 0.9999999999999999 |
| § ccoshf | genode: bad (7.) ccoshf(90.0100 + i*-12.3400).imag = 0x1.a046d2p+126, not 0x1.a046d0p+126, diff 0x1.000000p+103, ratio 1.0000001 |
| § ccoshl | genode: compile_error |
| § ccosl | genode: compile_error |
| § cexp | genode: bad (2.) cexp(-12.3400 + i*13.3700).real = 0x1.976a4412644fa0p-19, not 0x1.976a4412644f90p-19, diff 0x1.00000000000000p-71, ratio 1 |
| § cexpf | genode: bad (2.) cexpf(-12.3400 + i*13.3700).imag = 0x1.a68c46p-19, not 0x1.a68c44p-19, diff 0x1.000000p-42, ratio 1.0000001 |
| § cexpl | genode: compile_error |
| § cimag | genode: good exit: 0 |
| § cimagf | genode: good exit: 0 |
| § cimagl | genode: good exit: 0 |
| § clog | genode: bad (1.) clog(90.0100 + i*13.3700).imag = 0x1.2dfff31e7d1cb0p-3, not 0x1.2dfff31e7d1ca0p-3, diff 0x1.00000000000000p-55, ratio 1 |
| § clogf | genode: bad (1.) clogf(90.0100 + i*13.3700).imag = 0x1.2dfff4p-3, not 0x1.2dfff2p-3, diff 0x1.000000p-26, ratio 1.0000001 |
| § clogl | genode: bad (1.) clogl(90.0100 + i*13.3700).imag = 0x1.2dfff31e7d1ca2840p-3, not 0x1.2dfff31e7d1ca2860p-3, diff -0x1.00000000000000000p-66, ratio 0.99999999999999999989 |
| § conj | genode: good exit: 0 |
| § conjf | genode: good exit: 0 |
| § conjl | genode: good exit: 0 |
| § cpow | genode: bad (1.) cpow(90.0100 + i*13.3700, 10.1000 + i*4.2000).real = -0x1.a7b744e0ecbee0p+58, not -0x1.a7b744e0ecfab0p+58, diff 0x1.de800000000000p+15, ratio 0.9999999999998717 |
| § cpowf | genode: bad (1.) cpowf(90.0100 + i*13.3700, 10.1000 + i*4.2000).real = -0x1.a7bb56p+58, not -0x1.a7b1d8p+58, diff -0x1.2fc000p+45, ratio 1.0000875 |
| § cpowl | genode: bad (1.) cpowl(90.0100 + i*13.3700, 10.1000 + i*4.2000).real = -0x1.a7b744e0ecfaaef60p+58, not -0x1.a7b744e0ecfaaebe0p+58, diff -0x1.c0000000000000000p-1, ratio 1.0000000000000000018 |
| § cproj | genode: good exit: 0 |
| § cprojf | genode: good exit: 0 |
| § cprojl | genode: good exit: 0 |
| § creal | genode: good exit: 0 |
| § crealf | genode: good exit: 0 |
| § creall | genode: good exit: 0 |
| § csin | genode: bad (1.) csin(90.0100 + i*13.3700).real = 0x1.162cfb9958c440p+18, not 0x1.162cfb9958c450p+18, diff -0x1.00000000000000p-34, ratio 0.9999999999999998 |
| § csinf | genode: bad (7.) csinf(90.0100 + i*-12.3400).imag = 0x1.9830e8p+15, not 0x1.9830eap+15, diff -0x1.000000p-8, ratio 0.99999994 |
| § csinh | genode: bad (2.) csinh(-12.3400 + i*13.3700).real = -0x1.35fcf761f8b400p+16, not -0x1.35fcf761f8b3f0p+16, diff -0x1.00000000000000p-36, ratio 1 |
| § csinhf | genode: bad (7.) csinhf(90.0100 + i*-12.3400).imag = 0x1.a046d2p+126, not 0x1.a046d0p+126, diff 0x1.000000p+103, ratio 1.0000001 |
| § csinhl | genode: compile_error |
| § csinl | genode: compile_error |
| § csqrt | genode: bad (1.) csqrt(90.0100 + i*13.3700).real = 0x1.306d57fd415a20p+3, not 0x1.306d57fd415a30p+3, diff -0x1.00000000000000p-49, ratio 0.9999999999999998 |
| § csqrtf | genode: good exit: 0 |
| § csqrtl | genode: good exit: 0 |
| § ctan | genode: bad (1.) ctan(90.0100 + i*13.3700).real = -0x1.16e5d0eb874870p-38, not -0x1.16e5d0eb874880p-38, diff 0x1.00000000000000p-90, ratio 0.9999999999999998 (33.) ctan(nan + i*0.0000).imag = nan, not 0x0.00000000000000p+0, diff nan, ratio nan |
| § ctanf | genode: bad (1.) ctanf(90.0100 + i*13.3700).real = -0x1.16e60cp-38, not -0x1.16e60ep-38, diff 0x1.000000p-61, ratio 0.99999988 (33.) ctanf(nan + i*0.0000).imag = nan, not 0x0.000000p+0, diff nan, ratio nan |
| § ctanh | genode: bad (7.) ctanh(90.0100 + i*-12.3400).imag = 0x1.111402b915a7e0p-260, not 0x1.111402b915a7f0p-260, diff -0x1.00000000000000p-312, ratio 0.9999999999999998 (18.) ctanh(0.0000 + i*nan).real = nan, not 0x0.00000000000000p+0, diff nan, ratio nan |
| § ctanhf | genode: bad (2.) ctanhf(-12.3400 + i*13.3700).imag = 0x1.503c34p-35, not 0x1.503c32p-35, diff 0x1.000000p-58, ratio 1.0000001 (18.) ctanhf(0.0000 + i*nan).real = nan, not 0x0.000000p+0, diff nan, ratio nan |
| § ctanhl | genode: compile_error |
| § ctanl | genode: compile_error |