Patchwork [1/4] Document _FloatN and _FloatNx versions of math functions

login
register
mail settings
Submitter Gabriel F T Gomes
Date June 14, 2017, 10:05 p.m.
Message ID <1497477934-26163-2-git-send-email-gftg@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/21033/
State Superseded
Delegated to: Joseph Myers
Headers show

Comments

Gabriel F T Gomes - June 14, 2017, 10:05 p.m.
The functions defined in ISO/IEC TS 18661-3 take floating-point arguments
and return floating-point numbers of _FloatN and _FloatNx types.  Apart
from the type, these functions behave the same as their float, double, and
long double counterparts.  This patch adds the newer functions to the
manual.

2017-06-12  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>

	* manual/arith.texi (Infinity and NaN): Document SNANFN and SNANFNx.
	* manual/math.texi (Trigonometric Functions): Document sinfN,
	sinfNx, cosfN, cosfNx, tanfN, tanfNx, sincosfN, sincosfNx, csinfN,
	csinfNx, ccosfN, ccosfNx, ctanfN, ctanfNx.
	(Inverse Trigonometric Functions): Document asinfN, asinfNx,
	acosfN, acosfNx, atanfN, atanfNx, atan2fN, atan2fNx.
	(Exponentiation and Logarithms): Document expfN, expfNx, exp2fN,
	exp2fNx, exp10fN, exp10fNx, logfN, logfNx, log10fN, log10fNx,
	log2fN, log2fNx, logbfN, logbfNx, ilogbfN, ilogbfNx, llogbfN,
	llogbfNx, powfN, powfNx, sqrtfN, sqrtfNx, cbrtfN, cbrtfNx, hypotfN,
	hypotfNx, expm1fN, expm1fNx, log1pfN, log1pfNx, cexpfN, cexpfNx,
	clogfN, clogfNx, clog10fN, clog10fNx, csqrtfN, csqrtfNx, cpowfN,
	cpowfNx.
	(Hyperbolic Functions): sinhfN, sinhfNx, coshfN, coshfNx, tanhfN,
	tanhfNx, csinhfN, csinhfNx, ccoshfN, ccoshfNx, ctanhfN, ctanhfNx,
	asinhfN, asinhfNx, acoshfN, acoshfNx, atanhfN, atanhfNx, casinhfN,
	casinhfNx, cacoshfN, cacoshfNx, catanhfN, catanhfNx.
	(Special Functions): Document erffN, erffNx, erfcfN, erfcfNx,
	lgammafN, lgammafNx, lgammarfN_r, lgammafNx_r, tgammafN, tgammafNx,
	j0fN, j0fNx, j1fN, j1fNx, jnfN, jnfNx, y0fN, y0fNx, y1fN, y1fNx,
	ynfN, ynfNx.
---
 manual/arith.texi |  12 +
 manual/math.texi  | 800 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 812 insertions(+)
Joseph Myers - June 14, 2017, 11:16 p.m.
There seems to be a lot of documentation missing here.  E.g. of the M_* 
constants, or the HUGE_VAL constants, or of the various libm functions for 
which the float / double / long double variants are documented in 
arith.texi.  (As part of or in preparation for such documentation, you 
should probably change the documentation that describes drem as primary, 
remainder as an alternative name to describe remainder as primary, drem as 
an alternative name.)
Joseph Myers - June 16, 2017, 11:16 a.m.
The documentation will also now need updating for the move from @comment 
to @standards for standards annotations.

Patch

diff --git a/manual/arith.texi b/manual/arith.texi
index 5c1dcdc..ec70566 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -720,6 +720,18 @@  These macros, defined by TS 18661-1:2014, are constant expressions for
 signaling NaNs.
 @end deftypevr
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypevr Macro _FloatN SNANFN
+@deftypevrx Macro _FloatNx SNANFNx
+These macros are like @code{SNAN}, except for the type of the
+floating-point number that they produce.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypevr
+
+
 @comment fenv.h
 @comment ISO
 @deftypevr Macro int FE_SNANS_ALWAYS_SIGNAL
