• Home
  • Raw
  • Download

Lines Matching refs:R

229 #define _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP)				     \  argument
245 R##_e = Y##_e; \
256 R##_e = X##_e; \
259 R##_c = FP_CLS_NORMAL; \
263 R##_s = X##_s; \
264 _FP_FRAC_ADD_##wc(R, X, Y); \
265 if (_FP_FRAC_OVERP_##wc(fs, R)) \
267 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
268 R##_e++; \
273 R##_s = X##_s; \
274 _FP_FRAC_SUB_##wc(R, X, Y); \
275 if (_FP_FRAC_ZEROP_##wc(R)) \
279 R##_s |= Y##_s; \
281 R##_s &= Y##_s; \
282 R##_c = FP_CLS_ZERO; \
286 if (_FP_FRAC_NEGP_##wc(R)) \
288 _FP_FRAC_SUB_##wc(R, Y, X); \
289 R##_s = Y##_s; \
293 _FP_FRAC_CLZ_##wc(diff, R); \
297 R##_e -= diff; \
298 _FP_FRAC_SLL_##wc(R, diff); \
306 _FP_CHOOSENAN(fs, wc, R, X, Y, OP); \
310 R##_e = X##_e; \
315 _FP_FRAC_COPY_##wc(R, X); \
316 R##_s = X##_s; \
317 R##_c = X##_c; \
321 R##_e = Y##_e; \
326 _FP_FRAC_COPY_##wc(R, Y); \
327 R##_s = Y##_s; \
328 R##_c = Y##_c; \
335 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
336 R##_s = _FP_NANSIGN_##fs; \
337 R##_c = FP_CLS_NAN; \
345 R##_s = X##_s; \
346 R##_c = FP_CLS_INF; \
351 R##_s = Y##_s; \
352 R##_c = FP_CLS_INF; \
358 R##_s = X##_s | Y##_s; \
360 R##_s = X##_s & Y##_s; \
361 R##_c = FP_CLS_ZERO; \
369 #define _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL(fs, wc, R, X, Y, '+') argument
370 #define _FP_SUB(fs, wc, R, X, Y) \ argument
373 _FP_ADD_INTERNAL(fs, wc, R, X, Y, '-'); \
382 #define _FP_NEG(fs, wc, R, X) \ argument
384 _FP_FRAC_COPY_##wc(R, X); \
385 R##_c = X##_c; \
386 R##_e = X##_e; \
387 R##_s = 1 ^ X##_s; \
395 #define _FP_MUL(fs, wc, R, X, Y) \ argument
397 R##_s = X##_s ^ Y##_s; \
401 R##_c = FP_CLS_NORMAL; \
402 R##_e = X##_e + Y##_e + 1; \
404 _FP_MUL_MEAT_##fs(R,X,Y); \
406 if (_FP_FRAC_OVERP_##wc(fs, R)) \
407 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
409 R##_e--; \
413 _FP_CHOOSENAN(fs, wc, R, X, Y, '*'); \
419 R##_s = X##_s; \
426 _FP_FRAC_COPY_##wc(R, X); \
427 R##_c = X##_c; \
433 R##_s = Y##_s; \
438 _FP_FRAC_COPY_##wc(R, Y); \
439 R##_c = Y##_c; \
444 R##_s = _FP_NANSIGN_##fs; \
445 R##_c = FP_CLS_NAN; \
446 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
460 #define _FP_DIV(fs, wc, R, X, Y) \ argument
462 R##_s = X##_s ^ Y##_s; \
466 R##_c = FP_CLS_NORMAL; \
467 R##_e = X##_e - Y##_e; \
469 _FP_DIV_MEAT_##fs(R,X,Y); \
473 _FP_CHOOSENAN(fs, wc, R, X, Y, '/'); \
479 R##_s = X##_s; \
480 _FP_FRAC_COPY_##wc(R, X); \
481 R##_c = X##_c; \
487 R##_s = Y##_s; \
488 _FP_FRAC_COPY_##wc(R, Y); \
489 R##_c = Y##_c; \
495 R##_c = FP_CLS_ZERO; \
503 R##_c = FP_CLS_INF; \
507 R##_s = _FP_NANSIGN_##fs; \
508 R##_c = FP_CLS_NAN; \
509 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
514 R##_s = _FP_NANSIGN_##fs; \
515 R##_c = FP_CLS_NAN; \
516 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
591 #define _FP_SQRT(fs, wc, R, X) \ argument
598 _FP_FRAC_COPY_##wc(R, X); \
599 R##_s = X##_s; \
600 R##_c = FP_CLS_NAN; \
605 R##_s = _FP_NANSIGN_##fs; \
606 R##_c = FP_CLS_NAN; /* NAN */ \
607 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
612 R##_s = 0; \
613 R##_c = FP_CLS_INF; /* sqrt(+inf) = +inf */ \
617 R##_s = X##_s; \
618 R##_c = FP_CLS_ZERO; /* sqrt(+-0) = +-0 */ \
621 R##_s = 0; \
624 R##_c = FP_CLS_NAN; /* sNAN */ \
625 R##_s = _FP_NANSIGN_##fs; \
626 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
630 R##_c = FP_CLS_NORMAL; \
633 R##_e = X##_e >> 1; \
635 _FP_FRAC_SET_##wc(R, _FP_ZEROFRAC_##wc); \
637 _FP_SQRT_MEAT_##wc(R, S, T, X, q); \