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

/* Define to 0 if the target shouldn't use #pragma weak */
#undef GTHREAD_USE_WEAK

/* Define to 1 if you have the `access' function. */
#undef HAVE_ACCESS

/* Define to 1 if you have the `acos' function. */
#undef HAVE_ACOS

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

/* Define to 1 if you have the `acosf128' function. */
#undef HAVE_ACOSF128

/* Define to 1 if you have the `acosh' function. */
#undef HAVE_ACOSH

/* Define to 1 if you have the `acoshf' function. */
#undef HAVE_ACOSHF

/* Define to 1 if you have the `acoshf128' function. */
#undef HAVE_ACOSHF128

/* Define to 1 if you have the `acoshl' function. */
#undef HAVE_ACOSHL

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

/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM

/* Define to 1 if you have the `asin' function. */
#undef HAVE_ASIN

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

/* Define to 1 if you have the `asinf128' function. */
#undef HAVE_ASINF128

/* Define to 1 if you have the `asinh' function. */
#undef HAVE_ASINH

/* Define to 1 if you have the `asinhf' function. */
#undef HAVE_ASINHF

/* Define to 1 if you have the `asinhf128' function. */
#undef HAVE_ASINHF128

/* Define to 1 if you have the `asinhl' function. */
#undef HAVE_ASINHL

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

/* Define to 1 if you have the `atan' function. */
#undef HAVE_ATAN

/* Define to 1 if you have the `atan2' function. */
#undef HAVE_ATAN2

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

/* Define to 1 if you have the `atan2f128' function. */
#undef HAVE_ATAN2F128

/* 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 `atanf128' function. */
#undef HAVE_ATANF128

/* Define to 1 if you have the `atanh' function. */
#undef HAVE_ATANH

/* Define to 1 if you have the `atanhf' function. */
#undef HAVE_ATANHF

/* Define to 1 if you have the `atanhf128' function. */
#undef HAVE_ATANHF128

/* Define to 1 if you have the `atanhl' function. */
#undef HAVE_ATANHL

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

/* Define to 1 if the target supports __atomic_fetch_add */
#undef HAVE_ATOMIC_FETCH_ADD

/* Define to 1 if the target supports __attribute__((alias(...))). */
#undef HAVE_ATTRIBUTE_ALIAS

/* Define to 1 if the target supports __attribute__((visibility(...))). */
#undef HAVE_ATTRIBUTE_VISIBILITY

/* Define if AVX instructions can be compiled. */
#undef HAVE_AVX

/* Define if -mprefer-avx128 is supported. */
#undef HAVE_AVX128

/* Define if AVX2 instructions can be compiled. */
#undef HAVE_AVX2

/* Define if AVX512f instructions can be compiled. */
#undef HAVE_AVX512F

/* Define to 1 if you have the `cabs' function. */
#undef HAVE_CABS

/* Define to 1 if you have the `cabsf' function. */
#undef HAVE_CABSF

/* Define to 1 if you have the `cabsf128' function. */
#undef HAVE_CABSF128

/* Define to 1 if you have the `cabsl' function. */
#undef HAVE_CABSL

/* Define to 1 if you have the `cacos' function. */
#undef HAVE_CACOS

/* Define to 1 if you have the `cacosf' function. */
#undef HAVE_CACOSF

/* Define to 1 if you have the `cacosf128' function. */
#undef HAVE_CACOSF128

/* Define to 1 if you have the `cacosh' function. */
#undef HAVE_CACOSH

/* Define to 1 if you have the `cacoshf' function. */
#undef HAVE_CACOSHF

/* Define to 1 if you have the `cacoshf128' function. */
#undef HAVE_CACOSHF128

/* Define to 1 if you have the `cacoshl' function. */
#undef HAVE_CACOSHL

/* Define to 1 if you have the `cacosl' function. */
#undef HAVE_CACOSL

/* Define to 1 if you have the `carg' function. */
#undef HAVE_CARG

/* Define to 1 if you have the `cargf' function. */
#undef HAVE_CARGF

/* Define to 1 if you have the `cargf128' function. */
#undef HAVE_CARGF128

