Having lround() does not mean llround() is available.
We need to check for both lround() and llround() for at least Cygwin.
This commit is contained in:
parent
b416176c4d
commit
a1e2bfc93c
|
|
@ -174,6 +174,7 @@ AC_CHECK_FUNCS(fopen64)
|
||||||
# systems we may need to use the compiler in C99 mode to get a definition.
|
# systems we may need to use the compiler in C99 mode to get a definition.
|
||||||
# We requested C99 mode earlier with AC_PROG_CC_C99.
|
# We requested C99 mode earlier with AC_PROG_CC_C99.
|
||||||
AC_SEARCH_LIBS([lround], [m], [AC_DEFINE([HAVE_LROUND], [1])])
|
AC_SEARCH_LIBS([lround], [m], [AC_DEFINE([HAVE_LROUND], [1])])
|
||||||
|
AC_SEARCH_LIBS([llround], [m], [AC_DEFINE([HAVE_LLROUND], [1])])
|
||||||
AC_SEARCH_LIBS([nan], [m], [AC_DEFINE([HAVE_NAN], [1])])
|
AC_SEARCH_LIBS([nan], [m], [AC_DEFINE([HAVE_NAN], [1])])
|
||||||
AC_SEARCH_LIBS([fmin], [m], [AC_DEFINE([HAVE_FMIN], [1])])
|
AC_SEARCH_LIBS([fmin], [m], [AC_DEFINE([HAVE_FMIN], [1])])
|
||||||
AC_SEARCH_LIBS([fmax], [m], [AC_DEFINE([HAVE_FMAX], [1])])
|
AC_SEARCH_LIBS([fmax], [m], [AC_DEFINE([HAVE_FMAX], [1])])
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
# undef HAVE_READLINE_HISTORY_H
|
# undef HAVE_READLINE_HISTORY_H
|
||||||
# undef HAVE_INTTYPES_H
|
# undef HAVE_INTTYPES_H
|
||||||
# undef HAVE_LROUND
|
# undef HAVE_LROUND
|
||||||
|
# undef HAVE_LLROUND
|
||||||
# undef HAVE_NAN
|
# undef HAVE_NAN
|
||||||
# undef UINT64_T_AND_ULONG_SAME
|
# undef UINT64_T_AND_ULONG_SAME
|
||||||
|
|
||||||
|
|
@ -147,8 +148,13 @@ inline long int lround(double x)
|
||||||
else
|
else
|
||||||
return (long)ceil(x-0.5);
|
return (long)ceil(x-0.5);
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_LROUND */
|
||||||
|
|
||||||
|
#if ((SIZEOF_UNSIGNED_LONG < 8) && (SIZEOF_UNSIGNED_LONG_LONG >= 8))
|
||||||
|
#if !defined(HAVE_LLROUND)
|
||||||
/*
|
/*
|
||||||
* We also need an equivalent function with a 64-bit return value.
|
* We also need an equivalent function with a 64-bit return value if
|
||||||
|
* it is not available.
|
||||||
*/
|
*/
|
||||||
inline int64_t i64round(double x)
|
inline int64_t i64round(double x)
|
||||||
{
|
{
|
||||||
|
|
@ -157,16 +163,13 @@ inline int64_t i64round(double x)
|
||||||
else
|
else
|
||||||
return (int64_t)ceil(x-0.5);
|
return (int64_t)ceil(x-0.5);
|
||||||
}
|
}
|
||||||
#else /* HAVE_LROUND */
|
#else /* HAVE_LLROUND */
|
||||||
|
|
||||||
#if ((SIZEOF_UNSIGNED_LONG < 8) && (SIZEOF_UNSIGNED_LONG_LONG >= 8))
|
|
||||||
# define i64round llround
|
# define i64round llround
|
||||||
|
#endif /* HAVE_LLROUND */
|
||||||
#else
|
#else
|
||||||
# define i64round lround
|
# define i64round lround
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* HAVE_LROUND */
|
|
||||||
|
|
||||||
#if !defined(HAVE_NAN)
|
#if !defined(HAVE_NAN)
|
||||||
# define nan(x) (NAN)
|
# define nan(x) (NAN)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue