/* config.h.in.  Generated automatically from configure.in by autoheader.  */

/* Define if you have a working `mmap' system call.  */
#undef HAVE_MMAP

// Define if GCC supports weak symbols.
#undef _GLIBCPP_SUPPORTS_WEAK

// Include I/O support for 'long long' and 'unsigned long long'.
#undef _GLIBCPP_USE_LONG_LONG

// Define if C99 features such as lldiv_t, llabs, lldiv should be exposed.
#undef _GLIBCPP_USE_C99

// Define if code specialized for wchar_t should be used.
#undef _GLIBCPP_USE_WCHAR_T

// Define if using setrlimit to limit memory usage during 'make check'.
#undef _GLIBCPP_MEM_LIMITS

// Define to use concept checking code from the boost libraries.
#undef _GLIBCPP_CONCEPT_CHECKS

// Define to use symbol versioning in the shared library.
#undef _GLIBCPP_SYMVER

// Define symbol versioning in assember directives. If symbol
// versioning is beigng used, and the assembler supports this kind of
// thing, then use it.
// NB: _GLIBCPP_AT_AT is a hack to work around quoting issues in m4.
#if _GLIBCPP_SYMVER
  #define _GLIBCPP_ASM_SYMVER(cur, old, version) \
   asm (".symver " #cur "," #old _GLIBCPP_AT_AT #version);
#else
  #define _GLIBCPP_ASM_SYMVER(cur, old, version)
#endif

// Define if gthr-default.h exists (meaning that threading support is enabled).
#undef HAVE_GTHR_DEFAULT

// Define if drand48 exists.
#undef HAVE_DRAND48

// Define if getpagesize exists.
#undef HAVE_GETPAGESIZE

// Define if setenv exists.
#undef HAVE_SETENV

// Define if sigsetjmp exists.
#undef HAVE_SIGSETJMP

// Define if mbstate_t exists in wchar.h.
#undef HAVE_MBSTATE_T

// Define if you have the modff function.
#undef HAVE_MODFF

// Define if you have the modfl function.
#undef HAVE_MODFL

// Define if you have the expf function.
#undef HAVE_EXPF

// Define if you have the expl function.
#undef HAVE_EXPL

// Define if you have the hypotf function.
#undef HAVE_HYPOTF

// Define if you have the hypotl function.
#undef HAVE_HYPOTL

// Define if the compiler/host combination has __builtin_abs
#undef HAVE___BUILTIN_ABS

// Define if the compiler/host combination has __builtin_labs
#undef HAVE___BUILTIN_LABS

// Define if the compiler/host combination has __builtin_cos
#undef HAVE___BUILTIN_COS

// Define if the compiler/host combination has __builtin_cosf
#undef HAVE___BUILTIN_COSF

// Define if the compiler/host combination has __builtin_cosl
#undef HAVE___BUILTIN_COSL

// Define if the compiler/host combination has __builtin_fabs
#undef HAVE___BUILTIN_FABS

// Define if the compiler/host combination has __builtin_fabsf
#undef HAVE___BUILTIN_FABSF

// Define if the compiler/host combination has __builtin_fabsl
#undef HAVE___BUILTIN_FABSL

// Define if the compiler/host combination has __builtin_sin
#undef HAVE___BUILTIN_SIN

// Define if the compiler/host combination has __builtin_sinf
#undef HAVE___BUILTIN_SINF

// Define if the compiler/host combination has __builtin_sinl
#undef HAVE___BUILTIN_SINL

// Define if the compiler/host combination has __builtin_sqrt
#undef HAVE___BUILTIN_SQRT

// Define if the compiler/host combination has __builtin_sqrtf
#undef HAVE___BUILTIN_SQRTF

// Define if the compiler/host combination has __builtin_sqrtl
#undef HAVE___BUILTIN_SQRTL

// Define if poll is available in <poll.h>.
#undef HAVE_POLL

// Define if S_ISREG (Posix) is available in <sys/stat.h>.
#undef HAVE_S_ISREG

// Define if S_IFREG is available in <sys/stat.h>.
#undef HAVE_S_IFREG

// Define if LC_MESSAGES is available in <locale.h>.
#undef HAVE_LC_MESSAGES

/* Define if you have the __signbit function.  */
#undef HAVE___SIGNBIT

/* Define if you have the __signbitf function.  */
#undef HAVE___SIGNBITF

/* Define if you have the __signbitl function.  */
#undef HAVE___SIGNBITL

/* Define if you have the _acosf function.  */
#undef HAVE__ACOSF

/* Define if you have the _acosl function.  */
#undef HAVE__ACOSL

/* Define if you have the _asinf function.  */
#undef HAVE__ASINF

/* Define if you have the _asinl function.  */
#undef HAVE__ASINL

/* Define if you have the _atan2f function.  */
#undef HAVE__ATAN2F

/* Define if you have the _atan2l function.  */
#undef HAVE__ATAN2L

/* Define if you have the _atanf function.  */
#undef HAVE__ATANF

/* Define if you have the _atanl function.  */
#undef HAVE__ATANL

/* Define if you have the _ceilf function.  */
#undef HAVE__CEILF

/* Define if you have the _ceill function.  */
#undef HAVE__CEILL

/* Define if you have the _copysign function.  */
#undef HAVE__COPYSIGN

/* Define if you have the _copysignl function.  */
#undef HAVE__COPYSIGNL

/* Define if you have the _cosf function.  */
#undef HAVE__COSF

/* Define if you have the _coshf function.  */
#undef HAVE__COSHF

/* Define if you have the _coshl function.  */
#undef HAVE__COSHL

/* Define if you have the _cosl function.  */
#undef HAVE__COSL

/* Define if you have the _expf function.  */
#undef HAVE__EXPF

/* Define if you have the _expl function.  */
#undef HAVE__EXPL

/* Define if you have the _fabsf function.  */
#undef HAVE__FABSF

/* Define if you have the _fabsl function.  */
#undef HAVE__FABSL

/* Define if you have the _finite function.  */
#undef HAVE__FINITE

/* Define if you have the _finitef function.  */
#undef HAVE__FINITEF

/* Define if you have the _finitel function.  */
#undef HAVE__FINITEL

/* Define if you have the _floorf function.  */
#undef HAVE__FLOORF

/* Define if you have the _floorl function.  */
#undef HAVE__FLOORL

/* Define if you have the _fmodf function.  */
#undef HAVE__FMODF

/* Define if you have the _fmodl function.  */
#undef HAVE__FMODL

/* Define if you have the _fpclass function.  */
#undef HAVE__FPCLASS

/* Define if you have the _frexpf function.  */
#undef HAVE__FREXPF

/* Define if you have the _frexpl function.  */
#undef HAVE__FREXPL

/* Define if you have the _hypot function.  */
#undef HAVE__HYPOT

/* Define if you have the _hypotf function.  */
#undef HAVE__HYPOTF

/* Define if you have the _hypotl function.  */
#undef HAVE__HYPOTL

/* Define if you have the _isinf function.  */
#undef HAVE__ISINF

/* Define if you have the _isinff function.  */
#undef HAVE__ISINFF

/* Define if you have the _isinfl function.  */
#undef HAVE__ISINFL

/* Define if you have the _isnan function.  */
#undef HAVE__ISNAN

/* Define if you have the _isnanf function.  */
#undef HAVE__ISNANF

/* Define if you have the _isnanl function.  */
#undef HAVE__ISNANL

/* Define if you have the _ldexpf function.  */
#undef HAVE__LDEXPF

/* Define if you have the _ldexpl function.  */
#undef HAVE__LDEXPL

/* Define if you have the _log10f function.  */
#undef HAVE__LOG10F

/* Define if you have the _log10l function.  */
#undef HAVE__LOG10L

/* Define if you have the _logf function.  */
#undef HAVE__LOGF

/* Define if you have the _logl function.  */
#undef HAVE__LOGL

/* Define if you have the _modff function.  */
#undef HAVE__MODFF

/* Define if you have the _modfl function.  */
#undef HAVE__MODFL

/* Define if you have the _powf function.  */
#undef HAVE__POWF

/* Define if you have the _powl function.  */
#undef HAVE__POWL

/* Define if you have the _qfpclass function.  */
#undef HAVE__QFPCLASS

/* Define if you have the _sincos function.  */
#undef HAVE__SINCOS

/* Define if you have the _sincosf function.  */
#undef HAVE__SINCOSF

/* Define if you have the _sincosl function.  */
#undef HAVE__SINCOSL

/* Define if you have the _sinf function.  */
#undef HAVE__SINF

/* Define if you have the _sinhf function.  */
#undef HAVE__SINHF

/* Define if you have the _sinhl function.  */
#undef HAVE__SINHL

/* Define if you have the _sinl function.  */
#undef HAVE__SINL

/* Define if you have the _sqrtf function.  */
#undef HAVE__SQRTF

/* Define if you have the _sqrtl function.  */
#undef HAVE__SQRTL

/* Define if you have the _tanf function.  */
#undef HAVE__TANF

/* Define if you have the _tanhf function.  */
#undef HAVE__TANHF

/* Define if you have the _tanhl function.  */
#undef HAVE__TANHL

/* Define if you have the _tanl function.  */
#undef HAVE__TANL

/* Define if you have the acosf function.  */
#undef HAVE_ACOSF

/* Define if you have the acosl function.  */
#undef HAVE_ACOSL

/* Define if you have the asinf function.  */
#undef HAVE_ASINF

/* Define if you have the asinl function.  */
#undef HAVE_ASINL

/* Define if you have the atan2f function.  */
#undef HAVE_ATAN2F

/* Define if you have the atan2l function.  */
#undef HAVE_ATAN2L

/* Define if you have the atanf function.  */
#undef HAVE_ATANF

/* Define if you have the atanl function.  */
#undef HAVE_ATANL

/* Define if you have the btowc function.  */
#undef HAVE_BTOWC

/* Define if you have the ceilf function.  */
#undef HAVE_CEILF

/* Define if you have the ceill function.  */
#undef HAVE_CEILL

/* Define if you have the copysign function.  */
#undef HAVE_COPYSIGN

/* Define if you have the copysignf function.  */
#undef HAVE_COPYSIGNF

/* Define if you have the copysignl function.  */
#undef HAVE_COPYSIGNL

/* Define if you have the cosf function.  */
#undef HAVE_COSF

/* Define if you have the coshf function.  */
#undef HAVE_COSHF

/* Define if you have the coshl function.  */
#undef HAVE_COSHL

/* Define if you have the cosl function.  */
#undef HAVE_COSL

/* Define if you have the drand48 function.  */
#undef HAVE_DRAND48

/* Define if you have the expf function.  */
#undef HAVE_EXPF

/* Define if you have the expl function.  */
#undef HAVE_EXPL

/* Define if you have the fabsf function.  */
#undef HAVE_FABSF

/* Define if you have the fabsl function.  */
#undef HAVE_FABSL

/* Define if you have the fgetwc function.  */
#undef HAVE_FGETWC

/* Define if you have the fgetws function.  */
#undef HAVE_FGETWS

/* Define if you have the finite function.  */
#undef HAVE_FINITE

/* Define if you have the finitef function.  */
#undef HAVE_FINITEF

/* Define if you have the finitel function.  */
#undef HAVE_FINITEL

/* Define if you have the floorf function.  */
#undef HAVE_FLOORF

/* Define if you have the floorl function.  */
#undef HAVE_FLOORL

/* Define if you have the fmodf function.  */
#undef HAVE_FMODF

/* Define if you have the fmodl function.  */
#undef HAVE_FMODL

/* Define if you have the fpclass function.  */
#undef HAVE_FPCLASS

/* Define if you have the fputwc function.  */
#undef HAVE_FPUTWC

/* Define if you have the fputws function.  */
#undef HAVE_FPUTWS

/* Define if you have the frexpf function.  */
#undef HAVE_FREXPF

/* Define if you have the frexpl function.  */
#undef HAVE_FREXPL

/* Define if you have the fwide function.  */
#undef HAVE_FWIDE

/* Define if you have the fwprintf function.  */
#undef HAVE_FWPRINTF

/* Define if you have the fwscanf function.  */
#undef HAVE_FWSCANF

/* Define if you have the getpagesize function.  */
#undef HAVE_GETPAGESIZE

/* Define if you have the getwc function.  */
#undef HAVE_GETWC

/* Define if you have the getwchar function.  */
#undef HAVE_GETWCHAR

/* Define if you have the hypot function.  */
#undef HAVE_HYPOT

/* Define if you have the hypotf function.  */
#undef HAVE_HYPOTF

/* Define if you have the hypotl function.  */
#undef HAVE_HYPOTL

/* Define if you have the iconv function.  */
#undef HAVE_ICONV

/* Define if you have the iconv_close function.  */
#undef HAVE_ICONV_CLOSE

/* Define if you have the iconv_open function.  */
#undef HAVE_ICONV_OPEN

/* Define if you have the isatty function.  */
#undef HAVE_ISATTY

/* Define if you have the isinf function.  */
#undef HAVE_ISINF

/* Define if you have the isinff function.  */
#undef HAVE_ISINFF

/* Define if you have the isinfl function.  */
#undef HAVE_ISINFL

/* Define if you have the isnan function.  */
#undef HAVE_ISNAN

/* Define if you have the isnanf function.  */
#undef HAVE_ISNANF

/* Define if you have the isnanl function.  */
#undef HAVE_ISNANL

/* Define if you have the ldexpf function.  */
#undef HAVE_LDEXPF

/* Define if you have the ldexpl function.  */
#undef HAVE_LDEXPL

/* Define if you have the log10f function.  */
#undef HAVE_LOG10F

/* Define if you have the log10l function.  */
#undef HAVE_LOG10L

/* Define if you have the logf function.  */
#undef HAVE_LOGF

/* Define if you have the logl function.  */
#undef HAVE_LOGL

/* Define if you have the mbrlen function.  */
#undef HAVE_MBRLEN

/* Define if you have the mbrtowc function.  */
#undef HAVE_MBRTOWC

/* Define if you have the mbsinit function.  */
#undef HAVE_MBSINIT

/* Define if you have the mbsrtowcs function.  */
#undef HAVE_MBSRTOWCS

/* Define if you have the modff function.  */
#undef HAVE_MODFF

/* Define if you have the modfl function.  */
#undef HAVE_MODFL

/* Define if you have the nan function.  */
#undef HAVE_NAN

/* Define if you have the nl_langinfo function.  */
#undef HAVE_NL_LANGINFO

/* Define if you have the powf function.  */
#undef HAVE_POWF

/* Define if you have the powl function.  */
#undef HAVE_POWL

/* Define if you have the putwc function.  */
#undef HAVE_PUTWC

/* Define if you have the putwchar function.  */
#undef HAVE_PUTWCHAR

/* Define if you have the qfpclass function.  */
#undef HAVE_QFPCLASS

/* Define if you have the setenv function.  */
#undef HAVE_SETENV

/* Define if you have the sincos function.  */
#undef HAVE_SINCOS

/* Define if you have the sincosf function.  */
#undef HAVE_SINCOSF

/* Define if you have the sincosl function.  */
#undef HAVE_SINCOSL

/* Define if you have the sinf function.  */
#undef HAVE_SINF

/* Define if you have the sinhf function.  */
#undef HAVE_SINHF

/* Define if you have the sinhl function.  */
#undef HAVE_SINHL

/* Define if you have the sinl function.  */
#undef HAVE_SINL

/* Define if you have the sqrtf function.  */
#undef HAVE_SQRTF

/* Define if you have the sqrtl function.  */
#undef HAVE_SQRTL

/* Define if you have the strtof function.  */
#undef HAVE_STRTOF

/* Define if you have the strtold function.  */
#undef HAVE_STRTOLD

/* Define if you have the swprintf function.  */
#undef HAVE_SWPRINTF

/* Define if you have the swscanf function.  */
#undef HAVE_SWSCANF

/* Define if you have the tanf function.  */
#undef HAVE_TANF

/* Define if you have the tanhf function.  */
#undef HAVE_TANHF

/* Define if you have the tanhl function.  */
#undef HAVE_TANHL

/* Define if you have the tanl function.  */
#undef HAVE_TANL

/* Define if you have the ungetwc function.  */
#undef HAVE_UNGETWC

/* Define if you have the vfwprintf function.  */
#undef HAVE_VFWPRINTF

/* Define if you have the vfwscanf function.  */
#undef HAVE_VFWSCANF

/* Define if you have the vswprintf function.  */
#undef HAVE_VSWPRINTF

/* Define if you have the vswscanf function.  */
#undef HAVE_VSWSCANF

/* Define if you have the vwprintf function.  */
#undef HAVE_VWPRINTF

/* Define if you have the vwscanf function.  */
#undef HAVE_VWSCANF

/* Define if you have the wcrtomb function.  */
#undef HAVE_WCRTOMB

/* Define if you have the wcscat function.  */
#undef HAVE_WCSCAT

/* Define if you have the wcschr function.  */
#undef HAVE_WCSCHR

/* Define if you have the wcscmp function.  */
#undef HAVE_WCSCMP

/* Define if you have the wcscoll function.  */
#undef HAVE_WCSCOLL

/* Define if you have the wcscpy function.  */
#undef HAVE_WCSCPY

/* Define if you have the wcscspn function.  */
#undef HAVE_WCSCSPN

/* Define if you have the wcsftime function.  */
#undef HAVE_WCSFTIME

/* Define if you have the wcslen function.  */
#undef HAVE_WCSLEN

/* Define if you have the wcsncat function.  */
#undef HAVE_WCSNCAT

/* Define if you have the wcsncmp function.  */
#undef HAVE_WCSNCMP

/* Define if you have the wcsncpy function.  */
#undef HAVE_WCSNCPY

/* Define if you have the wcspbrk function.  */
#undef HAVE_WCSPBRK

/* Define if you have the wcsrchr function.  */
#undef HAVE_WCSRCHR

/* Define if you have the wcsrtombs function.  */
#undef HAVE_WCSRTOMBS

/* Define if you have the wcsspn function.  */
#undef HAVE_WCSSPN

/* Define if you have the wcsstr function.  */
#undef HAVE_WCSSTR

/* Define if you have the wcstod function.  */
#undef HAVE_WCSTOD

/* Define if you have the wcstof function.  */
#undef HAVE_WCSTOF

/* Define if you have the wcstok function.  */
#undef HAVE_WCSTOK

/* Define if you have the wcstol function.  */
#undef HAVE_WCSTOL

/* Define if you have the wcstoul function.  */
#undef HAVE_WCSTOUL

/* Define if you have the wcsxfrm function.  */
#undef HAVE_WCSXFRM

/* Define if you have the wctob function.  */
#undef HAVE_WCTOB

/* Define if you have the wmemchr function.  */
#undef HAVE_WMEMCHR

/* Define if you have the wmemcmp function.  */
#undef HAVE_WMEMCMP

/* Define if you have the wmemcpy function.  */
#undef HAVE_WMEMCPY

/* Define if you have the wmemmove function.  */
#undef HAVE_WMEMMOVE

/* Define if you have the wmemset function.  */
#undef HAVE_WMEMSET

/* Define if you have the wprintf function.  */
#undef HAVE_WPRINTF

/* Define if you have the wscanf function.  */
#undef HAVE_WSCANF

/* Define if you have the <endian.h> header file.  */
#undef HAVE_ENDIAN_H

/* Define if you have the <float.h> header file.  */
#undef HAVE_FLOAT_H

/* Define if you have the <fp.h> header file.  */
#undef HAVE_FP_H

/* Define if you have the <gconv.h> header file.  */
#undef HAVE_GCONV_H

/* Define if you have the <ieeefp.h> header file.  */
#undef HAVE_IEEEFP_H

/* Define if you have the <inttypes.h> header file.  */
#undef HAVE_INTTYPES_H

/* Define if you have the <locale.h> header file.  */
#undef HAVE_LOCALE_H

/* Define if you have the <machine/endian.h> header file.  */
#undef HAVE_MACHINE_ENDIAN_H

/* Define if you have the <machine/param.h> header file.  */
#undef HAVE_MACHINE_PARAM_H

/* Define if you have the <nan.h> header file.  */
#undef HAVE_NAN_H

/* Define if you have the <stdlib.h> header file.  */
#undef HAVE_STDLIB_H

/* Define if you have the <string.h> header file.  */
#undef HAVE_STRING_H

/* Define if you have the <sys/filio.h> header file.  */
#undef HAVE_SYS_FILIO_H

/* Define if you have the <sys/ioctl.h> header file.  */
#undef HAVE_SYS_IOCTL_H

/* Define if you have the <sys/isa_defs.h> header file.  */
#undef HAVE_SYS_ISA_DEFS_H

/* Define if you have the <sys/machine.h> header file.  */
#undef HAVE_SYS_MACHINE_H

/* Define if you have the <sys/resource.h> header file.  */
#undef HAVE_SYS_RESOURCE_H

/* Define if you have the <sys/stat.h> header file.  */
#undef HAVE_SYS_STAT_H

/* Define if you have the <sys/time.h> header file.  */
#undef HAVE_SYS_TIME_H

/* Define if you have the <sys/types.h> header file.  */
#undef HAVE_SYS_TYPES_H

/* Define if you have the <unistd.h> header file.  */
#undef HAVE_UNISTD_H

/* Define if you have the <wchar.h> header file.  */
#undef HAVE_WCHAR_H

/* Define if you have the <wctype.h> header file.  */
#undef HAVE_WCTYPE_H

/* Define if you have the m library (-lm).  */
#undef HAVE_LIBM

/* Name of package */
#undef PACKAGE

/* Version number of package */
#undef VERSION

/* Define if the compiler is configured for setjmp/longjmp exceptions. */
#undef _GLIBCPP_SJLJ_EXCEPTIONS

/* Define if sigsetjmp is available.   */
#undef HAVE_SIGSETJMP

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_DATA

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_RSS

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_VMEM

/* Only used in build directory testsuite_hooks.h. */
#undef HAVE_MEMLIMIT_AS

//
// Systems that have certain non-standard functions prefixed with an
// underscore, we'll handle those here. Must come after config.h.in.
//
#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN)
# define HAVE_ISNAN 1
# define isnan _isnan
#endif

#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF)
# define HAVE_ISNANF 1
# define isnanf _isnanf
#endif

#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL)
# define HAVE_ISNANL 1
# define isnanl _isnanl
#endif

#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF)
# define HAVE_ISINF 1
# define isinf _isinf
#endif

#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF)
# define HAVE_ISINFF 1
# define isinff _isinff
#endif

#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL)
# define HAVE_ISINFL 1
# define isinfl _isinfl
#endif

#if defined (HAVE__COPYSIGN) && ! defined (HAVE_COPYSIGN)
# define HAVE_COPYSIGN 1
# define copysign _copysign
#endif

#if defined (HAVE__COPYSIGNL) && ! defined (HAVE_COPYSIGNL)
# define HAVE_COPYSIGNL 1
# define copysignl _copysignl
#endif

#if defined (HAVE__COSF) && ! defined (HAVE_COSF)
# define HAVE_COSF 1
# define cosf _cosf
#endif

#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
# define HAVE_ACOSF 1
# define acosf _acosf
#endif

#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL)
# define HAVE_ACOSL 1
# define acosl _acosl
#endif

#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF)
# define HAVE_ASINF 1
# define asinf _asinf
#endif

#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL)
# define HAVE_ASINL 1
# define asinl _asinl
#endif

#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF)
# define HAVE_ATANF 1
# define atanf _atanf
#endif

#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL)
# define HAVE_ATANL 1
# define atanl _atanl
#endif

#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF)
# define HAVE_CEILF 1
# define aceil _ceilf
#endif

#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL)
# define HAVE_CEILL 1
# define aceil _ceill
#endif

#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF)
# define HAVE_COSHF 1
# define coshf _coshf
#endif

#if defined (HAVE__COSL) && ! defined (HAVE_COSL)
# define HAVE_COSL 1
# define cosl _cosl
#endif

#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF)
# define HAVE_LOGF 1
# define logf _logf
#endif

#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL)
# define HAVE_COSHL 1
# define coshl _coshl
#endif

#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF)
# define HAVE_EXPF 1
# define expf _expf
#endif

#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL)
# define HAVE_EXPL 1
# define expl _expl
#endif

#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF)
# define HAVE_FABSF 1
# define fabsf _fabsf
#endif

#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL)
# define HAVE_FABSL 1
# define fabsl _fabsl
#endif

#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF)
# define HAVE_FLOORF 1
# define floorf _floorf
#endif

#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL)
# define HAVE_FLOORL 1
# define floorl _floorl
#endif

#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF)
# define HAVE_FMODF 1
# define fmodf _fmodf
#endif

#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL)
# define HAVE_FMODL 1
# define fmodl _fmodl
#endif

#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF)
# define HAVE_FREXPF 1
# define frexpf _frexpf
#endif

#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL)
# define HAVE_FREXPL 1
# define frexpl _frexpl
#endif

#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF)
# define HAVE_LDEXPF 1
# define ldexpf _ldexpf
#endif

#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL)
# define HAVE_LDEXPL 1
# define ldexpl _ldexpl
#endif

#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F)
# define HAVE_LOG10F 1
# define log10f _log10f
#endif

#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL)
# define HAVE_LOGL 1
# define logl _logl
#endif

#if defined (HAVE__POWF) && ! defined (HAVE_POWF)
# define HAVE_POWF 1
# define powf _powf
#endif

#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L)
# define HAVE_LOG10L 1
# define log10l _log10l
#endif

#if defined (HAVE__MODF) && ! defined (HAVE_MODF)
# define HAVE_MODF 1
# define modf _modf
#endif

#if defined (HAVE__MODL) && ! defined (HAVE_MODL)
# define HAVE_MODL 1
# define modl _modl
#endif

#if defined (HAVE__SINF) && ! defined (HAVE_SINF)
# define HAVE_SINF 1
# define sinf _sinf
#endif

#if defined (HAVE__POWL) && ! defined (HAVE_POWL)
# define HAVE_POWL 1
# define powl _powl
#endif

#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF)
# define HAVE_SINHF 1
# define sinhf _sinhf
#endif

#if defined (HAVE__SINL) && ! defined (HAVE_SINL)
# define HAVE_SINL 1
# define sinl _sinl
#endif

#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF)
# define HAVE_SQRTF 1
# define sqrtf _sqrtf
#endif

#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL)
# define HAVE_SINHL 1
# define sinhl _sinhl
#endif

#if defined (HAVE__TANF) && ! defined (HAVE_TANF)
# define HAVE_TANF 1
# define tanf _tanf
#endif

#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL)
# define HAVE_SQRTL 1
# define sqrtl _sqrtl
#endif

#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF)
# define HAVE_TANHF 1
# define tanhf _tanhf
#endif

#if defined (HAVE__TANL) && ! defined (HAVE_TANL)
# define HAVE_TANF 1
# define tanf _tanf
#endif

#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF)
# define HAVE_STRTOF 1
# define strtof _strtof
#endif

#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL)
# define HAVE_TANHL 1
# define tanhl _tanhl
#endif

#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD)
# define HAVE_STRTOLD 1
# define strtold _strtold
#endif

#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS)
# define HAVE_SINCOS 1
# define sincos _sincos
#endif

#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF)
# define HAVE_SINCOSF 1
# define sincosf _sincosf
#endif

#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL)
# define HAVE_SINCOSL 1
# define sincosl _sincosl
#endif

#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE)
# define HAVE_FINITE 1
# define finite _finite
#endif

#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF)
# define HAVE_FINITEF 1
# define finitef _finitef
#endif

#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL)
# define HAVE_FINITEL 1
# define finitel _finitel
#endif

#if defined (HAVE__QFINITE) && ! defined (HAVE_QFINITE)
# define HAVE_QFINITE 1
# define qfinite _qfinite
#endif

#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS)
# define HAVE_FPCLASS 1
# define fpclass _fpclass
#endif

#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS)
# define HAVE_QFPCLASS 1
# define qfpclass _qfpclass
#endif