/* Define to 1 if you have the `cargl' function. */
#undef HAVE_CARGL

/* Define to 1 if you have the `casin' function. */
#undef HAVE_CASIN

/* Define to 1 if you have the `casinf' function. */
#undef HAVE_CASINF

/* Define to 1 if you have the `casinf128' function. */
#undef HAVE_CASINF128

/* Define to 1 if you have the `casinh' function. */
#undef HAVE_CASINH

/* Define to 1 if you have the `casinhf' function. */
#undef HAVE_CASINHF

/* Define to 1 if you have the `casinhf128' function. */
#undef HAVE_CASINHF128

/* Define to 1 if you have the `casinhl' function. */
#undef HAVE_CASINHL

/* Define to 1 if you have the `casinl' function. */
#undef HAVE_CASINL

/* Define to 1 if you have the `catan' function. */
#undef HAVE_CATAN

/* Define to 1 if you have the `catanf' function. */
#undef HAVE_CATANF

/* Define to 1 if you have the `catanf128' function. */
#undef HAVE_CATANF128

/* Define to 1 if you have the `catanh' function. */
#undef HAVE_CATANH

/* Define to 1 if you have the `catanhf' function. */
#undef HAVE_CATANHF

/* Define to 1 if you have the `catanhf128' function. */
#undef HAVE_CATANHF128

/* Define to 1 if you have the `catanhl' function. */
#undef HAVE_CATANHL

/* Define to 1 if you have the `catanl' function. */
#undef HAVE_CATANL

/* Define to 1 if you have the `ccos' function. */
#undef HAVE_CCOS

/* Define to 1 if you have the `ccosf' function. */
#undef HAVE_CCOSF

/* Define to 1 if you have the `ccosf128' function. */
#undef HAVE_CCOSF128

/* Define to 1 if you have the `ccosh' function. */
#undef HAVE_CCOSH

/* Define to 1 if you have the `ccoshf' function. */
#undef HAVE_CCOSHF

/* Define to 1 if you have the `ccoshf128' function. */
#undef HAVE_CCOSHF128

/* Define to 1 if you have the `ccoshl' function. */
#undef HAVE_CCOSHL

/* Define to 1 if you have the `ccosl' function. */
#undef HAVE_CCOSL

/* Define to 1 if you have the `ceil' function. */
#undef HAVE_CEIL

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

/* Define to 1 if you have the `ceilf128' function. */
#undef HAVE_CEILF128

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

/* Define to 1 if you have the `cexp' function. */
#undef HAVE_CEXP

/* Define to 1 if you have the `cexpf' function. */
#undef HAVE_CEXPF

/* Define to 1 if you have the `cexpf128' function. */
#undef HAVE_CEXPF128

/* Define to 1 if you have the `cexpl' function. */
#undef HAVE_CEXPL

/* Define to 1 if you have the `chdir' function. */
#undef HAVE_CHDIR

/* Define to 1 if you have the `chsize' function. */
#undef HAVE_CHSIZE

/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME

/* Define to 1 if you have the `clock_gettime' function in librt. */
#undef HAVE_CLOCK_GETTIME_LIBRT

/* libm includes clog */
#undef HAVE_CLOG

/* Define to 1 if you have the `clog10' function. */
#undef HAVE_CLOG10

/* Define to 1 if you have the `clog10f' function. */
#undef HAVE_CLOG10F

/* Define to 1 if you have the `clog10f128' function. */
#undef HAVE_CLOG10F128

/* Define to 1 if you have the `clog10l' function. */
#undef HAVE_CLOG10L

/* Define to 1 if you have the `clogf' function. */
#undef HAVE_CLOGF

/* Define to 1 if you have the `clogf128' function. */
#undef HAVE_CLOGF128

/* Define to 1 if you have the `clogl' function. */
#undef HAVE_CLOGL

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

/* Define to 1 if you have the `copysign' function. */
#undef HAVE_COPYSIGN

/* Define to 1 if you have the `copysignf' function. */
#undef HAVE_COPYSIGNF

/* Define to 1 if you have the `copysignf128' function. */
#undef HAVE_COPYSIGNF128

/* Define to 1 if you have the `copysignl' function. */
#undef HAVE_COPYSIGNL

/* Define to 1 if you have the `cos' function. */
#undef HAVE_COS

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

/* Define to 1 if you have the `cosf128' function. */
#undef HAVE_COSF128

/* Define to 1 if you have the `cosh' function. */
#undef HAVE_COSH

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

/* Define to 1 if you have the `coshf128' function. */
#undef HAVE_COSHF128

/* 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 `cpow' function. */
#undef HAVE_CPOW

/* Define to 1 if you have the `cpowf' function. */
#undef HAVE_CPOWF

/* Define to 1 if you have the `cpowf128' function. */
#undef HAVE_CPOWF128

/* Define to 1 if you have the `cpowl' function. */
#undef HAVE_CPOWL

/* Define if CRLF is line terminator. */
#undef HAVE_CRLF

/* Define to 1 if you have the `csin' function. */
#undef HAVE_CSIN

/* Define to 1 if you have the `csinf' function. */
#undef HAVE_CSINF

/* Define to 1 if you have the `csinf128' function. */
#undef HAVE_CSINF128

/* Define to 1 if you have the `csinh' function. */
#undef HAVE_CSINH

/* Define to 1 if you have the `csinhf' function. */
#undef HAVE_CSINHF

/* Define to 1 if you have the `csinhf128' function. */
#undef HAVE_CSINHF128

/* Define to 1 if you have the `csinhl' function. */
#undef HAVE_CSINHL

/* Define to 1 if you have the `csinl' function. */
#undef HAVE_CSINL

/* Define to 1 if you have the `csqrt' function. */
#undef HAVE_CSQRT

/* Define to 1 if you have the `csqrtf' function. */
#undef HAVE_CSQRTF

/* Define to 1 if you have the `csqrtf128' function. */
#undef HAVE_CSQRTF128

/* Define to 1 if you have the `csqrtl' function. */
#undef HAVE_CSQRTL

/* Define to 1 if you have the `ctan' function. */
#undef HAVE_CTAN

/* Define to 1 if you have the `ctanf' function. */
#undef HAVE_CTANF

/* Define to 1 if you have the `ctanf128' function. */
#undef HAVE_CTANF128

/* Define to 1 if you have the `ctanh' function. */
#undef HAVE_CTANH

/* Define to 1 if you have the `ctanhf' function. */
#undef HAVE_CTANHF

/* Define to 1 if you have the `ctanhf128' function. */
#undef HAVE_CTANHF128

/* Define to 1 if you have the `ctanhl' function. */
#undef HAVE_CTANHL

/* Define to 1 if you have the `ctanl' function. */
#undef HAVE_CTANL

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

/* Define to 1 if you have the `dup' function. */
#undef HAVE_DUP

/* Define to 1 if you have the `erf' function. */
#undef HAVE_ERF

/* Define to 1 if you have the `erfc' function. */
#undef HAVE_ERFC

/* Define to 1 if you have the `erfcf' function. */
#undef HAVE_ERFCF

/* Define to 1 if you have the `erfcf128' function. */
#undef HAVE_ERFCF128

/* Define to 1 if you have the `erfcl' function. */
#undef HAVE_ERFCL

/* Define to 1 if you have the `erff' function. */
#undef HAVE_ERFF

/* Define to 1 if you have the `erff128' function. */
#undef HAVE_ERFF128

/* Define to 1 if you have the `exp' function. */
#undef HAVE_EXP

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

/* Define to 1 if you have the `expf128' function. */
#undef HAVE_EXPF128

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

/* Define to 1 if you have the `fabs' function. */
#undef HAVE_FABS

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

/* Define to 1 if you have the `fabsf128' function. */
#undef HAVE_FABSF128

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

/* Define to 1 if you have the `fcntl' function. */
#undef HAVE_FCNTL

/* libm includes feenableexcept */
#undef HAVE_FEENABLEEXCEPT

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

/* Define if target has usable _Float128 and __float128 types. */
#undef HAVE_FLOAT128

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

/* Define to 1 if you have the `floor' function. */
#undef HAVE_FLOOR

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

/* Define to 1 if you have the `floorf128' function. */
#undef HAVE_FLOORF128

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

/* Define to 1 if you have the `fma' function. */
#undef HAVE_FMA

/* Define if FMA3 instructions can be compiled. */
#undef HAVE_FMA3

/* Define if FMA4 instructions can be compiled. */
#undef HAVE_FMA4

/* Define to 1 if you have the `fmaf' function. */
#undef HAVE_FMAF

/* Define to 1 if you have the `fmaf128' function. */
#undef HAVE_FMAF128

/* Define to 1 if you have the `fmal' function. */
#undef HAVE_FMAL

/* Define to 1 if you have the `fmod' function. */
#undef HAVE_FMOD

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

/* Define to 1 if you have the `fmodf128' function. */
#undef HAVE_FMODF128

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

/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK

/* fpresetsticky is present */
#undef HAVE_FPRESETSTICKY

/* Define if you have fpsetmask. */
#undef HAVE_FPSETMASK

/* fpsetsticky is present */
#undef HAVE_FPSETSTICKY

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

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

/* fp_enable is present */
#undef HAVE_FP_ENABLE

/* Define to 1 if the system has the type `fp_except'. */
#undef HAVE_FP_EXCEPT

/* Define to 1 if the system has the type `fp_except_t'. */
#undef HAVE_FP_EXCEPT_T

/* Define to 1 if the system has the type `fp_rnd'. */
#undef HAVE_FP_RND

/* Define to 1 if the system has the type `fp_rnd_t'. */
#undef HAVE_FP_RND_T

/* fp_trap is present */
#undef HAVE_FP_TRAP

/* Define to 1 if you have the `freelocale' function. */
#undef HAVE_FREELOCALE

/* Define to 1 if you have the `frexp' function. */
#undef HAVE_FREXP

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

/* Define to 1 if you have the `frexpf128' function. */
#undef HAVE_FREXPF128

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

/* Define to 1 if you have the `fstat' function. */
#undef HAVE_FSTAT

/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE

/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD

/* Define to 1 if you have the `getegid' function. */
#undef HAVE_GETEGID

/* Define to 1 if you have the `getentropy' function. */
#undef HAVE_GETENTROPY

/* Define to 1 if you have the `geteuid' function. */
#undef HAVE_GETEUID

/* Define to 1 if you have the `getgid' function. */
#undef HAVE_GETGID

/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME

/* Define to 1 if you have the `getlogin' function. */
#undef HAVE_GETLOGIN

/* Define to 1 if you have the `getpid' function. */
#undef HAVE_GETPID

/* Define to 1 if you have the `getpwuid' function. */
#undef HAVE_GETPWUID

/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R

/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE

/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY

/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID

/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R

/* 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 `hypotf128' function. */
#undef HAVE_HYPOTF128

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

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

/* Define to 1 if `__builtin_copysign' is expanded inline. */
#undef HAVE_INLINE_BUILTIN_COPYSIGN

/* Define to 1 if `__builtin_copysignl' is expanded inline. */
#undef HAVE_INLINE_BUILTIN_COPYSIGNL

/* Define to 1 if `__builtin_fabs' is expanded inline. */
#undef HAVE_INLINE_BUILTIN_FABS

/* Define to 1 if `__builtin_fabsl' is expanded inline. */
#undef HAVE_INLINE_BUILTIN_FABSL

/* Define to 1 if the system has the type `intptr_t'. */
#undef HAVE_INTPTR_T

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

/* Define to 1 if you have the `j0' function. */
#undef HAVE_J0

/* Define to 1 if you have the `j0f' function. */
#undef HAVE_J0F

/* Define to 1 if you have the `j0f128' function. */
#undef HAVE_J0F128

/* Define to 1 if you have the `j1' function. */
#undef HAVE_J1

/* Define to 1 if you have the `j1f' function. */
#undef HAVE_J1F

/* Define to 1 if you have the `j1f128' function. */
#undef HAVE_J1F128

/* Define to 1 if you have the `jn' function. */
#undef HAVE_JN

