silleee: added silleee_add and silleee_sub
This commit is contained in:
10
silleee.h
10
silleee.h
@@ -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);
|
||||
|
Reference in New Issue
Block a user