diff options
Diffstat (limited to 'manual')
-rw-r--r-- | manual/lang.texi | 10 | ||||
-rw-r--r-- | manual/math.texi | 14 | ||||
-rw-r--r-- | manual/time.texi | 12 | ||||
-rw-r--r-- | manual/tunables.texi | 16 |
4 files changed, 45 insertions, 7 deletions
diff --git a/manual/lang.texi b/manual/lang.texi index 40cd9ddd77..cd90ff60d2 100644 --- a/manual/lang.texi +++ b/manual/lang.texi @@ -1065,7 +1065,7 @@ macros are supposed to be at least @code{10}. @standards{C90, float.h} This is the smallest possible exponent value for type @code{float}. More precisely, it is the minimum negative integer such that the value -@code{FLT_RADIX} raised to this power minus 1 can be represented as a +@code{FLT_RADIX} raised to one less than this power can be represented as a normalized floating point number of type @code{float}. @item DBL_MIN_EXP @@ -1078,7 +1078,7 @@ These are similar to @code{FLT_MIN_EXP}, but for the data types @item FLT_MIN_10_EXP @standards{C90, float.h} This is the minimum negative integer such that @code{10} raised to this -power minus 1 can be represented as a normalized floating point number +power can be represented as a normalized floating point number of type @code{float}. This is supposed to be @code{-37} or even less. @item DBL_MIN_10_EXP @@ -1091,8 +1091,8 @@ These are similar to @code{FLT_MIN_10_EXP}, but for the data types @standards{C90, float.h} This is the largest possible exponent value for type @code{float}. More precisely, this is the maximum positive integer such that value -@code{FLT_RADIX} raised to this power minus 1 can be represented as a -floating point number of type @code{float}. +@code{FLT_RADIX} raised to one less than this power can be represented as a +finite floating point number of type @code{float}. @item DBL_MAX_EXP @itemx LDBL_MAX_EXP @@ -1103,7 +1103,7 @@ These are similar to @code{FLT_MAX_EXP}, but for the data types @item FLT_MAX_10_EXP @standards{C90, float.h} This is the maximum positive integer such that @code{10} raised to this -power minus 1 can be represented as a normalized floating point number +power can be represented as a finite floating point number of type @code{float}. This is supposed to be at least @code{37}. @item DBL_MAX_10_EXP diff --git a/manual/math.texi b/manual/math.texi index dfb685a71e..c99501ccb1 100644 --- a/manual/math.texi +++ b/manual/math.texi @@ -754,6 +754,20 @@ They are computed in a way that is accurate even if @var{x} is near zero. @end deftypefun +@deftypefun double log2p1 (double @var{x}) +@deftypefunx float log2p1f (float @var{x}) +@deftypefunx {long double} log2p1l (long double @var{x}) +@deftypefunx _FloatN log2p1fN (_Float@var{N} @var{x}) +@deftypefunx _FloatNx log2p1fNx (_Float@var{N}x @var{x}) +@standards{TS 18661-4:2015, math.h} +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} +These functions return a value equivalent to @w{@code{log2 (1 + @var{x})}}. +They are computed in a way that is accurate even if @var{x} is +near zero. + +The @code{log2p1} functions are from TS 18661-4:2015. +@end deftypefun + @cindex complex exponentiation functions @cindex complex logarithm functions diff --git a/manual/time.texi b/manual/time.texi index dd77d3db04..2d3833755f 100644 --- a/manual/time.texi +++ b/manual/time.texi @@ -123,7 +123,7 @@ The number of clock ticks per second is system-specific. @code{time_t} is the simplest data type used to represent simple calendar time. -In ISO C, @code{time_t} can be either an integer or a floating-point +In ISO C, @code{time_t} can be either an integer or a real floating type, and the meaning of @code{time_t} values is not specified. The only things a strictly conforming program can do with @code{time_t} values are: pass them to @code{difftime} to get the elapsed time @@ -134,11 +134,21 @@ and pass them to the functions that convert them to broken-down time On POSIX-conformant systems, @code{time_t} is an integer type and its values represent the number of seconds elapsed since the @dfn{epoch}, which is 00:00:00 on January 1, 1970, Coordinated Universal Time. +The count of seconds ignores leap seconds. @Theglibc{} additionally guarantees that @code{time_t} is a signed type, and that all of its functions operate correctly on negative @code{time_t} values, which are interpreted as times before the epoch. +Functions like @code{localtime} assume the Gregorian calendar even +though this is historically inaccurate for timestamps before the +calendar was introduced or after the calendar will become obsolete. @cindex epoch +@Theglibc{} also supports leap seconds as an option, in which case +@code{time_t} counts leap seconds instead of ignoring them. +Currently the @code{time_t} type is 64 bits wide on all platforms +supported by @theglibc{}, except that it is 32 bits wide on a few +older platforms unless you define @code{_TIME_BITS} to 64. +@xref{Feature Test Macros}. @end deftp @deftp {Data Type} {struct timespec} diff --git a/manual/tunables.texi b/manual/tunables.texi index baaf751721..8dd02d8149 100644 --- a/manual/tunables.texi +++ b/manual/tunables.texi @@ -52,6 +52,7 @@ glibc.elision.skip_lock_busy: 3 (min: 0, max: 2147483647) glibc.malloc.top_pad: 0x20000 (min: 0x0, max: 0xffffffffffffffff) glibc.cpu.x86_rep_stosb_threshold: 0x800 (min: 0x1, max: 0xffffffffffffffff) glibc.cpu.x86_non_temporal_threshold: 0xc0000 (min: 0x4040, max: 0xfffffffffffffff) +glibc.cpu.x86_memset_non_temporal_threshold: 0xc0000 (min: 0x4040, max: 0xfffffffffffffff) glibc.cpu.x86_shstk: glibc.pthread.stack_cache_size: 0x2800000 (min: 0x0, max: 0xffffffffffffffff) glibc.cpu.hwcap_mask: 0x6 (min: 0x0, max: 0xffffffffffffffff) @@ -495,7 +496,8 @@ thread stack originally backup by Huge Pages to default pages. @cindex shared_cache_size tunables @cindex tunables, shared_cache_size @cindex non_temporal_threshold tunables -@cindex tunables, non_temporal_threshold +@cindex memset_non_temporal_threshold tunables +@cindex tunables, non_temporal_threshold, memset_non_temporal_threshold @deftp {Tunable namespace} glibc.cpu Behavior of @theglibc{} can be tuned to assume specific hardware capabilities @@ -574,6 +576,18 @@ like memmove and memcpy. This tunable is specific to i386 and x86-64. @end deftp +@deftp Tunable glibc.cpu.x86_memset_non_temporal_threshold +The @code{glibc.cpu.x86_memset_non_temporal_threshold} tunable allows +the user to set threshold in bytes for non temporal store in +memset. Non temporal stores give a hint to the hardware to move data +directly to memory without displacing other data from the cache. This +tunable is used by some platforms to determine when to use non +temporal stores memset. + +This tunable is specific to i386 and x86-64. +@end deftp + + @deftp Tunable glibc.cpu.x86_rep_movsb_threshold The @code{glibc.cpu.x86_rep_movsb_threshold} tunable allows the user to set threshold in bytes to start using "rep movsb". The value must be |