Lines Matching defs:FPBits
22 #include "src/__support/FPUtil/FPBits.h"
47 typename fputil::FPBits<T>::StorageType mantissa;
69 template <class T> LIBC_INLINE void set_implicit_bit(fputil::FPBits<T> &) {
76 set_implicit_bit<long double>(fputil::FPBits<long double> &result) {
93 using FPBits = typename fputil::FPBits<T>;
94 using StorageType = typename FPBits::StorageType;
115 exp10_to_exp2(exp10) + FPBits::STORAGE_LEN + FPBits::EXP_BIAS - clz;
132 (uint64_t(1) << (FPBits::STORAGE_LEN - (FPBits::FRACTION_LEN + 3))) - 1;
152 (FPBits::STORAGE_LEN - 1));
155 (msb + FPBits::STORAGE_LEN - (FPBits::FRACTION_LEN + 3)));
181 if ((final_mantissa >> (FPBits::FRACTION_LEN + 1)) > 0) {
188 if (static_cast<uint32_t>(exp2) - 1 >= (1 << FPBits::EXP_LEN) - 2) {
206 using FPBits = typename fputil::FPBits<long double>;
207 using StorageType = typename FPBits::StorageType;
233 exp10_to_exp2(exp10) + FPBits::STORAGE_LEN + FPBits::EXP_BIAS - clz;
270 (UInt128(1) << (FPBits::STORAGE_LEN - (FPBits::FRACTION_LEN + 3))) - 1;
279 static_cast<uint32_t>(final_approx_upper >> (FPBits::STORAGE_LEN - 1));
280 UInt128 final_mantissa = final_approx_upper >> (msb + FPBits::STORAGE_LEN -
281 (FPBits::FRACTION_LEN + 3));
306 if ((final_mantissa >> (FPBits::FRACTION_LEN + 1)) > 0) {
313 if (exp2 - 1 >= (1 << FPBits::EXP_LEN) - 2) {
343 using FPBits = typename fputil::FPBits<T>;
344 using StorageType = typename FPBits::StorageType;
359 exp10_to_exp2(hpd.get_decimal_point() - 1) > FPBits::EXP_BIAS) {
360 output.num = {0, fputil::FPBits<T>::MAX_BIASED_EXPONENT};
367 (FPBits::EXP_BIAS + static_cast<int32_t>(FPBits::FRACTION_LEN))) {
406 exp2 += FPBits::EXP_BIAS;
409 if (exp2 >= FPBits::MAX_BIASED_EXPONENT) {
410 output.num = {0, FPBits::MAX_BIASED_EXPONENT};
416 hpd.shift(FPBits::FRACTION_LEN);
432 if ((final_mantissa >> FPBits::FRACTION_LEN) != 0) {
438 if (final_mantissa == StorageType(2) << FPBits::FRACTION_LEN) {
445 if (exp2 >= FPBits::MAX_BIASED_EXPONENT) {
549 using FPBits = typename fputil::FPBits<T>;
550 using StorageType = typename FPBits::StorageType;
555 if ((mantissa >> FPBits::FRACTION_LEN) > 0) {
559 FPBits result;
570 result = FPBits(float_mantissa);
587 FPBits(float_mantissa * ClingerConsts<T>::POWERS_OF_TEN_ARRAY[exp10]);
593 FPBits(float_mantissa / ClingerConsts<T>::POWERS_OF_TEN_ARRAY[-exp10]);
601 FPBits negative_result;
603 negative_result = FPBits((-float_mantissa) *
608 FPBits lower_result;
609 FPBits higher_result;
638 return fputil::FPBits<T>::EXP_BIAS / 3;
658 using FPBits = typename fputil::FPBits<T>;
659 return -((FPBits::EXP_BIAS +
660 static_cast<int32_t>(FPBits::FRACTION_LEN + FPBits::STORAGE_LEN)) /
687 using FPBits = typename fputil::FPBits<T>;
688 using StorageType = typename FPBits::StorageType;
700 output.num = {0, FPBits::MAX_BIASED_EXPONENT};
769 using FPBits = typename fputil::FPBits<T>;
770 using StorageType = typename FPBits::StorageType;
779 constexpr int32_t INF_EXP = (1 << FPBits::EXP_LEN) - 1;
790 int32_t biased_exponent = exp2 + FPBits::STORAGE_LEN + FPBits::EXP_BIAS - 1;
795 output.num = {0, (1 << FPBits::EXP_LEN) - 1};
801 FPBits::STORAGE_LEN - FPBits::FRACTION_LEN - 1;
808 if (amount_to_shift_right > FPBits::STORAGE_LEN) {
821 if (amount_to_shift_right < FPBits::STORAGE_LEN) {
824 mantissa &= FPBits::FRACTION_MASK;
847 if (mantissa > FPBits::FRACTION_MASK) {
860 output.num = {mantissa & FPBits::FRACTION_MASK, biased_exponent};
888 using FPBits = typename fputil::FPBits<T>;
889 using StorageType = typename FPBits::StorageType;
967 if (temp_exponent > FPBits::MAX_BIASED_EXPONENT) {
968 exponent = FPBits::MAX_BIASED_EXPONENT;
969 } else if (temp_exponent < -FPBits::MAX_BIASED_EXPONENT) {
970 exponent = -FPBits::MAX_BIASED_EXPONENT;
999 using FPBits = typename fputil::FPBits<T>;
1000 using StorageType = typename FPBits::StorageType;
1081 if (temp_exponent > FPBits::MAX_BIASED_EXPONENT) {
1082 exponent = FPBits::MAX_BIASED_EXPONENT;
1083 } else if (temp_exponent < -FPBits::MAX_BIASED_EXPONENT) {
1084 exponent = -FPBits::MAX_BIASED_EXPONENT;
1103 LIBC_INLINE typename fputil::FPBits<T>::StorageType
1105 using FPBits = typename fputil::FPBits<T>;
1106 using StorageType = typename FPBits::StorageType;
1129 using FPBits = typename fputil::FPBits<T>;
1130 using StorageType = typename FPBits::StorageType;
1132 FPBits result = FPBits();
1221 result = FPBits(result.quiet_nan(result.sign(), nan_mantissa));
1227 result = FPBits(result.inf(result.sign()));
1252 using FPBits = typename fputil::FPBits<T>;
1253 using StorageType = typename FPBits::StorageType;
1257 FPBits result;
1268 result = FPBits::quiet_nan(Sign::POS, nan_mantissa);