mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-29 08:20:20 +02:00
Use trunc in scm_i_inexact_truncate_divide
* libguile/numbers.c (scm_i_inexact_truncate_divide): Use trunc instead of floor and ceil. Important for consistency with scm_truncate_quotient and scm_truncate_remainder. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
14d2ee3116
commit
c15fe4999a
1 changed files with 2 additions and 5 deletions
|
@ -2450,11 +2450,8 @@ scm_i_inexact_truncate_divide (double x, double y, SCM *qp, SCM *rp)
|
||||||
scm_num_overflow (s_scm_truncate_divide); /* or return a NaN? */
|
scm_num_overflow (s_scm_truncate_divide); /* or return a NaN? */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
double q, r, q1;
|
double q = trunc (x / y);
|
||||||
/* FIXME: Use trunc, after it has been imported from gnulib */
|
double r = x - q * y;
|
||||||
q1 = x / y;
|
|
||||||
q = (q1 >= 0) ? floor (q1) : ceil (q1);
|
|
||||||
r = x - q * y;
|
|
||||||
*qp = scm_from_double (q);
|
*qp = scm_from_double (q);
|
||||||
*rp = scm_from_double (r);
|
*rp = scm_from_double (r);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue