# HG changeset patch # User John W. Eaton # Date 1289326875 18000 # Node ID 009d16b010fa3725f42dbf15ed18e8f3001d72a8 # Parent ce27d6f4e134416a2f030341c5ea00cfc8fbc0dc lo-mappers.cc (xmod, xrem): don't copy sign if result is zero diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,7 @@ +2010-11-09 John W. Eaton + + * lo-mappers.h (xmod, xrem): Don't copy sign if result is zero. + 2010-11-09 John W. Eaton * lo-mappers.cc, lo-mappers.h (xisnan, xisinf, xfinite, xmod, diff --git a/liboctave/lo-mappers.h b/liboctave/lo-mappers.h --- a/liboctave/lo-mappers.h +++ b/liboctave/lo-mappers.h @@ -346,7 +346,7 @@ retval = x - y * n; } - if (x != y && y != 0) + if (x != y && y != 0 && retval != 0) retval = xcopysign (retval, y); return retval; @@ -391,7 +391,7 @@ retval = x - y * n; } - if (x != y && y != 0) + if (x != y && y != 0 && retval != 0) retval = xcopysign (retval, x); return retval;