/* Define to 1 if you have the `jnf' function. */
#undef HAVE_JNF

/* Define to 1 if you have the `jnf128' function. */
#undef HAVE_JNF128

/* Define to 1 if you have the `jnl' function. */
#undef HAVE_JNL

/* Define to 1 if you have the `kill' function. */
#undef HAVE_KILL

/* Define to 1 if you have the `ldexp' function. */
#undef HAVE_LDEXP

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

/* Define to 1 if you have the `ldexpf128' function. */
#undef HAVE_LDEXPF128

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

/* Define to 1 if you have the `lgamma' function. */
#undef HAVE_LGAMMA

/* Define to 1 if you have the `lgammaf' function. */
#undef HAVE_LGAMMAF

/* Define to 1 if you have the `lgammaf128' function. */
#undef HAVE_LGAMMAF128

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

/* Define to 1 if you have the `link' function. */
#undef HAVE_LINK

/* Define to 1 if you have the `llround' function. */
#undef HAVE_LLROUND

/* Define to 1 if you have the `llroundf' function. */
#undef HAVE_LLROUNDF

/* Define to 1 if you have the `llroundf128' function. */
#undef HAVE_LLROUNDF128

/* Define to 1 if you have the `llroundl' function. */
#undef HAVE_LLROUNDL

/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R

/* Define to 1 if you have the `log' function. */
#undef HAVE_LOG

/* Define to 1 if you have the `log10' function. */
#undef HAVE_LOG10

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

/* Define to 1 if you have the `log10f128' function. */
#undef HAVE_LOG10F128

/* 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 `logf128' function. */
#undef HAVE_LOGF128

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

/* Define to 1 if you have the `lround' function. */
#undef HAVE_LROUND

/* Define to 1 if you have the `lroundf' function. */
#undef HAVE_LROUNDF

/* Define to 1 if you have the `lroundf128' function. */
#undef HAVE_LROUNDF128

/* Define to 1 if you have the `lroundl' function. */
#undef HAVE_LROUNDL

/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT

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

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

/* Define if you have __mingw_snprintf. */
#undef HAVE_MINGW_SNPRINTF

/* Define to 1 if you have the `mkostemp' function. */
#undef HAVE_MKOSTEMP

/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP

/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP

/* Define to 1 if you have the `newlocale' function. */
#undef HAVE_NEWLOCALE

/* Define to 1 if you have the `nextafter' function. */
#undef HAVE_NEXTAFTER

/* Define to 1 if you have the `nextafterf' function. */
#undef HAVE_NEXTAFTERF

/* Define to 1 if you have the `nextafterf128' function. */
#undef HAVE_NEXTAFTERF128

/* Define to 1 if you have the `nextafterl' function. */
#undef HAVE_NEXTAFTERL

/* Define to 1 if we have POSIX getpwuid_r which takes 5 arguments. */
#undef HAVE_POSIX_GETPWUID_R

/* Define to 1 if you have the `posix_spawn' function. */
#undef HAVE_POSIX_SPAWN

/* Define to 1 if you have the `pow' function. */
#undef HAVE_POW

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

/* Define to 1 if you have the `powf128' function. */
#undef HAVE_POWF128

/* Have PTHREAD_PRIO_INHERIT. */
#undef HAVE_PTHREAD_PRIO_INHERIT

/* Define to 1 if the system has the type `ptrdiff_t'. */
#undef HAVE_PTRDIFF_T

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

/* Define to 1 if you have REAL(KIND=17) */
#undef HAVE_REAL_17

/* Define to 1 if you have the `round' function. */
#undef HAVE_ROUND

/* Define to 1 if you have the `roundf' function. */
#undef HAVE_ROUNDF

/* Define to 1 if you have the `roundf128' function. */
#undef HAVE_ROUNDF128

/* Define to 1 if you have the `roundl' function. */
#undef HAVE_ROUNDL

/* Define to 1 if you have the `scalbn' function. */
#undef HAVE_SCALBN

/* Define to 1 if you have the `scalbnf' function. */
#undef HAVE_SCALBNF

/* Define to 1 if you have the `scalbnf128' function. */
#undef HAVE_SCALBNF128

/* Define to 1 if you have the `scalbnl' function. */
#undef HAVE_SCALBNL

/* 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 `setmode' function. */
#undef HAVE_SETMODE

/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION

/* Define to 1 if you have the `sin' function. */
#undef HAVE_SIN

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

/* Define to 1 if you have the `sinf128' function. */
#undef HAVE_SINF128

/* Define to 1 if you have the `sinh' function. */
#undef HAVE_SINH

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

/* Define to 1 if you have the `sinhf128' function. */
#undef HAVE_SINHF128

/* 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 `sleep' function. */
#undef HAVE_SLEEP

/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF

/* Define to 1 if you have the `sqrt' function. */
#undef HAVE_SQRT

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

/* Define to 1 if you have the `sqrtf128' function. */
#undef HAVE_SQRTF128

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

/* Define to 1 if you have the `stat' function. */
#undef HAVE_STAT

/* 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 to 1 if you have the `strerror_l' function. */
#undef HAVE_STRERROR_L

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

/* Define if strerror_r takes two arguments and is available in <string.h>. */
#undef HAVE_STRERROR_R_2ARGS

/* Define to 1 if you have the `strfromf128' function. */
#undef HAVE_STRFROMF128

/* 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 `strndup' function. */
#undef HAVE_STRNDUP

/* Define to 1 if you have the `strnlen' function. */
#undef HAVE_STRNLEN

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

/* Define to 1 if you have the `strtof128' function. */
#undef HAVE_STRTOF128

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

/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE

/* Define to 1 if `st_blocks' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS

/* Define to 1 if `st_rdev' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV

/* Define to 1 if you have the `symlink' function. */
#undef HAVE_SYMLINK

/* 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/random.h> header file. */
#undef HAVE_SYS_RANDOM_H

/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_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/times.h> header file. */
#undef HAVE_SYS_TIMES_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 to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H

/* Define to 1 if you have the `tan' function. */
#undef HAVE_TAN

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

/* Define to 1 if you have the `tanf128' function. */
#undef HAVE_TANF128

/* Define to 1 if you have the `tanh' function. */
#undef HAVE_TANH

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

/* Define to 1 if you have the `tanhf128' function. */
#undef HAVE_TANHF128

/* 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 `tgamma' function. */
#undef HAVE_TGAMMA

/* Define to 1 if you have the `tgammaf' function. */
#undef HAVE_TGAMMAF

/* Define to 1 if you have the `tgammaf128' function. */
#undef HAVE_TGAMMAF128

/* Define to 1 if you have the `times' function. */
#undef HAVE_TIMES

/* Define to 1 if you have the `trunc' function. */
#undef HAVE_TRUNC

/* Define to 1 if you have the `truncf' function. */
#undef HAVE_TRUNCF

/* Define to 1 if you have the `truncf128' function. */
#undef HAVE_TRUNCF128

/* Define to 1 if you have the `truncl' function. */
#undef HAVE_TRUNCL

/* Define to 1 if you have the `ttyname' function. */
#undef HAVE_TTYNAME

/* Define to 1 if you have the `ttyname_r' function. */
#undef HAVE_TTYNAME_R

/* Define to 1 if the system has the type `uintptr_t'. */
#undef HAVE_UINTPTR_T

/* Define to 1 if you have the `umask' function. */
#undef HAVE_UMASK

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

/* Define if target can unlink open files. */
#undef HAVE_UNLINK_OPEN_FILE

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

/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF

/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID

/* Define if target has a reliable stat. */
#undef HAVE_WORKING_STAT

/* Define to 1 if you have the `writev' function. */
#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 `y0' function. */
#undef HAVE_Y0

/* Define to 1 if you have the `y0f' function. */
#undef HAVE_Y0F

/* Define to 1 if you have the `y0f128' function. */
#undef HAVE_Y0F128

/* Define to 1 if you have the `y1' function. */
#undef HAVE_Y1

/* Define to 1 if you have the `y1f' function. */
#undef HAVE_Y1F

/* Define to 1 if you have the `y1f128' function. */
#undef HAVE_Y1F128

/* Define to 1 if you have the `yn' function. */
#undef HAVE_YN

/* Define to 1 if you have the `ynf' function. */
#undef HAVE_YNF

/* Define to 1 if you have the `ynf128' function. */
#undef HAVE_YNF128

/* Define to 1 if you have the `ynl' function. */
#undef HAVE_YNL

/* Define to 1 if you have the `__acoshieee128' function. */
#undef HAVE___ACOSHIEEE128

/* Define to 1 if you have the `__acosieee128' function. */
#undef HAVE___ACOSIEEE128

/* Define to 1 if you have the `__asinhieee128' function. */
#undef HAVE___ASINHIEEE128

/* Define to 1 if you have the `__asinieee128' function. */
#undef HAVE___ASINIEEE128

/* Define to 1 if you have the `__atan2ieee128' function. */
#undef HAVE___ATAN2IEEE128

/* Define to 1 if you have the `__atanhieee128' function. */
#undef HAVE___ATANHIEEE128

/* Define to 1 if you have the `__atanieee128' function. */
#undef HAVE___ATANIEEE128

/* Define to 1 if you have the `__coshieee128' function. */
#undef HAVE___COSHIEEE128

/* Define to 1 if you have the `__cosieee128' function. */
#undef HAVE___COSIEEE128

/* Define to 1 if you have the `__erfieee128' function. */
#undef HAVE___ERFIEEE128

/* Define to 1 if you have the `__expieee128' function. */
#undef HAVE___EXPIEEE128

/* Define to 1 if you have the `__fabsieee128' function. */
#undef HAVE___FABSIEEE128

/* Define to 1 if you have the `__jnieee128' function. */
#undef HAVE___JNIEEE128

/* Define to 1 if you have the `__log10ieee128' function. */
#undef HAVE___LOG10IEEE128

/* Define to 1 if you have the `__logieee128' function. */
#undef HAVE___LOGIEEE128

/* Define to 1 if you have the `__powieee128' function. */
#undef HAVE___POWIEEE128

/* Define to 1 if you have the `__secure_getenv' function. */
#undef HAVE___SECURE_GETENV

/* Define to 1 if you have the `__sinhieee128' function. */
#undef HAVE___SINHIEEE128

/* Define to 1 if you have the `__sinieee128' function. */
#undef HAVE___SINIEEE128

/* Define to 1 if you have the `__sqrtieee128' function. */
#undef HAVE___SQRTIEEE128

/* Define to 1 if you have the `__tanhieee128' function. */
#undef HAVE___TANHIEEE128

/* Define to 1 if you have the `__tanieee128' function. */
#undef HAVE___TANIEEE128

/* Define to 1 if you have the `__ynieee128' function. */
#undef HAVE___YNIEEE128

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

/* 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 necessary symbol if this constant uses a non-standard name on
   your system. */
#undef PTHREAD_CREATE_JOINABLE

/* The size of `char', as computed by sizeof. */
#undef SIZEOF_CHAR

/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT

/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG

/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT

/* The size of `void *', as computed by sizeof. */
#undef SIZEOF_VOID_P

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

/* Define to 1 if the target supports #pragma weak */
#undef SUPPORTS_WEAK

/* Define to 1 if the target supports weakref */
#undef SUPPORTS_WEAKREF

/* Define if IEC 60559 *f128 APIs should be used for _Float128. */
#undef USE_IEC_60559

/* Enable extensions on AIX 3, Interix.  */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris.  */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop.  */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris.  */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif


/* 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 for large files, on AIX-style hosts. */
#undef _LARGE_FILES

/* Define to 1 if on MINIX. */
#undef _MINIX

/* Define to 2 if the system does not provide POSIX.1 features except with
   this defined. */
#undef _POSIX_1_SOURCE

/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE

/* Define to the type of a signed integer type wide enough to hold a pointer,
   if such a type exists, and if the system does not define it. */
#undef intptr_t

/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t

/* Define to the type of an unsigned integer type wide enough to hold a
   pointer, if such a type exists, and if the system does not define it. */
#undef uintptr_t
