Lines Matching refs:wc

27 #define _FP_DECL(wc, X)			\  argument
29 _FP_FRAC_DECL_##wc(X)
36 #define _FP_UNPACK_CANONICAL(fs, wc, X) \ argument
42 _FP_FRAC_SLL_##wc(X, _FP_WORKBITS); \
48 if (_FP_FRAC_ZEROP_##wc(X)) \
54 _FP_FRAC_CLZ_##wc(_shift, X); \
56 _FP_FRAC_SLL_##wc(X, (_shift+_FP_WORKBITS)); \
69 if (_FP_FRAC_ZEROP_##wc(X)) \
89 #define _FP_PACK_CANONICAL(fs, wc, X) \ argument
97 _FP_ROUND(wc, X); \
98 if (_FP_FRAC_OVERP_##wc(fs, X)) \
100 _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \
103 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
123 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
129 _FP_FRAC_SET_##wc(X, _FP_MAXFRAC_##wc); \
141 _FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs); \
142 _FP_ROUND(wc, X); \
147 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
152 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
160 if (!_FP_FRAC_ZEROP_##wc(X)) \
162 _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \
163 _FP_ROUND(wc, X); \
164 _FP_FRAC_LOW_##wc(X) >>= (_FP_WORKBITS); \
173 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
178 _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc); \
185 _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
197 #define _FP_ISSIGNAN(fs, wc, X) \ argument
202 if (!_FP_FRAC_ZEROP_##wc(X) \
217 #define _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP) \ argument
230 _FP_FRAC_SRS_##wc(X, diff, _FP_WFRACBITS_##fs); \
231 else if (!_FP_FRAC_ZEROP_##wc(X)) \
232 _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \
240 _FP_FRAC_SRS_##wc(Y, diff, _FP_WFRACBITS_##fs); \
241 else if (!_FP_FRAC_ZEROP_##wc(Y)) \
242 _FP_FRAC_SET_##wc(Y, _FP_MINFRAC_##wc); \
252 _FP_FRAC_ADD_##wc(R, X, Y); \
253 if (_FP_FRAC_OVERP_##wc(fs, R)) \
255 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
262 _FP_FRAC_SUB_##wc(R, X, Y); \
263 if (_FP_FRAC_ZEROP_##wc(R)) \
274 if (_FP_FRAC_NEGP_##wc(R)) \
276 _FP_FRAC_SUB_##wc(R, Y, X); \
281 _FP_FRAC_CLZ_##wc(diff, R); \
286 _FP_FRAC_SLL_##wc(R, diff); \
294 _FP_CHOOSENAN(fs, wc, R, X, Y, OP); \
302 _FP_FRAC_COPY_##wc(R, X); \
312 _FP_FRAC_COPY_##wc(R, Y); \
321 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
355 #define _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL(fs, wc, R, X, Y, '+') argument
356 #define _FP_SUB(fs, wc, R, X, Y) \ argument
359 _FP_ADD_INTERNAL(fs, wc, R, X, Y, '-'); \
368 #define _FP_NEG(fs, wc, R, X) \ argument
370 _FP_FRAC_COPY_##wc(R, X); \
381 #define _FP_MUL(fs, wc, R, X, Y) \ argument
392 if (_FP_FRAC_OVERP_##wc(fs, R)) \
393 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
399 _FP_CHOOSENAN(fs, wc, R, X, Y, '*'); \
411 _FP_FRAC_COPY_##wc(R, X); \
422 _FP_FRAC_COPY_##wc(R, Y); \
430 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
444 #define _FP_DIV(fs, wc, R, X, Y) \ argument
457 _FP_CHOOSENAN(fs, wc, R, X, Y, '/'); \
464 _FP_FRAC_COPY_##wc(R, X); \
472 _FP_FRAC_COPY_##wc(R, Y); \
493 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
508 #define _FP_CMP(fs, wc, ret, X, Y, un) \ argument
511 if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
512 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \
521 __is_zero_x = (!X##_e && _FP_FRAC_ZEROP_##wc(X)) ? 1 : 0; \
522 __is_zero_y = (!Y##_e && _FP_FRAC_ZEROP_##wc(Y)) ? 1 : 0; \
536 else if (_FP_FRAC_GT_##wc(X, Y)) \
538 else if (_FP_FRAC_GT_##wc(Y, X)) \
548 #define _FP_CMP_EQ(fs, wc, ret, X, Y) \ argument
551 if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
552 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \
559 && _FP_FRAC_EQ_##wc(X, Y) \
560 && (X##_s == Y##_s || !X##_e && _FP_FRAC_ZEROP_##wc(X))); \
568 #define _FP_SQRT(fs, wc, R, X) \ argument
570 _FP_FRAC_DECL_##wc(T); _FP_FRAC_DECL_##wc(S); \
575 _FP_FRAC_COPY_##wc(R, X); \
584 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
603 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
609 _FP_FRAC_SLL_##wc(X, 1); \
611 _FP_FRAC_SET_##wc(S, _FP_ZEROFRAC_##wc); \
612 _FP_FRAC_SET_##wc(R, _FP_ZEROFRAC_##wc); \
614 _FP_SQRT_MEAT_##wc(R, S, T, X, q); \
634 #define _FP_TO_INT(fs, wc, r, X, rsize, rsigned) \ argument
657 _FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \
658 _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \
677 if (_FP_W_TYPE_SIZE*wc < rsize) \
679 _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \
685 _FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \
688 _FP_FRAC_SRS_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 2), \
690 if (_FP_FRAC_LOW_##wc(X) & 1) \
692 _FP_FRAC_SRL_##wc(X, 1); \
694 _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \
703 #define _FP_TO_INT_ROUND(fs, wc, r, X, rsize, rsigned) \ argument
715 _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \
720 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS - X##_e \
722 _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \
729 _FP_FRAC_SET_##wc(X, _FP_MINFRAC_##wc); \
731 _FP_FRAC_SRS_##wc(X, _FP_FRACBITS_##fs - 1 - X##_e, \
733 _FP_ROUND(wc, X); \
734 _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \
735 _FP_FRAC_ASSEMBLE_##wc(r, X, rsize); \
764 #define _FP_FROM_INT(fs, wc, X, r, rsize, rtype) \ argument
786 _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \
788 _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \