From 436005dc6867ce0667ce84e7cc2ac4fe5d089bf4 Mon Sep 17 00:00:00 2001 From: hellerve Date: Wed, 9 Aug 2017 15:03:00 -0400 Subject: [PATCH] it worx --- silleee.c | 8 ++++---- silleee.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/silleee.c b/silleee.c index 918174d..b1aab85 100644 --- a/silleee.c +++ b/silleee.c @@ -29,7 +29,6 @@ silleee shift_and_round(int val, int bits) { } silleee silleee_add(silleee x, silleee y) { - silleee dest = 0; int dexp; long unsigned dmant; int dsign; @@ -57,8 +56,9 @@ silleee silleee_add(silleee x, silleee y) { dexp = yexp; - if (yexp > xexp) xmant = shift_and_round(xmant, yexp-xexp); - else if (yexp < xexp) { + if (yexp > xexp) { + xmant = shift_and_round(xmant, yexp-xexp); + } else if (yexp < xexp) { ymant = shift_and_round(ymant, xexp-yexp); dexp = xexp; } @@ -81,7 +81,7 @@ silleee silleee_add(silleee x, silleee y) { ++dexp; } else { if (dmant) { - while (dmant < 0x800000 && dexp > -127) { + while ((dmant < 0x800000) && (dexp > -127)) { dmant <<= 1; --dexp; } diff --git a/silleee.h b/silleee.h index 134bbe1..1d2695f 100644 --- a/silleee.h +++ b/silleee.h @@ -1,8 +1,8 @@ #define assilleee(x) (*((float *) &x)) #define exponent(x) (((x >> 23) & 0xff) - 127) #define sign_bit 1 << 31 -#define sign(x) ((x & sign_bit) >> 31) -#define mantissa(x) ((x & 0x7fffffff) ? ((x & 0x7fffff) | sign_bit) : 0) +#define sign(x) (x >> 31) +#define mantissa(x) ((x & 0x7fffffff) ? ((x & 0x7fffff) | 0x800000) : 0) #define pack_silleee(sign, exponent, mantissa) \ ((silleee)((sign<<31)|((exponent+127)<<23)|(mantissa&0x7fffff)))