Blame math/bits/mathcalls.h

Packit 6c4009
/* Prototype declarations for math functions; helper file for <math.h>.
Packit 6c4009
   Copyright (C) 1996-2018 Free Software Foundation, Inc.
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public
Packit 6c4009
   License as published by the Free Software Foundation; either
Packit 6c4009
   version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library; if not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
/* NOTE: Because of the special way this file is used by <math.h>, this
Packit 6c4009
   file must NOT be protected from multiple inclusion as header files
Packit 6c4009
   usually are.
Packit 6c4009
Packit 6c4009
   This file provides prototype declarations for the math functions.
Packit 6c4009
   Most functions are declared using the macro:
Packit 6c4009
Packit 6c4009
   __MATHCALL (NAME,[_r], (ARGS...));
Packit 6c4009
Packit 6c4009
   This means there is a function `NAME' returning `double' and a function
Packit 6c4009
   `NAMEf' returning `float'.  Each place `_Mdouble_' appears in the
Packit 6c4009
   prototype, that is actually `double' in the prototype for `NAME' and
Packit 6c4009
   `float' in the prototype for `NAMEf'.  Reentrant variant functions are
Packit 6c4009
   called `NAME_r' and `NAMEf_r'.
Packit 6c4009
Packit 6c4009
   Functions returning other types like `int' are declared using the macro:
Packit 6c4009
Packit 6c4009
   __MATHDECL (TYPE, NAME,[_r], (ARGS...));
Packit 6c4009
Packit 6c4009
   This is just like __MATHCALL but for a function returning `TYPE'
Packit 6c4009
   instead of `_Mdouble_'.  In all of these cases, there is still
Packit 6c4009
   both a `NAME' and a `NAMEf' that takes `float' arguments.
Packit 6c4009
Packit 6c4009
   Note that there must be no whitespace before the argument passed for
Packit 6c4009
   NAME, to make token pasting work with -traditional.  */
