diff options
Diffstat (limited to 'manual')
-rw-r--r-- | manual/arith.texi | 13 | ||||
-rwxr-xr-x | manual/libm-err-tab.pl | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/manual/arith.texi b/manual/arith.texi index 6ecde21b7c..5fb18f3561 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -1873,7 +1873,8 @@ undesirable. @w{ISO C99} therefore defines comparison functions that do not raise exceptions when NaN is examined. All of the functions are implemented as macros which allow their arguments to be of any floating-point type. The macros are guaranteed to evaluate their -arguments only once. +arguments only once. TS 18661-1:2014 adds such a macro for an +equality comparison that @emph{does} raise an exception for a NaN argument. @comment math.h @comment ISO @@ -1932,6 +1933,16 @@ This macro determines whether its arguments are unordered. In other words, it is true if @var{x} or @var{y} are NaN, and false otherwise. @end deftypefn +@comment math.h +@comment ISO +@deftypefn Macro int iseqsig (@emph{real-floating} @var{x}, @emph{real-floating} @var{y}) +@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} +This macro determines whether its arguments are equal. It is +equivalent to @code{(@var{x}) == (@var{y})}, but it raises the invalid +exception and sets @code{errno} to @code{EDOM} is either argument is a +NaN. +@end deftypefn + Not all machines provide hardware support for these operations. On machines that don't, the macros can be very slow. Therefore, you should not use these functions when NaN is not a concern. diff --git a/manual/libm-err-tab.pl b/manual/libm-err-tab.pl index b36ef94325..451547871b 100755 --- a/manual/libm-err-tab.pl +++ b/manual/libm-err-tab.pl @@ -78,7 +78,7 @@ use vars qw (%results @all_floats %suffices @all_functions); "scalbn", "sin", "sincos", "sinh", "sqrt", "tan", "tanh", "tgamma", "trunc", "y0", "y1", "yn" ); # fpclassify, iscanonical, isnormal, isfinite, isinf, isnan, issignaling, -# issubnormal, iszero, signbit, isgreater, isgreaterequal, isless, +# issubnormal, iszero, signbit, iseqsig, isgreater, isgreaterequal, isless, # islessequal, islessgreater, isunordered are not tabulated. if ($#ARGV == 0) { |