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

/* Define to 1 if you have the `acosf' function. */
#undef HAVE_ACOSF

/* Define to 1 if you have the `acosl' function. */
#undef HAVE_ACOSL

/* Define to 1 if you have the `aligned_alloc' function. */
#undef HAVE_ALIGNED_ALLOC

/* Define if arc4random is available in <stdlib.h>. */
#undef HAVE_ARC4RANDOM

/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H

/* Define to 1 if you have the `asinf' function. */
#undef HAVE_ASINF

/* Define to 1 if you have the `asinl' function. */
#undef HAVE_ASINL

/* Define to 1 if the target assembler supports .symver directive. */
#undef HAVE_AS_SYMVER_DIRECTIVE

/* Define to 1 if you have the `atan2f' function. */
#undef HAVE_ATAN2F

/* Define to 1 if you have the `atan2l' function. */
#undef HAVE_ATAN2L

/* Define to 1 if you have the `atanf' function. */
#undef HAVE_ATANF

/* Define to 1 if you have the `atanl' function. */
#undef HAVE_ATANL

/* Defined if shared_ptr reference counting should use atomic operations. */
#undef HAVE_ATOMIC_LOCK_POLICY

/* Define to 1 if you have the `at_quick_exit' function. */
#undef HAVE_AT_QUICK_EXIT

/* Define to 1 if the target assembler supports thread-local storage. */
#undef HAVE_CC_TLS

/* Define to 1 if you have the `ceilf' function. */
#undef HAVE_CEILF

/* Define to 1 if you have the `ceill' function. */
#undef HAVE_CEILL

/* Define to 1 if you have the <complex.h> header file. */
#undef HAVE_COMPLEX_H

/* Define to 1 if you have the `cosf' function. */
#undef HAVE_COSF

/* Define to 1 if you have the `coshf' function. */
#undef HAVE_COSHF

/* Define to 1 if you have the `coshl' function. */
#undef HAVE_COSHL

/* Define to 1 if you have the `cosl' function. */
#undef HAVE_COSL

/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
   don't. */
#undef HAVE_DECL_STRNLEN

/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H

/* Define if dirfd is available in <dirent.h>. */
#undef HAVE_DIRFD

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

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

/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
#undef HAVE_EXCEPTION_PTR_SINCE_GCC46

/* Define to 1 if you have the <execinfo.h> header file. */
#undef HAVE_EXECINFO_H

/* Define to 1 if you have the `expf' function. */
#undef HAVE_EXPF

/* Define to 1 if you have the `expl' function. */
#undef HAVE_EXPL

/* Define to 1 if you have the `fabsf' function. */
#undef HAVE_FABSF

/* Define to 1 if you have the `fabsl' function. */
#undef HAVE_FABSL

/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H

/* Define if fdopendir is available in <dirent.h>. */
#undef HAVE_FDOPENDIR

/* Define to 1 if you have the <fenv.h> header file. */
#undef HAVE_FENV_H

/* Define to 1 if you have the `finite' function. */
#undef HAVE_FINITE

/* Define to 1 if you have the `finitef' function. */
#undef HAVE_FINITEF

/* Define to 1 if you have the `finitel' function. */
#undef HAVE_FINITEL

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

/* Define to 1 if you have the `floorf' function. */
#undef HAVE_FLOORF

/* Define to 1 if you have the `floorl' function. */
#undef HAVE_FLOORL

/* Define to 1 if you have the `fmodf' function. */
#undef HAVE_FMODF

/* Define to 1 if you have the `fmodl' function. */
#undef HAVE_FMODL

/* Define to 1 if you have the `fpclass' function. */
#undef HAVE_FPCLASS

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

/* Define to 1 if you have the `frexpf' function. */
#undef HAVE_FREXPF

/* Define to 1 if you have the `frexpl' function. */
#undef HAVE_FREXPL

/* Define if getentropy is available in <unistd.h>. */
#undef HAVE_GETENTROPY

/* Define if _Unwind_GetIPInfo is available. */
#undef HAVE_GETIPINFO

/* Define if gets is available in <stdio.h> before C++14. */
#undef HAVE_GETS

/* Define to 1 if you have the `hypot' function. */
#undef HAVE_HYPOT

/* Define to 1 if you have the `hypotf' function. */
#undef HAVE_HYPOTF

/* Define to 1 if you have the `hypotl' function. */
#undef HAVE_HYPOTL

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

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

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

/* Define to 1 if you have the `isinf' function. */
#undef HAVE_ISINF

/* Define to 1 if you have the `isinff' function. */
#undef HAVE_ISINFF

/* Define to 1 if you have the `isinfl' function. */
#undef HAVE_ISINFL

/* Define to 1 if you have the `isnan' function. */
#undef HAVE_ISNAN

/* Define to 1 if you have the `isnanf' function. */
#undef HAVE_ISNANF

/* Define to 1 if you have the `isnanl' function. */
#undef HAVE_ISNANL

/* Defined if iswblank exists. */
#undef HAVE_ISWBLANK

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

/* Define to 1 if you have the `ldexpf' function. */
#undef HAVE_LDEXPF

/* Define to 1 if you have the `ldexpl' function. */
#undef HAVE_LDEXPL

/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H

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

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

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

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

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

/* Define if link is available in <unistd.h>. */
#undef HAVE_LINK

/* Define to 1 if you have the <link.h> header file. */
#undef HAVE_LINK_H

/* Define if futex syscall is available. */
#undef HAVE_LINUX_FUTEX

/* Define to 1 if you have the <linux/random.h> header file. */
#undef HAVE_LINUX_RANDOM_H

/* Define to 1 if you have the <linux/types.h> header file. */
#undef HAVE_LINUX_TYPES_H

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

/* Define to 1 if you have the `log10f' function. */
#undef HAVE_LOG10F

/* Define to 1 if you have the `log10l' function. */
#undef HAVE_LOG10L

/* Define to 1 if you have the `logf' function. */
#undef HAVE_LOGF

/* Define to 1 if you have the `logl' function. */
#undef HAVE_LOGL

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

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

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

/* Define to 1 if you have the `memalign' function. */
#undef HAVE_MEMALIGN

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define to 1 if you have the `modf' function. */
#undef HAVE_MODF

/* Define to 1 if you have the `modff' function. */
#undef HAVE_MODFF

/* Define to 1 if you have the `modfl' function. */
#undef HAVE_MODFL

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

/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H

/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H

/* Define to 1 if you have the <netinet/tcp.h> header file. */
#undef HAVE_NETINET_TCP_H

/* Define if <math.h> defines obsolete isinf function. */
#undef HAVE_OBSOLETE_ISINF

/* Define if <math.h> defines obsolete isnan function. */
#undef HAVE_OBSOLETE_ISNAN

/* Define if openat is available in <fcntl.h>. */
#undef HAVE_OPENAT

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

/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H

/* Define to 1 if you have the `posix_memalign' function. */
#undef HAVE_POSIX_MEMALIGN

/* Define to 1 if POSIX Semaphores with sem_timedwait are available in
   <semaphore.h>. */
#undef HAVE_POSIX_SEMAPHORE

/* Define to 1 if you have the `powf' function. */
#undef HAVE_POWF

/* Define to 1 if you have the `powl' function. */
#undef HAVE_POWL

/* Define to 1 if you have the `qfpclass' function. */
#undef HAVE_QFPCLASS

/* Define to 1 if you have the `quick_exit' function. */
#undef HAVE_QUICK_EXIT

/* Define if readlink is available in <unistd.h>. */
#undef HAVE_READLINK

/* Define to 1 if you have the `secure_getenv' function. */
#undef HAVE_SECURE_GETENV

/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV

/* Define to 1 if you have the `sincos' function. */
#undef HAVE_SINCOS

/* Define to 1 if you have the `sincosf' function. */
#undef HAVE_SINCOSF

/* Define to 1 if you have the `sincosl' function. */
#undef HAVE_SINCOSL

/* Define to 1 if you have the `sinf' function. */
#undef HAVE_SINF

/* Define to 1 if you have the `sinhf' function. */
#undef HAVE_SINHF

/* Define to 1 if you have the `sinhl' function. */
#undef HAVE_SINHL

/* Define to 1 if you have the `sinl' function. */
#undef HAVE_SINL

/* Defined if sleep exists. */
#undef HAVE_SLEEP

/* Define to 1 if you have the `sockatmark' function. */
#undef HAVE_SOCKATMARK

/* Define to 1 if you have the `sqrtf' function. */
#undef HAVE_SQRTF

/* Define to 1 if you have the `sqrtl' function. */
#undef HAVE_SQRTL

/* Define if the <stacktrace> header is supported. */
#undef HAVE_STACKTRACE

/* Define to 1 if you have the <stdalign.h> header file. */
#undef HAVE_STDALIGN_H

/* Define to 1 if you have the <stdbool.h> header file. */
#undef HAVE_STDBOOL_H

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

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

/* Define if strerror_l is available in <string.h>. */
#undef HAVE_STRERROR_L

/* Define if strerror_r is available in <string.h>. */
#undef HAVE_STRERROR_R

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

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

/* Define to 1 if you have the `strtof' function. */
#undef HAVE_STRTOF

/* Define to 1 if you have the `strtold' function. */
#undef HAVE_STRTOLD

/* Define to 1 if `d_type' is a member of `struct dirent'. */
#undef HAVE_STRUCT_DIRENT_D_TYPE

/* Define if strxfrm_l is available in <string.h>. */
#undef HAVE_STRXFRM_L

/* Define if symlink is available in <unistd.h>. */
#undef HAVE_SYMLINK

/* Define to 1 if the target runtime linker supports binding the same symbol
   to different versions. */
#undef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT

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

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

/* Define to 1 if you have the <sys/ipc.h> header file. */
#undef HAVE_SYS_IPC_H

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

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

/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H

/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H

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

/* Define to 1 if you have a suitable <sys/sdt.h> header file */
#undef HAVE_SYS_SDT_H

/* Define to 1 if you have the <sys/sem.h> header file. */
#undef HAVE_SYS_SEM_H

/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H

/* Define to 1 if you have the <sys/statvfs.h> header file. */
#undef HAVE_SYS_STATVFS_H

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

/* Define to 1 if you have the <sys/sysinfo.h> header file. */
#undef HAVE_SYS_SYSINFO_H

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

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

/* Define to 1 if you have the <sys/uio.h> header file. */
#undef HAVE_SYS_UIO_H

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

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

/* Define to 1 if you have the `tanf' function. */
#undef HAVE_TANF

/* Define to 1 if you have the `tanhf' function. */
#undef HAVE_TANHF

/* Define to 1 if you have the `tanhl' function. */
#undef HAVE_TANHL

/* Define to 1 if you have the `tanl' function. */
#undef HAVE_TANL

/* Define to 1 if you have the <tgmath.h> header file. */
#undef HAVE_TGMATH_H

/* Define to 1 if you have the `timespec_get' function. */
#undef HAVE_TIMESPEC_GET

/* Define to 1 if the target supports thread-local storage. */
#undef HAVE_TLS

/* Define if truncate is available in <unistd.h>. */
#undef HAVE_TRUNCATE

/* Define to 1 if you have the <uchar.h> header file. */
#undef HAVE_UCHAR_H

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

/* Define if unlinkat is available in <fcntl.h>. */
#undef HAVE_UNLINKAT

/* Define to 1 if you have the `uselocale' function. */
#undef HAVE_USELOCALE

/* Defined if usleep exists. */
#undef HAVE_USLEEP

/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H

/* Defined if vfwscanf exists. */
#undef HAVE_VFWSCANF

/* Defined if vswscanf exists. */
#undef HAVE_VSWSCANF

/* Defined if vwscanf exists. */
#undef HAVE_VWSCANF

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

/* Defined if wcstof exists. */
#undef HAVE_WCSTOF

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

/* Defined if Sleep exists. */
#undef HAVE_WIN32_SLEEP

/* Define if writev is available in <sys/uio.h>. */
#undef HAVE_WRITEV

/* Define to 1 if you have the <xlocale.h> header file. */
#undef HAVE_XLOCALE_H

/* Define to 1 if you have the `_acosf' function. */
#undef HAVE__ACOSF

/* Define to 1 if you have the `_acosl' function. */
#undef HAVE__ACOSL

/* Define to 1 if you have the `_aligned_malloc' function. */
#undef HAVE__ALIGNED_MALLOC

/* Define to 1 if you have the `_asinf' function. */
#undef HAVE__ASINF

