AC_CHECK_FUNCS([fcntl fdatasync feclearexcept fedisableexcept feenableexcept])
AC_CHECK_FUNCS([fegetenv fegetexcept fegetexceptflag fegetround feholdexcept])
AC_CHECK_FUNCS([feraiseexcept fesetenv fesetexceptflag fesetround])
-AC_CHECK_FUNCS([fetestexcept feupdateenv floor fpathconf frexp fpgetround])
-AC_CHECK_FUNCS([fpsetround fsync fsync_range ftruncate])
+AC_CHECK_FUNCS([fetestexcept feupdateenv floor fmod fpathconf fpgetround])
+AC_CHECK_FUNCS([fpsetround frexp fsync fsync_range ftruncate])
AC_CHECK_FUNCS([getcwd gethostbyname gethostname getlogin getpagesize getpgrp])
AC_CHECK_FUNCS([getpt gettimeofday getwd grantpt])
AC_CHECK_FUNCS([kill])
}
}
+DEFINE_PRIMITIVE ("FLONUM-MODULO", Prim_flonum_modulo, 2, 2, 0)
+#ifdef HAVE_FMOD
+{
+ PRIMITIVE_HEADER (2);
+ {
+ double denominator = (arg_flonum (2));
+ if (denominator == 0)
+ error_bad_range_arg (2);
+ FLONUM_RESULT (fmod ((arg_flonum (1)), denominator));
+ }
+}
+#else
+{
+ error_unimplemented_primitive ();
+ PRIMITIVE_RETURN (UNSPECIFIC);
+}
+#endif
+
DEFINE_PRIMITIVE ("FLONUM-NEGATE", Prim_flonum_negate, 1, 1, 0)
{
PRIMITIVE_HEADER (1);
/* Define if you have the floor function. */
#define HAVE_FLOOR 1
+/* Define if you have the fmod function. */
+#define HAVE_FMOD 1
+
/* Define if you have the frexp function. */
#define HAVE_FREXP 1
/* Define if you have the floor function. */
#define HAVE_FLOOR 1
+/* Define if you have the fmod function. */
+#define HAVE_FMOD 1
+
/* Define if you have the frexp function. */
#define HAVE_FREXP 1