Eliminate code duplication for futures/non-futures mode

This commit is contained in:
James Swaine 2012-10-19 15:38:23 -05:00
parent 09dd60789a
commit 44078a1f01

View File

@ -1488,14 +1488,12 @@ scheme_inexact_p (int argc, Scheme_Object *argv[])
return (v ? scheme_true : scheme_false); return (v ? scheme_true : scheme_false);
} }
#ifdef MZ_USE_FUTURES
Scheme_Object *odd_p_error(int argc, Scheme_Object *argv[]) Scheme_Object *odd_p_error(int argc, Scheme_Object *argv[])
{ {
NEED_INTEGER(odd?); NEED_INTEGER(odd?);
ESCAPED_BEFORE_HERE; ESCAPED_BEFORE_HERE;
} }
#endif
Scheme_Object * Scheme_Object *
scheme_odd_p (int argc, Scheme_Object *argv[]) scheme_odd_p (int argc, Scheme_Object *argv[])
@ -1522,22 +1520,16 @@ scheme_odd_p (int argc, Scheme_Object *argv[])
if (scheme_use_rtcall) if (scheme_use_rtcall)
return scheme_rtcall_iS_s("[odd?]", SIG_iS_s, odd_p_error, argc, argv); return scheme_rtcall_iS_s("[odd?]", SIG_iS_s, odd_p_error, argc, argv);
else else
return odd_p_error(argc, argv);
#else
NEED_INTEGER(odd?);
ESCAPED_BEFORE_HERE;
#endif #endif
return odd_p_error(argc, argv);
} }
#ifdef MZ_USE_FUTURES
Scheme_Object *even_p_error(int argc, Scheme_Object *argv[]) Scheme_Object *even_p_error(int argc, Scheme_Object *argv[])
{ {
NEED_INTEGER(even?); NEED_INTEGER(even?);
ESCAPED_BEFORE_HERE; ESCAPED_BEFORE_HERE;
} }
#endif
Scheme_Object * Scheme_Object *
scheme_even_p (int argc, Scheme_Object *argv[]) scheme_even_p (int argc, Scheme_Object *argv[])
@ -1564,12 +1556,8 @@ scheme_even_p (int argc, Scheme_Object *argv[])
if (scheme_use_rtcall) if (scheme_use_rtcall)
return scheme_rtcall_iS_s("[even?]", SIG_iS_s, even_p_error, argc, argv); return scheme_rtcall_iS_s("[even?]", SIG_iS_s, even_p_error, argc, argv);
else else
return even_p_error(argc, argv);
#else
NEED_INTEGER(even?);
ESCAPED_BEFORE_HERE;
#endif #endif
return even_p_error(argc, argv);
} }
static Scheme_Object *bin_lcm (Scheme_Object *n1, Scheme_Object *n2); static Scheme_Object *bin_lcm (Scheme_Object *n1, Scheme_Object *n2);