Lines Matching refs:R
138 #define _FP_ADD(fs, wc, R, X, Y) \ argument
156 R##_e = Y##_e; \
169 R##_e = X##_e; \
172 R##_c = FP_CLS_NORMAL; \
176 R##_s = X##_s; \
177 _FP_FRAC_ADD_##wc(R, X, Y); \
178 if (_FP_FRAC_OVERP_##wc(fs, R)) \
180 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
181 R##_e++; \
186 R##_s = X##_s; \
187 _FP_FRAC_SUB_##wc(R, X, Y); \
188 if (_FP_FRAC_ZEROP_##wc(R)) \
192 R##_s |= Y##_s; \
194 R##_s &= Y##_s; \
195 R##_c = FP_CLS_ZERO; \
199 if (_FP_FRAC_NEGP_##wc(R)) \
201 _FP_FRAC_SUB_##wc(R, Y, X); \
202 R##_s = Y##_s; \
206 _FP_FRAC_CLZ_##wc(diff, R); \
210 R##_e -= diff; \
211 _FP_FRAC_SLL_##wc(R, diff); \
219 _FP_CHOOSENAN(fs, wc, R, X, Y); \
223 R##_e = X##_e; \
227 _FP_FRAC_COPY_##wc(R, X); \
228 R##_s = X##_s; \
229 R##_c = X##_c; \
233 R##_e = Y##_e; \
237 _FP_FRAC_COPY_##wc(R, Y); \
238 R##_s = Y##_s; \
239 R##_c = Y##_c; \
246 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
247 R##_s = X##_s ^ Y##_s; \
248 R##_c = FP_CLS_NAN; \
255 R##_s = X##_s; \
256 R##_c = FP_CLS_INF; \
261 R##_s = Y##_s; \
262 R##_c = FP_CLS_INF; \
268 R##_s = X##_s | Y##_s; \
270 R##_s = X##_s & Y##_s; \
271 R##_c = FP_CLS_ZERO; \
285 #define _FP_NEG(fs, wc, R, X) \ argument
287 _FP_FRAC_COPY_##wc(R, X); \
288 R##_c = X##_c; \
289 R##_e = X##_e; \
290 R##_s = 1 ^ X##_s; \
298 #define _FP_MUL(fs, wc, R, X, Y) \ argument
300 R##_s = X##_s ^ Y##_s; \
304 R##_c = FP_CLS_NORMAL; \
305 R##_e = X##_e + Y##_e + 1; \
307 _FP_MUL_MEAT_##fs(R,X,Y); \
309 if (_FP_FRAC_OVERP_##wc(fs, R)) \
310 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
312 R##_e--; \
316 _FP_CHOOSENAN(fs, wc, R, X, Y); \
322 R##_s = X##_s; \
328 _FP_FRAC_COPY_##wc(R, X); \
329 R##_c = X##_c; \
335 R##_s = Y##_s; \
339 _FP_FRAC_COPY_##wc(R, Y); \
340 R##_c = Y##_c; \
345 R##_c = FP_CLS_NAN; \
346 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
359 #define _FP_DIV(fs, wc, R, X, Y) \ argument
361 R##_s = X##_s ^ Y##_s; \
365 R##_c = FP_CLS_NORMAL; \
366 R##_e = X##_e - Y##_e; \
368 _FP_DIV_MEAT_##fs(R,X,Y); \
372 _FP_CHOOSENAN(fs, wc, R, X, Y); \
378 R##_s = X##_s; \
379 _FP_FRAC_COPY_##wc(R, X); \
380 R##_c = X##_c; \
386 R##_s = Y##_s; \
387 _FP_FRAC_COPY_##wc(R, Y); \
388 R##_c = Y##_c; \
394 R##_c = FP_CLS_ZERO; \
400 R##_c = FP_CLS_INF; \
405 R##_c = FP_CLS_NAN; \
406 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
477 #define _FP_SQRT(fs, wc, R, X) \ argument
484 R##_s = 0; \
485 R##_c = FP_CLS_NAN; \
491 R##_s = 0; \
492 R##_c = FP_CLS_NAN; /* sNAN */ \
496 R##_s = 0; \
497 R##_c = FP_CLS_INF; /* sqrt(+inf) = +inf */ \
501 R##_s = X##_s; \
502 R##_c = FP_CLS_ZERO; /* sqrt(+-0) = +-0 */ \
505 R##_s = 0; \
508 R##_c = FP_CLS_NAN; /* sNAN */ \
511 R##_c = FP_CLS_NORMAL; \
514 R##_e = X##_e >> 1; \
516 _FP_FRAC_SET_##wc(R, _FP_ZEROFRAC_##wc); \
519 _FP_SQRT_MEAT_##wc(R, S, T, X, q); \
520 _FP_FRAC_SRL_##wc(R, 1); \