diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-03-25 09:36:59 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-03-25 09:36:59 +0000 |
commit | b513f647694a76714bde34d4cdc3990ce0dec7c3 (patch) | |
tree | 1db8b7e0aae1c2bcf04eb0c9012da5333e57d5c7 /numeric.c | |
parent | 24a82091466f3b522b2ad2c9c0163d84e3e66314 (diff) |
heredoc etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r-- | numeric.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -279,7 +279,7 @@ flo_modulo(x, y, modulo) VALUE x, y; int modulo; { - double value; + double value, result; switch (TYPE(y)) { case T_FIXNUM: @@ -296,22 +296,21 @@ flo_modulo(x, y, modulo) } #ifdef HAVE_FMOD - value = fmod(RFLOAT(x)->value, value); + result = fmod(RFLOAT(x)->value, value); #else { double value1 = RFLOAT(x)->value; double value2; modf(value1/value, &value2); - value = value1 - value2 * value; + result = value1 - value2 * value; } #endif if (modulo && - (RFLOAT(x)->value < 0.0) != (RFLOAT(y)->value < 0.0) && - value != 0.0) { - value += RFLOAT(y)->value; + (RFLOAT(x)->value < 0.0) != (result < 0.0) && result != 0.0) { + result += value; } - return float_new(value); + return float_new(result); } static VALUE |