Lines Matching defs:rep_t
33 typedef uint32_t rep_t;
41 static __inline int rep_clz(rep_t a) { return clzsi(a); }
44 static __inline void wideMultiply(rep_t a, rep_t b, rep_t *hi, rep_t *lo) {
46 *hi = (rep_t)(product >> 32);
47 *lo = (rep_t)product;
54 typedef uint64_t rep_t;
61 static inline int rep_clz(rep_t a) { return __builtin_clzll(a); }
69 static __inline void wideMultiply(rep_t a, rep_t b, rep_t *hi, rep_t *lo) {
90 typedef __uint128_t rep_t;
101 static __inline int rep_clz(rep_t a) {
139 static __inline void wideMultiply(rep_t a, rep_t b, rep_t *hi, rep_t *lo) {
197 #define typeWidth (sizeof(rep_t) * CHAR_BIT)
199 static __inline rep_t toRep(fp_t x) {
202 rep_t i;
207 static __inline fp_t fromRep(rep_t x) {
210 rep_t i;
225 #define oneRep ((rep_t)exponentBias << significandBits)
230 static __inline int normalize(rep_t *significand) {
236 static __inline void wideLeftShift(rep_t *hi, rep_t *lo, unsigned int count) {
241 static __inline void wideRightShiftWithSticky(rep_t *hi, rep_t *lo,
263 rep_t rep = toRep(x);
295 const rep_t rep = toRep(x);
302 rep_t sig = rep & significandMask;
314 const rep_t sign = rep & signBit;
318 return fromRep(sign | ((rep_t)(maxExponent - 1) << significandBits)) * 2.0f;
326 tmp *= fromRep((rep_t)exp << significandBits);
329 return fromRep(sign | ((rep_t)exp << significandBits) | sig);