Packit 6c4009
Packit 6c4009
#ifndef _MATH_H
Packit 6c4009
# error "Never include <bits/mathcalls.h> directly; include <math.h> instead."
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Trigonometric functions.  */
Packit 6c4009
Packit 6c4009
/* Arc cosine of X.  */
Packit 6c4009
__MATHCALL (acos,, (_Mdouble_ __x));
Packit 6c4009
/* Arc sine of X.  */
Packit 6c4009
__MATHCALL (asin,, (_Mdouble_ __x));
Packit 6c4009
/* Arc tangent of X.  */
Packit 6c4009
__MATHCALL (atan,, (_Mdouble_ __x));
Packit 6c4009
/* Arc tangent of Y/X.  */
Packit 6c4009
__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Cosine of X.  */
Packit 6c4009
__MATHCALL_VEC (cos,, (_Mdouble_ __x));
Packit 6c4009
/* Sine of X.  */
Packit 6c4009
__MATHCALL_VEC (sin,, (_Mdouble_ __x));
Packit 6c4009
/* Tangent of X.  */
Packit 6c4009
__MATHCALL (tan,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Hyperbolic functions.  */
Packit 6c4009
Packit 6c4009
/* Hyperbolic cosine of X.  */
Packit 6c4009
__MATHCALL (cosh,, (_Mdouble_ __x));
Packit 6c4009
/* Hyperbolic sine of X.  */
Packit 6c4009
__MATHCALL (sinh,, (_Mdouble_ __x));
Packit 6c4009
/* Hyperbolic tangent of X.  */
Packit 6c4009
__MATHCALL (tanh,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
#ifdef __USE_GNU
Packit 6c4009
/* Cosine and sine of X.  */
Packit 6c4009
__MATHDECL_VEC (void,sincos,,
Packit 6c4009
		(_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
Packit 6c4009
/* Hyperbolic arc cosine of X.  */
Packit 6c4009
__MATHCALL (acosh,, (_Mdouble_ __x));
Packit 6c4009
/* Hyperbolic arc sine of X.  */
Packit 6c4009
__MATHCALL (asinh,, (_Mdouble_ __x));
Packit 6c4009
/* Hyperbolic arc tangent of X.  */
Packit 6c4009
__MATHCALL (atanh,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* Exponential and logarithmic functions.  */
Packit 6c4009
Packit 6c4009
/* Exponential function of X.  */
Packit 6c4009
__MATHCALL_VEC (exp,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Break VALUE into a normalized fraction and an integral power of 2.  */
Packit 6c4009
__MATHCALL (frexp,, (_Mdouble_ __x, int *__exponent));
Packit 6c4009
Packit 6c4009
/* X times (two to the EXP power).  */
Packit 6c4009
__MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent));
Packit 6c4009
Packit 6c4009
/* Natural logarithm of X.  */
Packit 6c4009
__MATHCALL_VEC (log,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Base-ten logarithm of X.  */
Packit 6c4009
__MATHCALL (log10,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Break VALUE into integral and fractional parts.  */
Packit 6c4009
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
Packit 6c4009
Packit 6c4009
#if __GLIBC_USE (IEC_60559_FUNCS_EXT)
Packit 6c4009
/* Compute exponent to base ten.  */
Packit 6c4009
__MATHCALL (exp10,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
Packit 6c4009
/* Return exp(X) - 1.  */
Packit 6c4009
__MATHCALL (expm1,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Return log(1 + X).  */
Packit 6c4009
__MATHCALL (log1p,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Return the base 2 signed integral exponent of X.  */
Packit 6c4009
__MATHCALL (logb,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#ifdef __USE_ISOC99
Packit 6c4009
/* Compute base-2 exponential of X.  */
Packit 6c4009
__MATHCALL (exp2,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Compute base-2 logarithm of X.  */
Packit 6c4009
__MATHCALL (log2,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Power functions.  */
Packit 6c4009
Packit 6c4009
/* Return X to the Y power.  */
Packit 6c4009
__MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
Packit 6c4009
/* Return the square root of X.  */
Packit 6c4009
__MATHCALL (sqrt,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
#if defined __USE_XOPEN || defined __USE_ISOC99
Packit 6c4009
/* Return `sqrt(X*X + Y*Y)'.  */
Packit 6c4009
__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
Packit 6c4009
/* Return the cube root of X.  */
Packit 6c4009
__MATHCALL (cbrt,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Nearest integer, absolute value, and remainder functions.  */
Packit 6c4009
Packit 6c4009
/* Smallest integral value not less than X.  */
Packit 6c4009
__MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
Packit 6c4009
Packit 6c4009
/* Absolute value of X.  */
Packit 6c4009
__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__));
Packit 6c4009
Packit 6c4009
/* Largest integer not greater than X.  */
Packit 6c4009
__MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
Packit 6c4009
Packit 6c4009
/* Floating-point modulo remainder of X/Y.  */
Packit 6c4009
__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
Packit 6c4009
#ifdef __USE_MISC
Packit 6c4009
# if ((!defined __cplusplus \
Packit 6c4009
       || __cplusplus < 201103L /* isinf conflicts with C++11.  */ \
Packit 6c4009
       || __MATH_DECLARING_DOUBLE == 0)) /* isinff or isinfl don't.  */ \
Packit 6c4009
      && !__MATH_DECLARING_FLOATN
Packit 6c4009
/* Return 0 if VALUE is finite or NaN, +1 if it
Packit 6c4009
   is +Infinity, -1 if it is -Infinity.  */
Packit 6c4009
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
# if !__MATH_DECLARING_FLOATN
Packit 6c4009
/* Return nonzero if VALUE is finite and not NaN.  */
Packit 6c4009
__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
Packit 6c4009
Packit 6c4009
/* Return the remainder of X/Y.  */
Packit 6c4009
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Return the fractional part of X after dividing out `ilogb (X)'.  */
Packit 6c4009
__MATHCALL (significand,, (_Mdouble_ __x));
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
#endif /* Use misc.  */
Packit 6c4009
Packit 6c4009
#ifdef __USE_ISOC99
Packit 6c4009
/* Return X with its signed changed to Y's.  */
Packit 6c4009
__MATHCALLX (copysign,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#ifdef __USE_ISOC99
Packit 6c4009
/* Return representation of qNaN for double type.  */
Packit 6c4009
__MATHCALL (nan,, (const char *__tagb));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
Packit 6c4009
# if ((!defined __cplusplus \
Packit 6c4009
       || __cplusplus < 201103L /* isnan conflicts with C++11.  */ \
Packit 6c4009
       || __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't.  */ \
Packit 6c4009
      && !__MATH_DECLARING_FLOATN
Packit 6c4009
/* Return nonzero if VALUE is not a number.  */
Packit 6c4009
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
Packit 6c4009
# endif
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if defined __USE_MISC || (defined __USE_XOPEN && __MATH_DECLARING_DOUBLE)
Packit 6c4009
/* Bessel functions.  */
Packit 6c4009
__MATHCALL (j0,, (_Mdouble_));
Packit 6c4009
__MATHCALL (j1,, (_Mdouble_));
Packit 6c4009
__MATHCALL (jn,, (int, _Mdouble_));
Packit 6c4009
__MATHCALL (y0,, (_Mdouble_));
Packit 6c4009
__MATHCALL (y1,, (_Mdouble_));
Packit 6c4009
__MATHCALL (yn,, (int, _Mdouble_));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
#if defined __USE_XOPEN || defined __USE_ISOC99
Packit 6c4009
/* Error and gamma functions.  */
Packit 6c4009
__MATHCALL (erf,, (_Mdouble_));
Packit 6c4009
__MATHCALL (erfc,, (_Mdouble_));
Packit 6c4009
__MATHCALL (lgamma,, (_Mdouble_));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#ifdef __USE_ISOC99
Packit 6c4009
/* True gamma function.  */
Packit 6c4009
__MATHCALL (tgamma,, (_Mdouble_));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
Packit 6c4009
# if !__MATH_DECLARING_FLOATN
Packit 6c4009
/* Obsolete alias for `lgamma'.  */
Packit 6c4009
__MATHCALL (gamma,, (_Mdouble_));
Packit 6c4009
# endif
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#ifdef __USE_MISC
Packit 6c4009
/* Reentrant version of lgamma.  This function uses the global variable
Packit 6c4009
   `signgam'.  The reentrant version instead takes a pointer and stores
Packit 6c4009
   the value through it.  */
Packit 6c4009
__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
Packit 6c4009
/* Return the integer nearest X in the direction of the
Packit 6c4009
   prevailing rounding mode.  */
Packit 6c4009
__MATHCALL (rint,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Return X + epsilon if X < Y, X - epsilon if X > Y.  */
Packit 6c4009
__MATHCALL (nextafter,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
# if defined __USE_ISOC99 && !defined __LDBL_COMPAT && !__MATH_DECLARING_FLOATN
Packit 6c4009
__MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y));
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
# if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
Packit 6c4009
/* Return X - epsilon.  */
Packit 6c4009
__MATHCALL (nextdown,, (_Mdouble_ __x));
Packit 6c4009
/* Return X + epsilon.  */
Packit 6c4009
__MATHCALL (nextup,, (_Mdouble_ __x));
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
/* Return the remainder of integer divison X / Y with infinite precision.  */
Packit 6c4009
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
Packit 6c4009
# ifdef __USE_ISOC99
Packit 6c4009
/* Return X times (2 to the Nth power).  */
Packit 6c4009
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
Packit 6c4009
# endif
Packit 6c4009
Packit 6c4009
/* Return the binary exponent of X, which must be nonzero.  */
Packit 6c4009
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
Packit 6c4009
/* Like ilogb, but returning long int.  */
Packit 6c4009
__MATHDECL (long int, llogb,, (_Mdouble_ __x));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#ifdef __USE_ISOC99
Packit 6c4009
/* Return X times (2 to the Nth power).  */
Packit 6c4009
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
Packit 6c4009
Packit 6c4009
/* Round X to integral value in floating-point format using current
Packit 6c4009
   rounding direction, but do not raise inexact exception.  */
Packit 6c4009
__MATHCALL (nearbyint,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Round X to nearest integral value, rounding halfway cases away from
Packit 6c4009
   zero.  */
Packit 6c4009
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
Packit 6c4009
Packit 6c4009
/* Round X to the integral value in floating-point format nearest but
Packit 6c4009
   not larger in magnitude.  */
Packit 6c4009
__MATHCALLX (trunc,, (_Mdouble_ __x), (__const__));
Packit 6c4009
Packit 6c4009
/* Compute remainder of X and Y and put in *QUO a value with sign of x/y
Packit 6c4009
   and magnitude congruent `mod 2^n' to the magnitude of the integral
Packit 6c4009
   quotient x/y, with n >= 3.  */
Packit 6c4009
__MATHCALL (remquo,, (_Mdouble_ __x, _Mdouble_ __y, int *__quo));
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Conversion functions.  */
Packit 6c4009
Packit 6c4009
/* Round X to nearest integral value according to current rounding
Packit 6c4009
   direction.  */
Packit 6c4009
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
Packit 6c4009
__extension__
Packit 6c4009
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
/* Round X to nearest integral value, rounding halfway cases away from
Packit 6c4009
   zero.  */
Packit 6c4009
__MATHDECL (long int,lround,, (_Mdouble_ __x));
Packit 6c4009
__extension__
Packit 6c4009
__MATHDECL (long long int,llround,, (_Mdouble_ __x));
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Return positive difference between X and Y.  */
Packit 6c4009
__MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y));
Packit 6c4009
Packit 6c4009
/* Return maximum numeric value from X and Y.  */
Packit 6c4009
__MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
Packit 6c4009
Packit 6c4009
/* Return minimum numeric value from X and Y.  */
Packit 6c4009
__MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
Packit 6c4009
Packit 6c4009
/* Multiply-add function computed as a ternary operation.  */
Packit 6c4009
__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
Packit 6c4009
#endif /* Use ISO C99.  */
Packit 6c4009
Packit 6c4009
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __MATH_DECLARING_FLOATN
Packit 6c4009
/* Round X to nearest integer value, rounding halfway cases to even.  */
Packit 6c4009
__MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__));
Packit 6c4009
Packit 6c4009
/* Round X to nearest signed integer value, not raising inexact, with
Packit 6c4009
   control of rounding direction and width of result.  */
Packit 6c4009
__MATHDECL (__intmax_t, fromfp,, (_Mdouble_ __x, int __round,
Packit 6c4009
				  unsigned int __width));
Packit 6c4009
Packit 6c4009
/* Round X to nearest unsigned integer value, not raising inexact,
Packit 6c4009
   with control of rounding direction and width of result.  */
Packit 6c4009
__MATHDECL (__uintmax_t, ufromfp,, (_Mdouble_ __x, int __round,
Packit 6c4009
				    unsigned int __width));
Packit 6c4009
Packit 6c4009
/* Round X to nearest signed integer value, raising inexact for
Packit 6c4009
   non-integers, with control of rounding direction and width of
Packit 6c4009
   result.  */
Packit 6c4009
__MATHDECL (__intmax_t, fromfpx,, (_Mdouble_ __x, int __round,
Packit 6c4009
				   unsigned int __width));
Packit 6c4009
Packit 6c4009
/* Round X to nearest unsigned integer value, raising inexact for
Packit 6c4009
   non-integers, with control of rounding direction and width of
Packit 6c4009
   result.  */
Packit 6c4009
__MATHDECL (__uintmax_t, ufromfpx,, (_Mdouble_ __x, int __round,
Packit 6c4009
				     unsigned int __width));
Packit 6c4009
Packit 6c4009
/* Return value with maximum magnitude.  */
Packit 6c4009
__MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
Packit 6c4009
Packit 6c4009
/* Return value with minimum magnitude.  */
Packit 6c4009
__MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
Packit 6c4009
Packit 6c4009
/* Total order operation.  */
Packit 6c4009
__MATHDECL_1 (int, totalorder,, (_Mdouble_ __x, _Mdouble_ __y))
Packit 6c4009
     __attribute__ ((__const__));
Packit 6c4009
Packit 6c4009
/* Total order operation on absolute values.  */
Packit 6c4009
__MATHDECL_1 (int, totalordermag,, (_Mdouble_ __x, _Mdouble_ __y))
Packit 6c4009
     __attribute__ ((__const__));
Packit 6c4009
Packit 6c4009
/* Canonicalize floating-point representation.  */
Packit 6c4009
__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x));
Packit 6c4009
Packit 6c4009
/* Get NaN payload.  */
Packit 6c4009
__MATHCALL (getpayload,, (const _Mdouble_ *__x));
Packit 6c4009
Packit 6c4009
/* Set quiet NaN payload.  */
Packit 6c4009
__MATHDECL_1 (int, setpayload,, (_Mdouble_ *__x, _Mdouble_ __payload));
Packit 6c4009
Packit 6c4009
/* Set signaling NaN payload.  */
Packit 6c4009
__MATHDECL_1 (int, setpayloadsig,, (_Mdouble_ *__x, _Mdouble_ __payload));
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
Packit 6c4009
			    && __MATH_DECLARING_DOUBLE	  \
Packit 6c4009
			    && !defined __USE_XOPEN2K8))  \
Packit 6c4009
     && !__MATH_DECLARING_FLOATN
Packit 6c4009
/* Return X times (2 to the Nth power).  */
Packit 6c4009
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
Packit 6c4009
#endif