s/abs/labs for long argument

This commit is contained in:
Alex Shinn 2015-02-06 10:46:43 +09:00
parent f54e40547d
commit 6a248bad08

2
eval.c
View file

@ -1502,7 +1502,7 @@ sexp sexp_inexact_sqrt (sexp ctx, sexp self, sexp_sint_t n, sexp z) {
sexp_gc_preserve1(ctx, res);
r = sqrt(d);
if (sexp_fixnump(z)
&& (((sexp_uint_t)r*(sexp_uint_t)r)==abs(sexp_unbox_fixnum(z))))
&& (((sexp_uint_t)r*(sexp_uint_t)r)==labs(sexp_unbox_fixnum(z))))
res = sexp_make_fixnum(round(r));
else
res = sexp_make_flonum(ctx, r);