diff --git a/manual/math.texi b/manual/math.texi
index 53c2bc1..50bf8aa 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -174,6 +174,20 @@  radians.  The return value is in the range @code{-1} to @code{1}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN sinfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx sinfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{sin}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double cos (double @var{x})
 @comment math.h
@@ -188,6 +202,20 @@  radians.  The return value is in the range @code{-1} to @code{1}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN cosfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx cosfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cos}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double tan (double @var{x})
 @comment math.h
@@ -211,6 +239,20 @@  efficient to compute them simultaneously, so the library provides a
 function to do that.
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN tanfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx tanfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{tan}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment GNU
 @deftypefun void sincos (double @var{x}, double *@var{sinx}, double *@var{cosx})
 @comment math.h
@@ -229,6 +271,21 @@  This function is a GNU extension.  Portable programs should be prepared
 to cope with its absence.
 @end deftypefun
 
+@comment math.h
+@comment GNU
+@deftypefun _FloatN sincosfN (_Float@var{N} @var{x}, _Float@var{N} *@var{sinx}, _Float@var{N} *@var{cosx})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx sincosfNx (_Float@var{N}x @var{x}, _Float@var{N}x *@var{sinx}, _Float@var{N}x *@var{cosx})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{sincos}, except for the floating-point
+arguments and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex complex trigonometric functions
 
 @w{ISO C99} defines variants of the trig functions which work on
@@ -263,6 +320,20 @@  $$\sin(z) = {1\over 2i} (e^{zi} - e^{-zi})$$
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} csinfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} csinfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{csin}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} ccos (complex double @var{z})
 @comment complex.h
@@ -284,6 +355,20 @@  $$\cos(z) = {1\over 2} (e^{zi} + e^{-zi})$$
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} ccosfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} ccosfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{ccos}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} ctan (complex double @var{z})
 @comment complex.h
@@ -309,6 +394,20 @@  integer.  @code{ctan} may signal overflow if @var{z} is too close to a
 pole.
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} ctanfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} ctanfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{ctan}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 
 @node Inverse Trig Functions
 @section Inverse Trigonometric Functions
@@ -339,6 +438,20 @@  domain, @code{asin} signals a domain error.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN asinfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx asinfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{asin}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double acos (double @var{x})
 @comment math.h
@@ -359,6 +472,20 @@  domain, @code{acos} signals a domain error.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN acosfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx acosfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{acos}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double atan (double @var{x})
 @comment math.h
@@ -375,6 +502,20 @@  returned is the one between @code{-pi/2} and @code{pi/2} (inclusive).
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN atanfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx atanfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{atan}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double atan2 (double @var{y}, double @var{x})
 @comment math.h
@@ -400,6 +541,20 @@  Logarithms}.)
 If both @var{x} and @var{y} are zero, @code{atan2} returns zero.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN atan2fN (_Float@var{N} @var{y}, _Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx atan2fNx (_Float@var{N}x @var{y}, _Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{atan2}, except for the floating-point
+arguments and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex inverse complex trigonometric functions
 @w{ISO C99} defines complex versions of the inverse trig functions.
 
@@ -421,6 +576,20 @@  values of @var{z}.
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} casinfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} casinfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{casin}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} cacos (complex double @var{z})
 @comment complex.h
@@ -437,6 +606,20 @@  Unlike the real-valued functions, @code{cacos} is defined for all
 values of @var{z}.
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} cacosfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} cacosfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cacos}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 
 @comment complex.h
 @comment ISO
@@ -452,6 +635,20 @@  These functions compute the complex arctangent of @var{z}---that is,
 the value whose tangent is @var{z}.  The value is in units of radians.
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} catanfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} catanfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{catan}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 
 @node Exponents and Logarithms
 @section Exponentiation and Logarithms
@@ -477,6 +674,20 @@  If the magnitude of the result is too large to be representable,
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN expfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx expfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{exp}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double exp2 (double @var{x})
 @comment math.h
@@ -491,6 +702,20 @@  Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN exp2fN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx exp2fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{exp2}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double exp10 (double @var{x})
 @comment math.h
@@ -517,6 +742,21 @@  names are GNU extensions.  The name @code{exp10} is
 preferred, since it is analogous to @code{exp} and @code{exp2}.
 @end deftypefun
 
+@comment math.h
+@comment GNU
+@deftypefun _FloatN exp10fN (_Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx exp10fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{exp10}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 
 @comment math.h
 @comment ISO
@@ -538,6 +778,20 @@  it may signal overflow.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN logfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx logfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{log}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double log10 (double @var{x})
 @comment math.h
@@ -553,6 +807,20 @@  These functions return the base-10 logarithm of @var{x}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN log10fN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx log10fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{log10}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double log2 (double @var{x})
 @comment math.h
@@ -567,6 +835,20 @@  These functions return the base-2 logarithm of @var{x}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN log2fN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx log2fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{log2}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double logb (double @var{x})
 @comment math.h
@@ -587,6 +869,20 @@  negative), @code{logb} returns @math{@infinity{}}.  If @var{x} is zero,
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN logbfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx logbfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{logb}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun int ilogb (double @var{x})
 @comment math.h
@@ -611,6 +907,26 @@  functions except that they return signed integer values.  The
 are from TS 18661-1:2014.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun int ilogbfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx int ilogbfNx (_Float@var{N}x @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {long int} llogbfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {long int} llogbfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{ilogb} and @code{llogb}, except for the
+type of the floating-point argument.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @noindent
 Since integers cannot represent infinity and NaN, @code{ilogb} instead
 returns an integer that can't be the exponent of a normal floating-point
@@ -694,6 +1010,20 @@  do that, so instead it signals a domain error. @code{pow} may also
 underflow or overflow the destination type.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN powfN (_Float@var{N} @var{base}, _Float@var{N} @var{power})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx powfNx (_Float@var{N}x @var{base}, _Float@var{N}x @var{power})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{pow}, except for the floating-point
+arguments and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex square root function
 @comment math.h
 @comment ISO
@@ -711,6 +1041,20 @@  If @var{x} is negative, @code{sqrt} signals a domain error.
 Mathematically, it should return a complex number.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN sqrtfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx sqrtfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{sqrt}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex cube root function
 @comment math.h
 @comment BSD
@@ -727,6 +1071,20 @@  fail; every representable real value has a representable real cube root.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN cbrtfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx cbrtfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cbrt}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double hypot (double @var{x}, double @var{y})
 @comment math.h
@@ -745,6 +1103,20 @@  much smaller.  See also the function @code{cabs} in @ref{Absolute Value}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN hypotfN (_Float@var{N} @var{x}, _Float@var{N} @var{y})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx hypotfNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{hypot}, except for the floating-point
+arguments and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double expm1 (double @var{x})
 @comment math.h
@@ -761,6 +1133,20 @@  to subtraction of two numbers that are nearly equal.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN expm1fN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx expm1fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{expm1}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double log1p (double @var{x})
 @comment math.h
@@ -775,6 +1161,20 @@  They are computed in a way that is accurate even if @var{x} is
 near zero.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN log1pfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx log1pfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{log1p}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex complex exponentiation functions
 @cindex complex logarithm functions
 
@@ -804,6 +1204,20 @@  $$\exp(z) = e^z = e^{{\rm Re}\,z} (\cos ({\rm Im}\,z) + i \sin ({\rm Im}\,z))$$
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} cexpfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} cexpfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cexp}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} clog (complex double @var{z})
 @comment complex.h
@@ -829,6 +1243,20 @@  or is very close to 0.  It is well-defined for all other values of
 @var{z}.
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} clogfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} clogfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{clog}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 
 @comment complex.h
 @comment GNU
@@ -854,6 +1282,21 @@  These functions are GNU extensions.
 @end deftypefun
 
 @comment complex.h
+@comment GNU
+@deftypefun {complex _FloatN} clog10fN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment GNU
+@deftypefunx {complex _FloatNx} clog10fNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{clog10}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} csqrt (complex double @var{z})
 @comment complex.h
@@ -868,6 +1311,20 @@  the real-valued functions, they are defined for all values of @var{z}.
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} csqrtfN (_Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} csqrtfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{csqrt}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} cpow (complex double @var{base}, complex double @var{power})
 @comment complex.h
@@ -881,6 +1338,20 @@  These functions return @var{base} raised to the power of
 @var{power}.  This is equivalent to @w{@code{cexp (y * clog (x))}}
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} cpowfN (complex _Float@var{N} @var{base}, complex _Float@var{N} @var{power})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} cpowfNx (complex _Float@var{N}x @var{base}, complex _Float@var{N}x @var{power})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cpow}, except for the floating-point
+arguments and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @node Hyperbolic Functions
 @section Hyperbolic Functions
 @cindex hyperbolic functions
@@ -904,6 +1375,20 @@  may signal overflow if @var{x} is too large.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN sinhfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx sinhfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{sinh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double cosh (double @var{x})
 @comment math.h
@@ -919,6 +1404,20 @@  They may signal overflow if @var{x} is too large.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN coshfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx coshfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cosh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double tanh (double @var{x})
 @comment math.h
@@ -933,6 +1432,20 @@  defined mathematically as @w{@code{sinh (@var{x}) / cosh (@var{x})}}.
 They may signal overflow if @var{x} is too large.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN tanhfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx tanhfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{tanh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex hyperbolic functions
 
 There are counterparts for the hyperbolic functions which take
@@ -953,6 +1466,20 @@  mathematically as @w{@code{(exp (@var{z}) - exp (-@var{z})) / 2}}.
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} csinhfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} csinhfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{csinh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} ccosh (complex double @var{z})
 @comment complex.h
@@ -967,6 +1494,20 @@  mathematically as @w{@code{(exp (@var{z}) + exp (-@var{z})) / 2}}.
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} ccoshfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} ccoshfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{ccosh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} ctanh (complex double @var{z})
 @comment complex.h
@@ -980,6 +1521,20 @@  These functions return the complex hyperbolic tangent of @var{z},
 defined mathematically as @w{@code{csinh (@var{z}) / ccosh (@var{z})}}.
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} ctanhfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} ctanhfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{ctanh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 
 @cindex inverse hyperbolic functions
 
@@ -998,6 +1553,20 @@  value whose hyperbolic sine is @var{x}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN asinhfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx asinhfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{asinh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double acosh (double @var{x})
 @comment math.h
@@ -1013,6 +1582,20 @@  value whose hyperbolic cosine is @var{x}.  If @var{x} is less than
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN acoshfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx acoshfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{acosh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment ISO
 @deftypefun double atanh (double @var{x})
 @comment math.h
@@ -1028,6 +1611,20 @@  value whose hyperbolic tangent is @var{x}.  If the absolute value of
 if it is equal to 1, @code{atanh} returns infinity.
 @end deftypefun
 
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN atanhfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx atanhfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{atanh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @cindex inverse complex hyperbolic functions
 
 @comment complex.h
@@ -1045,6 +1642,20 @@  These functions return the inverse complex hyperbolic sine of
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} casinhfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} casinhfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{casinh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} cacosh (complex double @var{z})
 @comment complex.h
@@ -1060,6 +1671,20 @@  the real-valued functions, there are no restrictions on the value of @var{z}.
 @end deftypefun
 
 @comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} cacoshfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} cacoshfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{cacosh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment complex.h
 @comment ISO
 @deftypefun {complex double} catanh (complex double @var{z})
 @comment complex.h
@@ -1075,6 +1700,20 @@  the real-valued functions, there are no restrictions on the value of
 @var{z}.
 @end deftypefun
 
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefun {complex _FloatN} catanhfN (complex _Float@var{N} @var{z})
+@comment complex.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx {complex _FloatNx} catanhfNx (complex _Float@var{N}x @var{z})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{catanh}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @node Special Functions
 @section Special Functions
 @cindex special functions
@@ -1107,6 +1746,20 @@  erf (x) = 2/sqrt(pi) * integral from 0 to x of exp(-t^2) dt
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN erffN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx erffNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{erf}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double erfc (double @var{x})
 @comment math.h
@@ -1121,6 +1774,20 @@  fashion that avoids round-off error when @var{x} is large.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN erfcfN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx erfcfNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{erfc}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double lgamma (double @var{x})
 @comment math.h
@@ -1160,6 +1827,20 @@  singularity.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN lgammafN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx lgammafNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{lgamma}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment XPG
 @deftypefun double lgamma_r (double @var{x}, int *@var{signp})
 @comment math.h
@@ -1175,6 +1856,21 @@  instead of in the @var{signgam} global.  This means it is reentrant.
 @end deftypefun
 
 @comment math.h
+@comment GNU
+@deftypefun _FloatN lgammafN_r (_Float@var{N} @var{x}, int *@var{signp})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx lgammafNx_r (_Float@var{N}x @var{x}, int *@var{signp})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{lgamma_r}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double gamma (double @var{x})
 @comment math.h
@@ -1215,6 +1911,20 @@  This function was introduced in @w{ISO C99}.
 @end deftypefun
 
 @comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefun _FloatN tgammafN (_Float@var{N} @var{x})
+@comment math.h
+@comment ISO/IEC TS 18661-3
+@deftypefunx _FloatNx tgammafNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{tgamma}, except for the floating-point
+argument and for the return type.
+
+They were introduced in @w{ISO/IEC TS 18661-3} and are available on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double j0 (double @var{x})
 @comment math.h
@@ -1229,6 +1939,21 @@  This function was introduced in @w{ISO C99}.
 @end deftypefun
 
 @comment math.h
+@comment GNU
+@deftypefun _FloatN j0fN (_Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx j0fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{j0}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double j1 (double @var{x})
 @comment math.h
@@ -1243,6 +1968,21 @@  This function was introduced in @w{ISO C99}.
 @end deftypefun
 
 @comment math.h
+@comment GNU
+@deftypefun _FloatN j1fN (_Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx j1fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{j1}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double jn (int @var{n}, double @var{x})
 @comment math.h
@@ -1257,6 +1997,21 @@  This function was introduced in @w{ISO C99}.
 @end deftypefun
 
 @comment math.h
+@comment GNU
+@deftypefun _FloatN jnfN (int @var{n}, _Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx jnfNx (int @var{n}, _Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{jn}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double y0 (double @var{x})
 @comment math.h
@@ -1273,6 +2028,21 @@  is negative, @code{y0} signals a domain error; if it is zero,
 @end deftypefun
 
 @comment math.h
+@comment GNU
+@deftypefun _FloatN y0fN (_Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx y0fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{y0}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double y1 (double @var{x})
 @comment math.h
@@ -1289,6 +2059,21 @@  is negative, @code{y1} signals a domain error; if it is zero,
 @end deftypefun
 
 @comment math.h
+@comment GNU
+@deftypefun _FloatN y1fN (_Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx y1fNx (_Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{y1}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
+@comment math.h
 @comment SVID
 @deftypefun double yn (int @var{n}, double @var{x})
 @comment math.h
@@ -1304,6 +2089,21 @@  is negative, @code{yn} signals a domain error; if it is zero,
 @code{yn} signals overflow and returns @math{-@infinity}.
 @end deftypefun
 
+@comment math.h
+@comment GNU
+@deftypefun _FloatN ynfN (int @var{n}, _Float@var{N} @var{x})
+@comment math.h
+@comment GNU
+@deftypefunx _FloatNx ynfNx (int @var{n}, _Float@var{N}x @var{x})
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions are like @code{yn}, except for the floating-point
+argument and for the return type.
+
+They are not defined in any standard and are available to provided
+completeness for the non-deprecated interface of math functions on
+machines that support the related types; @pxref{Mathematics}.
+@end deftypefun
+
 @node Errors in Math Functions
 @section Known Maximum Errors in Math Functions
 @cindex math errors