24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
|
Code in this sub-directory should follow the GNU Coding Standard, but it is
|
||
|
not expected to be upstreamed into glibc without modification, so
|
||
|
glibc-specific conventions need not be followed.
|
||
|
|
||
|
The requirements for portable code apply to non-portable code with the
|
||
|
following differences:
|
||
|
|
||
|
|
||
|
1. Worst-case ULP error should be encoded in filenames (e.g. sin_u35.c). There
|
||
|
are no specific restrictions on acceptable ULP error, but if functions
|
||
|
provide significantly less accuracy than portable equivalents then a clear
|
||
|
justification for inclusion should be stated in comments at the top of the
|
||
|
source file. Error bounds of the approximation should be clearly documented
|
||
|
in comments.
|
||
|
|
||
|
2. Functions are assumed to support round-to-nearest mode by default, unless
|
||
|
stated; other rounding modes are not required to be provided.
|
||
|
|
||
|
3. Handling of special cases may be relaxed for vector functions. Checking
|
||
|
whether each vector lane contains special values such as NaN, Inf or
|
||
|
denormal numbers can prove too costly for vector functions. This is often
|
||
|
not required since vector functions are typically used along with aggressive
|
||
|
compiler optimization flags.
|