Lines Matching refs:exp

41 	int exp, pwr;  in eexp2()  local
45 exp = ((s >> 23) & 0xff) - 127; in eexp2()
46 if (exp > 7) { in eexp2()
48 if (exp == 128 && (s & 0x7fffff) != 0) in eexp2()
53 if (exp < -23) in eexp2()
58 if (exp > 0) in eexp2()
59 pwr <<= exp; in eexp2()
61 pwr >>= -exp; in eexp2()
66 exp = (pwr >> 23) + 126; in eexp2()
67 if (exp >= 254) in eexp2()
69 if (exp < -23) in eexp2()
81 if (exp >= 0) in eexp2()
82 return mant + (exp << 23); in eexp2()
85 exp = -exp; in eexp2()
86 mant += 1 << (exp - 1); in eexp2()
87 return mant >> exp; in eexp2()
96 int exp, mant, lz, frac; in elog2() local
98 exp = s & 0x7f800000; in elog2()
100 if (exp == 0x7f800000) { /* Inf or NaN */ in elog2()
105 if ((exp | mant) == 0) /* +0 or -0 */ in elog2()
108 if (exp == 0) { in elog2()
112 exp = (-118 - lz) << 23; in elog2()
115 exp -= 127 << 23; in elog2()
119 exp |= 0x400000; /* 0.5 * 2^23 */ in elog2()
124 exp |= 0x200000; /* 0.25 * 2^23 */ in elog2()
129 exp |= 0x100000; /* 0.125 * 2^23 */ in elog2()
138 exp += frac; in elog2()
140 s = exp & 0x80000000; in elog2()
141 if (exp != 0) { in elog2()
143 exp = -exp; in elog2()
144 asm("cntlzw %0,%1" : "=r" (lz) : "r" (exp)); in elog2()
147 exp >>= lz; in elog2()
149 exp <<= -lz; in elog2()
150 s += ((lz + 126) << 23) + exp; in elog2()
159 int exp, mant; in ctsxs() local
161 exp = (x >> 23) & 0xff; in ctsxs()
163 if (exp == 255 && mant != 0) in ctsxs()
165 exp = exp - 127 + scale; in ctsxs()
166 if (exp < 0) in ctsxs()
168 if (exp >= 31) { in ctsxs()
175 mant = (mant << 7) >> (30 - exp); in ctsxs()
181 int exp; in ctuxs() local
184 exp = (x >> 23) & 0xff; in ctuxs()
186 if (exp == 255 && mant != 0) in ctuxs()
188 exp = exp - 127 + scale; in ctuxs()
189 if (exp < 0) in ctuxs()
196 if (exp >= 32) { in ctuxs()
202 mant = (mant << 8) >> (31 - exp); in ctuxs()
209 int exp; in rfiz() local
211 exp = ((x >> 23) & 0xff) - 127; in rfiz()
212 if (exp == 128 && (x & 0x7fffff) != 0) in rfiz()
214 if (exp >= 23) in rfiz()
216 if (exp < 0) in rfiz()
218 return x & ~(0x7fffff >> exp); in rfiz()
224 int exp, mask; in rfii() local
226 exp = ((x >> 23) & 0xff) - 127; in rfii()
227 if (exp == 128 && (x & 0x7fffff) != 0) in rfii()
229 if (exp >= 23) in rfii()
233 if (exp < 0) in rfii()
236 mask = 0x7fffff >> exp; in rfii()
245 int exp, half; in rfin() local
247 exp = ((x >> 23) & 0xff) - 127; in rfin()
248 if (exp == 128 && (x & 0x7fffff) != 0) in rfin()
250 if (exp >= 23) in rfin()
252 if (exp < -1) in rfin()
254 if (exp == -1) in rfin()
257 half = 0x400000 >> exp; in rfin()
259 return (x + half) & ~(0x7fffff >> exp); in rfin()