/* Define to 1 if you have the `_asinl' function. */
#undef HAVE__ASINL

/* Define to 1 if you have the `_atan2f' function. */
#undef HAVE__ATAN2F

/* Define to 1 if you have the `_atan2l' function. */
#undef HAVE__ATAN2L

/* Define to 1 if you have the `_atanf' function. */
#undef HAVE__ATANF

/* Define to 1 if you have the `_atanl' function. */
#undef HAVE__ATANL

/* Define to 1 if you have the `_ceilf' function. */
#undef HAVE__CEILF

/* Define to 1 if you have the `_ceill' function. */
#undef HAVE__CEILL

/* Define to 1 if you have the `_cosf' function. */
#undef HAVE__COSF

/* Define to 1 if you have the `_coshf' function. */
#undef HAVE__COSHF

/* Define to 1 if you have the `_coshl' function. */
#undef HAVE__COSHL

/* Define to 1 if you have the `_cosl' function. */
#undef HAVE__COSL

/* Define to 1 if you have the `_expf' function. */
#undef HAVE__EXPF

/* Define to 1 if you have the `_expl' function. */
#undef HAVE__EXPL

/* Define to 1 if you have the `_fabsf' function. */
#undef HAVE__FABSF

/* Define to 1 if you have the `_fabsl' function. */
#undef HAVE__FABSL

/* Define to 1 if you have the `_finite' function. */
#undef HAVE__FINITE

/* Define to 1 if you have the `_finitef' function. */
#undef HAVE__FINITEF

/* Define to 1 if you have the `_finitel' function. */
#undef HAVE__FINITEL

/* Define to 1 if you have the `_floorf' function. */
#undef HAVE__FLOORF

/* Define to 1 if you have the `_floorl' function. */
#undef HAVE__FLOORL

/* Define to 1 if you have the `_fmodf' function. */
#undef HAVE__FMODF

/* Define to 1 if you have the `_fmodl' function. */
#undef HAVE__FMODL

/* Define to 1 if you have the `_fpclass' function. */
#undef HAVE__FPCLASS

/* Define to 1 if you have the `_frexpf' function. */
#undef HAVE__FREXPF

/* Define to 1 if you have the `_frexpl' function. */
#undef HAVE__FREXPL

/* Define to 1 if you have the `_hypot' function. */
#undef HAVE__HYPOT

/* Define to 1 if you have the `_hypotf' function. */
#undef HAVE__HYPOTF

/* Define to 1 if you have the `_hypotl' function. */
#undef HAVE__HYPOTL

/* Define to 1 if you have the `_isinf' function. */
#undef HAVE__ISINF

/* Define to 1 if you have the `_isinff' function. */
#undef HAVE__ISINFF

/* Define to 1 if you have the `_isinfl' function. */
#undef HAVE__ISINFL

/* Define to 1 if you have the `_isnan' function. */
#undef HAVE__ISNAN

/* Define to 1 if you have the `_isnanf' function. */
#undef HAVE__ISNANF

/* Define to 1 if you have the `_isnanl' function. */
#undef HAVE__ISNANL

/* Define to 1 if you have the `_ldexpf' function. */
#undef HAVE__LDEXPF

/* Define to 1 if you have the `_ldexpl' function. */
#undef HAVE__LDEXPL

/* Define to 1 if you have the `_log10f' function. */
#undef HAVE__LOG10F

/* Define to 1 if you have the `_log10l' function. */
#undef HAVE__LOG10L

/* Define to 1 if you have the `_logf' function. */
#undef HAVE__LOGF

/* Define to 1 if you have the `_logl' function. */
#undef HAVE__LOGL

/* Define to 1 if you have the `_modf' function. */
#undef HAVE__MODF

/* Define to 1 if you have the `_modff' function. */
#undef HAVE__MODFF

/* Define to 1 if you have the `_modfl' function. */
#undef HAVE__MODFL

/* Define to 1 if you have the `_powf' function. */
#undef HAVE__POWF

/* Define to 1 if you have the `_powl' function. */
#undef HAVE__POWL

/* Define to 1 if you have the `_qfpclass' function. */
#undef HAVE__QFPCLASS

/* Define to 1 if you have the `_sincos' function. */
#undef HAVE__SINCOS

