Lines Matching refs:fs

36 #define _FP_UNPACK_CANONICAL(fs, wc, X)					\  argument
41 _FP_FRAC_HIGH_RAW_##fs(X) |= _FP_IMPLBIT_##fs; \
43 X##_e -= _FP_EXPBIAS_##fs; \
55 _shift -= _FP_FRACXBITS_##fs; \
57 X##_e -= _FP_EXPBIAS_##fs - 1 + _shift; \
68 case _FP_EXPMAX_##fs: \
75 if (!(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
89 #define _FP_PACK_CANONICAL(fs, wc, X) \ argument
94 X##_e += _FP_EXPBIAS_##fs; \
98 if (_FP_FRAC_OVERP_##wc(fs, X)) \
100 _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \
104 if (X##_e >= _FP_EXPMAX_##fs) \
122 X##_e = _FP_EXPMAX_##fs; \
128 X##_e = _FP_EXPMAX_##fs - 1; \
139 if (X##_e <= _FP_WFRACBITS_##fs) \
141 _FP_FRAC_SRS_##wc(X, X##_e, _FP_WFRACBITS_##fs); \
142 if (_FP_FRAC_HIGH_##fs(X) \
143 & (_FP_OVERFLOW_##fs >> 1)) \
151 if (_FP_FRAC_HIGH_##fs(X) \
152 & (_FP_OVERFLOW_##fs >> 1)) \
189 X##_e = _FP_EXPMAX_##fs; \
194 X##_e = _FP_EXPMAX_##fs; \
197 _FP_FRAC_SET_##wc(X, _FP_NANFRAC_##fs); \
198 X##_s = _FP_NANSIGN_##fs; \
201 _FP_FRAC_HIGH_RAW_##fs(X) |= _FP_QNANBIT_##fs; \
209 #define _FP_ISSIGNAN(fs, wc, X) \ argument
212 if (X##_e == _FP_EXPMAX_##fs) \
215 && !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
229 #define _FP_ADD_INTERNAL(fs, wc, R, X, Y, OP) \ argument
241 if (diff <= _FP_WFRACBITS_##fs) \
242 _FP_FRAC_SRS_##wc(X, diff, _FP_WFRACBITS_##fs); \
251 if (diff <= _FP_WFRACBITS_##fs) \
252 _FP_FRAC_SRS_##wc(Y, diff, _FP_WFRACBITS_##fs); \
265 if (_FP_FRAC_OVERP_##wc(fs, R)) \
267 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
294 diff -= _FP_WFRACXBITS_##fs; \
306 _FP_CHOOSENAN(fs, wc, R, X, Y, OP); \
333 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
334 R##_s = _FP_NANSIGN_##fs; \
367 #define _FP_ADD(fs, wc, R, X, Y) _FP_ADD_INTERNAL(fs, wc, R, X, Y, '+') argument
368 #define _FP_SUB(fs, wc, R, X, Y) \ argument
371 _FP_ADD_INTERNAL(fs, wc, R, X, Y, '-'); \
380 #define _FP_NEG(fs, wc, R, X) \ argument
393 #define _FP_MUL(fs, wc, R, X, Y) \ argument
402 _FP_MUL_MEAT_##fs(R,X,Y); \
404 if (_FP_FRAC_OVERP_##wc(fs, R)) \
405 _FP_FRAC_SRS_##wc(R, 1, _FP_WFRACBITS_##fs); \
411 _FP_CHOOSENAN(fs, wc, R, X, Y, '*'); \
440 R##_s = _FP_NANSIGN_##fs; \
442 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
456 #define _FP_DIV(fs, wc, R, X, Y) \ argument
465 _FP_DIV_MEAT_##fs(R,X,Y); \
469 _FP_CHOOSENAN(fs, wc, R, X, Y, '/'); \
502 R##_s = _FP_NANSIGN_##fs; \
504 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
509 R##_s = _FP_NANSIGN_##fs; \
511 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
526 #define _FP_CMP(fs, wc, ret, X, Y, un) \ argument
529 if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
530 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \
566 #define _FP_CMP_EQ(fs, wc, ret, X, Y) \ argument
569 if ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X)) \
570 || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y))) \
586 #define _FP_SQRT(fs, wc, R, X) \ argument
600 R##_s = _FP_NANSIGN_##fs; \
602 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
620 R##_s = _FP_NANSIGN_##fs; \
621 _FP_FRAC_SET_##wc(R, _FP_NANFRAC_##fs); \
631 q = _FP_OVERFLOW_##fs >> 1; \
652 #define _FP_TO_INT(fs, wc, r, X, rsize, rsigned) \ argument
671 || X##_e >= rsize - 1 + _FP_WFRACBITS_##fs) \
675 _FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \
698 r <<= X##_e - _FP_WFRACBITS_##fs; \
702 if (X##_e >= _FP_WFRACBITS_##fs) \
703 _FP_FRAC_SLL_##wc(X, (X##_e - _FP_WFRACBITS_##fs + 1)); \
704 else if (X##_e < _FP_WFRACBITS_##fs - 1) \
706 _FP_FRAC_SRS_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 2), \
707 _FP_WFRACBITS_##fs); \
721 #define _FP_TO_INT_ROUND(fs, wc, r, X, rsize, rsigned) \ argument
727 if (X##_e >= _FP_FRACBITS_##fs - 1) \
729 if (X##_e < rsize - 1 + _FP_WFRACBITS_##fs) \
731 if (X##_e >= _FP_WFRACBITS_##fs - 1) \
734 r <<= X##_e - _FP_WFRACBITS_##fs + 1; \
739 + _FP_FRACBITS_##fs - 1); \
750 _FP_FRAC_SRS_##wc(X, _FP_FRACBITS_##fs - 1 - X##_e, \
751 _FP_WFRACBITS_##fs); \
787 #define _FP_FROM_INT(fs, wc, X, r, rsize, rtype) \ argument
807 if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs <= X##_e) \
808 __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\
810 if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \
811 _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \