# remainderf.m4
-# serial 16
+# serial 17
dnl Copyright (C) 2012-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
*yes) ;;
*) REPLACE_REMAINDERF=1 ;;
esac
-
- m4_ifdef([gl_FUNC_REMAINDERF_IEEE], [
- if test $gl_remainderf_required = ieee && test $REPLACE_REMAINDERF = 0; then
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether remainderf works according to ISO C 99 with IEC 60559],
- [gl_cv_func_remainderf_ieee],
- [
- saved_LIBS="$LIBS"
- LIBS="$LIBS $REMAINDERF_LIBM"
- AC_RUN_IFELSE(
- [AC_LANG_SOURCE([[
-#ifndef __NO_MATH_INLINES
-# define __NO_MATH_INLINES 1 /* for glibc */
-#endif
-#include <math.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-float remainderf (float, float);
-/* Compare two numbers with ==.
- This is a separate function because IRIX 6.5 "cc -O" miscompiles an
- 'x == x' test. */
-static int
-numeric_equal (float x, float y)
-{
- return x == y;
-}
-static float dummy (float x, float y) { return 0; }
-int main (int argc, char *argv[])
-{
- float (* volatile my_remainderf) (float, float) = argc ? remainderf : dummy;
- float f;
- /* Test remainderf(...,0.0f).
- This test fails on OSF/1 5.1. */
- f = my_remainderf (2.0f, 0.0f);
- if (numeric_equal (f, f))
- return 1;
- return 0;
-}
- ]])],
- [gl_cv_func_remainderf_ieee=yes],
- [gl_cv_func_remainderf_ieee=no],
- [case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_remainderf_ieee="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl* | midipix*) gl_cv_func_remainderf_ieee="guessing yes" ;;
- # Guess yes on native Windows.
- mingw* | windows*) gl_cv_func_remainderf_ieee="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_remainderf_ieee="$gl_cross_guess_normal" ;;
- esac
- ])
- LIBS="$saved_LIBS"
- ])
- case "$gl_cv_func_remainderf_ieee" in
- *yes) ;;
- *) REPLACE_REMAINDERF=1 ;;
- esac
- fi
- ])
else
HAVE_REMAINDERF=0
fi