/* Define to 1 if you have the `_sincosf' function. */
#undef HAVE__SINCOSF

/* Define to 1 if you have the `_sincosl' function. */
#undef HAVE__SINCOSL

/* Define to 1 if you have the `_sinf' function. */
#undef HAVE__SINF

/* Define to 1 if you have the `_sinhf' function. */
#undef HAVE__SINHF

/* Define to 1 if you have the `_sinhl' function. */
#undef HAVE__SINHL

/* Define to 1 if you have the `_sinl' function. */
#undef HAVE__SINL

/* Define to 1 if you have the `_sqrtf' function. */
#undef HAVE__SQRTF

/* Define to 1 if you have the `_sqrtl' function. */
#undef HAVE__SQRTL

/* Define to 1 if you have the `_tanf' function. */
#undef HAVE__TANF

/* Define to 1 if you have the `_tanhf' function. */
#undef HAVE__TANHF

/* Define to 1 if you have the `_tanhl' function. */
#undef HAVE__TANHL

/* Define to 1 if you have the `_tanl' function. */
#undef HAVE__TANL

/* Define to 1 if you have the `_wfopen' function. */
#undef HAVE__WFOPEN

/* Define to 1 if you have the `__cxa_thread_atexit' function. */
#undef HAVE___CXA_THREAD_ATEXIT

/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */
#undef HAVE___CXA_THREAD_ATEXIT_IMPL

/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the home page for this package. */
#undef PACKAGE_URL

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* Version number of package */
#undef VERSION

/* Enable large inode numbers on Mac OS X 10.5.  */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif

/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS

/* Define if C99 functions in <complex.h> should be used in <complex> for
   C++11. Using compiler builtins for these functions requires corresponding
   C99 library functions to be present. */
#undef _GLIBCXX11_USE_C99_COMPLEX

/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
   in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_MATH

/* Define if C99 functions or macros in <stdio.h> should be imported in
   <cstdio> in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_STDIO

/* Define if C99 functions or macros in <stdlib.h> should be imported in
   <cstdlib> in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_STDLIB

/* Define if C99 functions or macros in <wchar.h> should be imported in
   <cwchar> in namespace std for C++11. */
#undef _GLIBCXX11_USE_C99_WCHAR

/* Define if C99 functions in <complex.h> should be used in <complex> for
   C++98. Using compiler builtins for these functions requires corresponding
   C99 library functions to be present. */
#undef _GLIBCXX98_USE_C99_COMPLEX

/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
   in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_MATH

/* Define if C99 functions or macros in <stdio.h> should be imported in
   <cstdio> in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_STDIO

/* Define if C99 functions or macros in <stdlib.h> should be imported in
   <cstdlib> in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_STDLIB

/* Define if C99 functions or macros in <wchar.h> should be imported in
   <cwchar> in namespace std for C++98. */
#undef _GLIBCXX98_USE_C99_WCHAR

/* Define if the compiler supports C++11 atomics. */
#undef _GLIBCXX_ATOMIC_BUILTINS

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

/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable,
   undefined for platform defaults */
#undef _GLIBCXX_FULLY_DYNAMIC_STRING

/* Define if gthreads library is available. */
#undef _GLIBCXX_HAS_GTHREADS

/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
#undef _GLIBCXX_HOSTED

/* Define if compatibility should be provided for alternative 128-bit long
   double formats. */
#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT

/* Define if compatibility should be provided for -mlong-double-64. */
#undef _GLIBCXX_LONG_DOUBLE_COMPAT

/* Define to the letter to which size_t is mangled. */
#undef _GLIBCXX_MANGLE_SIZE_T

/* Define if C99 llrint and llround functions are missing from <math.h>. */
#undef _GLIBCXX_NO_C99_ROUNDING_FUNCS

/* Defined if no way to sleep is available. */
#undef _GLIBCXX_NO_SLEEP

/* Define if ptrdiff_t is int. */
#undef _GLIBCXX_PTRDIFF_T_IS_INT

/* Define if using setrlimit to set resource limits during "make check" */
#undef _GLIBCXX_RES_LIMITS

/* Define if size_t is unsigned int. */
#undef _GLIBCXX_SIZE_T_IS_UINT

/* Define to the value of the EOF integer constant. */
#undef _GLIBCXX_STDIO_EOF

/* Define to the value of the SEEK_CUR integer constant. */
#undef _GLIBCXX_STDIO_SEEK_CUR

/* Define to the value of the SEEK_END integer constant. */
#undef _GLIBCXX_STDIO_SEEK_END

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

/* Define to use darwin versioning in the shared library. */
#undef _GLIBCXX_SYMVER_DARWIN

/* Define to use GNU versioning in the shared library. */
#undef _GLIBCXX_SYMVER_GNU

/* Define to use GNU namespace versioning in the shared library. */
#undef _GLIBCXX_SYMVER_GNU_NAMESPACE

/* Define to use Sun versioning in the shared library. */
#undef _GLIBCXX_SYMVER_SUN

/* Define if C11 functions in <uchar.h> should be imported into namespace std
   in <cuchar>. */
#undef _GLIBCXX_USE_C11_UCHAR_CXX11

/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
   <stdio.h>, and <stdlib.h> can be used or exposed. */
#undef _GLIBCXX_USE_C99

/* Define if C99 functions in <complex.h> should be used in <tr1/complex>.
   Using compiler builtins for these functions requires corresponding C99
   library functions to be present. */
#undef _GLIBCXX_USE_C99_COMPLEX_TR1

/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in
   namespace std::tr1. */
#undef _GLIBCXX_USE_C99_CTYPE_TR1

/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in
   namespace std::tr1. */
#undef _GLIBCXX_USE_C99_FENV_TR1

/* Define if C99 functions in <inttypes.h> should be imported in
   <tr1/cinttypes> in namespace std::tr1. */
#undef _GLIBCXX_USE_C99_INTTYPES_TR1

/* Define if wchar_t C99 functions in <inttypes.h> should be imported in
   <tr1/cinttypes> in namespace std::tr1. */
#undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1

/* Define if C99 functions or macros in <math.h> should be imported in
   <tr1/cmath> in namespace std::tr1. */
#undef _GLIBCXX_USE_C99_MATH_TR1

/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in
   namespace std::tr1. */
#undef _GLIBCXX_USE_C99_STDINT_TR1

/* Defined if clock_gettime syscall has monotonic and realtime clock support.
   */
#undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL

/* Defined if clock_gettime has monotonic clock support. */
#undef _GLIBCXX_USE_CLOCK_MONOTONIC

/* Defined if clock_gettime has realtime clock support. */
#undef _GLIBCXX_USE_CLOCK_REALTIME

/* Define if ISO/IEC TR 24733 decimal floating point types are supported on
   this host. */
#undef _GLIBCXX_USE_DECIMAL_FLOAT

/* Define if /dev/random and /dev/urandom are available for
   std::random_device. */
#undef _GLIBCXX_USE_DEV_RANDOM

/* Define if fchmod is available in <sys/stat.h>. */
#undef _GLIBCXX_USE_FCHMOD

/* Define if fchmodat is available in <sys/stat.h>. */
#undef _GLIBCXX_USE_FCHMODAT

/* Defined if gettimeofday is available. */
#undef _GLIBCXX_USE_GETTIMEOFDAY

/* Define if get_nprocs is available in <sys/sysinfo.h>. */
#undef _GLIBCXX_USE_GET_NPROCS

/* Define if LFS support is available. */
#undef _GLIBCXX_USE_LFS

/* Define if code specialized for long long should be used. */
#undef _GLIBCXX_USE_LONG_LONG

/* Define if lstat is available in <sys/stat.h>. */
#undef _GLIBCXX_USE_LSTAT

/* Defined if nanosleep is available. */
#undef _GLIBCXX_USE_NANOSLEEP

/* Define if NLS translations are to be used. */
#undef _GLIBCXX_USE_NLS

/* Define if pthreads_num_processors_np is available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP

/* Define if pthread_cond_clockwait is available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT

/* Define if pthread_mutex_clocklock is available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK

/* Define if pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock are
   available in <pthread.h>. */
#undef _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK

/* Define if POSIX read/write locks are available in <gthr.h>. */
#undef _GLIBCXX_USE_PTHREAD_RWLOCK_T

/* Define if /dev/random and /dev/urandom are available for the random_device
   of TR1 (Chapter 5.1). */
#undef _GLIBCXX_USE_RANDOM_TR1

/* Define if usable realpath is available in <stdlib.h>. */
#undef _GLIBCXX_USE_REALPATH

/* Defined if sched_yield is available. */
#undef _GLIBCXX_USE_SCHED_YIELD

/* Define if _SC_NPROCESSORS_ONLN is available in <unistd.h>. */
#undef _GLIBCXX_USE_SC_NPROCESSORS_ONLN

/* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
#undef _GLIBCXX_USE_SC_NPROC_ONLN

/* Define if sendfile is available in <sys/sendfile.h>. */
#undef _GLIBCXX_USE_SENDFILE

/* Define to restrict std::__basic_file<> to stdio APIs. */
#undef _GLIBCXX_USE_STDIO_PURE

/* Define if struct stat has timespec members. */
#undef _GLIBCXX_USE_ST_MTIM

/* Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>. */
#undef _GLIBCXX_USE_SYSCTL_HW_NCPU

/* Define if obsolescent tmpnam is available in <stdio.h>. */
#undef _GLIBCXX_USE_TMPNAM

/* Define if c8rtomb and mbrtoc8 functions in <uchar.h> should be imported
   into namespace std in <cuchar> for C++20. */
#undef _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20

/* Define if c8rtomb and mbrtoc8 functions in <uchar.h> should be imported
   into namespace std in <cuchar> for -fchar8_t. */
#undef _GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T

/* Define if utime is available in <utime.h>. */
#undef _GLIBCXX_USE_UTIME

/* Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and
   AT_FDCWD in <fcntl.h>. */
#undef _GLIBCXX_USE_UTIMENSAT

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

/* Define to 1 if a verbose library is built, or 0 otherwise. */
#undef _GLIBCXX_VERBOSE

/* Defined if as can handle rdrand. */
#undef _GLIBCXX_X86_RDRAND

/* Defined if as can handle rdseed. */
#undef _GLIBCXX_X86_RDSEED

/* Define to 1 if mutex_timedlock is available. */
#undef _GTHREAD_USE_MUTEX_TIMEDLOCK

/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES

/* Define if all C++11 floating point overloads are available in <math.h>.  */
#if __cplusplus >= 201103L
#undef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP
#endif

/* Define if all C++11 integral type overloads are available in <math.h>.  */
#if __cplusplus >= 201103L
#undef __CORRECT_ISO_CPP11_MATH_H_PROTO_INT
#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__ATAN2F) && ! defined (HAVE_ATAN2F)
# define HAVE_ATAN2F 1
# define atan2f _atan2f
#endif

#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L)
# define HAVE_ATAN2L 1
# define atan2l _atan2l
#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 ceilf _ceilf
#endif

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

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

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

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

#if defined (HAVE__COSL) && ! defined (HAVE_COSL)
# define HAVE_COSL 1
# define cosl _cosl
#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__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__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__FPCLASS) && ! defined (HAVE_FPCLASS)
# define HAVE_FPCLASS 1
# define fpclass _fpclass
#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__HYPOT) && ! defined (HAVE_HYPOT)
# define HAVE_HYPOT 1
# define hypot _hypot
#endif

#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF)
# define HAVE_HYPOTF 1
# define hypotf _hypotf
#endif

#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL)
# define HAVE_HYPOTL 1
# define hypotl _hypotl
#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__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__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__LOG10L) && ! defined (HAVE_LOG10L)
# define HAVE_LOG10L 1
# define log10l _log10l
#endif

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

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

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

#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF)
# define HAVE_MODFF 1
# define modff _modff
#endif

#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL)
# define HAVE_MODFL 1
# define modfl _modfl
#endif

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

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

#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS)
# define HAVE_QFPCLASS 1
# define qfpclass _qfpclass
#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__SINF) && ! defined (HAVE_SINF)
# define HAVE_SINF 1
# define sinf _sinf
#endif

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

#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL)
# define HAVE_SINHL 1
# define sinhl _sinhl
#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__SQRTL) && ! defined (HAVE_SQRTL)
# define HAVE_SQRTL 1
# define sqrtl _sqrtl
#endif

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

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

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

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

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

#if defined (HAVE__TANL) && ! defined (HAVE_TANL)
# define HAVE_TANL 1
# define tanl _tanl
#endif
