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) {
194 #define typeWidth (sizeof(rep_t) * CHAR_BIT)
196 static __inline rep_t toRep(fp_t x) {
199 rep_t i;
204 static __inline fp_t fromRep(rep_t x) {
207 rep_t i;
222 #define oneRep ((rep_t)exponentBias << significandBits)
227 static __inline int normalize(rep_t *significand) {
233 static __inline void wideLeftShift(rep_t *hi, rep_t *lo, unsigned int count) {
238 static __inline void wideRightShiftWithSticky(rep_t *hi, rep_t *lo,
260 rep_t rep = toRep(x);
292 const rep_t rep = toRep(x);
299 rep_t sig = rep & significandMask;
311 const rep_t sign = rep & signBit;
315 return fromRep(sign | ((rep_t)(maxExponent - 1) << significandBits)) * 2.0f;
323 tmp *= fromRep((rep_t)exp << significandBits);
326 return fromRep(sign | ((rep_t)exp << significandBits) | sig);