silleee: added silleee_add and silleee_sub

This commit is contained in:
2017-08-04 23:16:21 -04:00
parent 20926f91d6
commit 3b55a76c58
4 changed files with 128 additions and 8 deletions

View File

@@ -1,10 +1,12 @@
#define asreal(x) (*((float *) &x))
#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 & sign_bit) ? ((x & 0x7fffff) | 0x800000) : 0)
#define mantissa(x) ((x & 0x7fffffff) ? ((x & 0x7fffff) | sign_bit) : 0)
#define pack_silleee(sign, exponent, mantissa) \
((silleee)((sign<<31)|((exponent+127)<<23)|(mantissa&0x7fffff)))
typedef long unsigned silleee;
sillee silleee_add(sillee, sillee);
sillee silleee_sub(sillee, sillee);
silleee silleee_add(silleee, silleee);
silleee silleee_sub(silleee, silleee);