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

/* Does gettimeofday take a single argument */
#undef GETTIMEOFDAY_ONE_ARGUMENT

/* libm includes acosf */
#undef HAVE_ACOSF

/* libm includes asinf */
#undef HAVE_ASINF

/* libm includes atan2f */
#undef HAVE_ATAN2F

/* libm includes atanf */
#undef HAVE_ATANF

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

/* Define to 1 if the target supports __attribute__((dllexport)). */
#undef HAVE_ATTRIBUTE_DLLEXPORT

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

/* libm includes ceilf */
#undef HAVE_CEILF

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

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

/* complex.h exists */
#undef HAVE_COMPLEX_H

/* libm includes copysignf */
#undef HAVE_COPYSIGNF

/* libm includes cosf */
#undef HAVE_COSF

/* libm includes coshf */
#undef HAVE_COSHF

/* libm includes erf */
#undef HAVE_ERF

/* libm includes erfc */
#undef HAVE_ERFC

/* libm includes erfcf */
#undef HAVE_ERFCF

/* libm includes erff */
#undef HAVE_ERFF

/* libm includes expf */
#undef HAVE_EXPF

/* libm includes fabsf */
#undef HAVE_FABSF

/* libm includes finite */
#undef HAVE_FINITE

/* libm includes floorf */
#undef HAVE_FLOORF

/* libm includes frexpf */
#undef HAVE_FREXPF

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

/* libc includes getgid */
#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 `getpagesize' function. */
#undef HAVE_GETPAGESIZE

/* libc includes getpid */
#undef HAVE_GETPID

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

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

/* libc includes getuid */
#undef HAVE_GETUID

/* libm includes hypotf */
#undef HAVE_HYPOTF

/* 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

/* libm includes j0 */
#undef HAVE_J0

/* libm includes j0f */
#undef HAVE_J0F

/* libm includes j1 */
#undef HAVE_J1

/* libm includes j1f */
#undef HAVE_J1F

/* libm includes jn */
#undef HAVE_JN

/* libm includes jnf */
#undef HAVE_JNF

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

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

/* libm includes log10f */
#undef HAVE_LOG10F

/* libm includes logf */
#undef HAVE_LOGF

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

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

/* libm includes nextafter */
#undef HAVE_NEXTAFTER

/* libm includes nextafterf */
#undef HAVE_NEXTAFTERF

/* Define to 1 if you have the `perror' function. */
#undef HAVE_PERROR

/* libm includes powf */
#undef HAVE_POWF

/* libm includes round */
#undef HAVE_ROUND

/* libm includes roundf */
#undef HAVE_ROUNDF

/* libm includes scalbn */
#undef HAVE_SCALBN

/* libm includes scalbnf */
#undef HAVE_SCALBNF

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

/* libm includes sinf */
#undef HAVE_SINF

/* libm includes sinhf */
#undef HAVE_SINHF

/* Define to 1 if you have the `sleep' function. */
#undef HAVE_SLEEP

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

/* libm includes sqrtf */
#undef HAVE_SQRTF

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

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

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

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

/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR

/* 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 `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE

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

/* Define to 1 if `st_rdev' is 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/params.h> header file. */
#undef HAVE_SYS_PARAMS_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

/* libm includes tanf */
#undef HAVE_TANF

/* libm includes tanhf */
#undef HAVE_TANHF

/* Define to 1 if you have the `time' function. */
#undef HAVE_TIME

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

/* Do we have struct timezone */
#undef HAVE_TIMEZONE

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

/* libm includes trunc */
#undef HAVE_TRUNC

/* libm includes truncf */
#undef HAVE_TRUNCF

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

/* libm includes y0 */
#undef HAVE_Y0

/* libm includes y0f */
#undef HAVE_Y0F

/* libm includes y1 */
#undef HAVE_Y1

/* libm includes y1f */
#undef HAVE_Y1F

/* libm includes yn */
#undef HAVE_YN

/* libm includes ynf */
#undef HAVE_YNF

/* 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 version of this package. */
#undef PACKAGE_VERSION

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

/* Define to 1 if the target is ILP32. */
#undef TARGET_ILP32

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

/* 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 `long' if <sys/types.h> does not define. */
#undef off_t
