aboutsummaryrefslogtreecommitdiff
path: root/source/f32_rem.c
diff options
context:
space:
mode:
authorJohn Hauser <jhauser@eecs.berkeley.edu>2014-12-11 14:27:41 -0800
committerJohn Hauser <jhauser@eecs.berkeley.edu>2014-12-11 14:27:41 -0800
commit5c93163afa8d4b00eddd401880c0bacb6d8c5d84 (patch)
treed9fb7f37413597d388d24a8c17546ce1d20c0bc6 /source/f32_rem.c
parent8f59d925353145a65c09301dea6c47da1f1311b1 (diff)
downloadberkeley-softfloat-3-5c93163afa8d4b00eddd401880c0bacb6d8c5d84.zip
berkeley-softfloat-3-5c93163afa8d4b00eddd401880c0bacb6d8c5d84.tar.gz
berkeley-softfloat-3-5c93163afa8d4b00eddd401880c0bacb6d8c5d84.tar.bz2
Update in RC for Release 3, fixing some bugs and adding to the documentation.
Diffstat (limited to 'source/f32_rem.c')
-rw-r--r--source/f32_rem.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/source/f32_rem.c b/source/f32_rem.c
index 73bcb00..583293b 100644
--- a/source/f32_rem.c
+++ b/source/f32_rem.c
@@ -50,11 +50,9 @@ float32_t f32_rem( float32_t a, float32_t b )
int_fast16_t expB;
uint_fast32_t sigB;
struct exp16_sig32 normExpSig;
- uint_fast32_t rem;
+ uint32_t rem;
int_fast16_t expDiff;
- uint32_t q, recip32;
- uint_fast32_t altRem;
- uint32_t meanRem;
+ uint32_t q, recip32, altRem, meanRem;
bool signRem;
uint_fast32_t uiZ;
union ui32_f32 uZ;
@@ -125,7 +123,7 @@ float32_t f32_rem( float32_t a, float32_t b )
*--------------------------------------------------------------------*/
sigB <<= 6;
for (;;) {
- q = ((uint32_t) rem * (uint_fast64_t) recip32)>>32;
+ q = (rem * (uint_fast64_t) recip32)>>32;
if ( expDiff < 0 ) break;
rem = -(q * (uint32_t) sigB);
expDiff -= 29;