reduce CPP noise

This commit is contained in:
Matthew Flatt 2014-11-05 09:00:18 -07:00
parent 1d09fbde37
commit b9d8f65fc9

View File

@ -3557,10 +3557,8 @@ scheme_expt(int argc, Scheme_Object *argv[])
if ((d == 0.0)
#ifdef NAN_EQUALS_ANYTHING
&& !MZ_IS_NAN(d)
#else
&& 1
#endif
) {
&& 1) {
if (SCHEME_REALP(e)) {
int norm = 0;
@ -3578,6 +3576,9 @@ scheme_expt(int argc, Scheme_Object *argv[])
int isnonneg, iseven, negz;
#ifdef MZ_USE_SINGLE_FLOATS
int sgl = !SCHEME_DBLP(n) && !SCHEME_DBLP(e);
# define SELECT_EXPT_PRECISION(f, d) (sgl ? f : d)
#else
# define SELECT_EXPT_PRECISION(f, d) d
#endif
if (scheme_is_integer(e)) {
@ -3590,33 +3591,17 @@ scheme_expt(int argc, Scheme_Object *argv[])
negz = scheme_minus_zero_p(d);
if (isnonneg) {
if (iseven || !negz) {
#ifdef MZ_USE_SINGLE_FLOATS
if (sgl)
return scheme_zerof;
#endif
return scheme_zerod;
if (iseven || !negz)
return SELECT_EXPT_PRECISION(scheme_zerof, scheme_zerod);
else
return SELECT_EXPT_PRECISION(scheme_nzerof, scheme_nzerod);
} else {
#ifdef MZ_USE_SINGLE_FLOATS
if (sgl)
return scheme_nzerof;
#endif
return scheme_nzerod;
}
} else {
if (iseven || !negz) {
#ifdef MZ_USE_SINGLE_FLOATS
if (sgl)
return scheme_single_inf_object;
#endif
return scheme_inf_object;
} else {
#ifdef MZ_USE_SINGLE_FLOATS
if (sgl)
return scheme_single_minus_inf_object;
#endif
return scheme_minus_inf_object;
}
if (iseven || !negz)
return SELECT_EXPT_PRECISION(scheme_single_inf_object,
scheme_inf_object);
else
return SELECT_EXPT_PRECISION(scheme_single_minus_inf_object,
scheme_minus_inf_object);
}
}
}