Lines Matching refs:DiyFp
32 explicit Double(DiyFp diy_fp) : d64_(DiyFpToUint64(diy_fp)) {} in Double()
36 DiyFp AsDiyFp() const { in AsDiyFp()
39 return DiyFp(Significand(), Exponent()); in AsDiyFp()
43 DiyFp AsNormalizedDiyFp() const { in AsNormalizedDiyFp()
54 f <<= DiyFp::kSignificandSize - kSignificandSize; in AsNormalizedDiyFp()
55 e -= DiyFp::kSignificandSize - kSignificandSize; in AsNormalizedDiyFp()
56 return DiyFp(f, e); in AsNormalizedDiyFp()
121 DiyFp UpperBoundary() const { in UpperBoundary()
123 return DiyFp(Significand() * 2 + 1, Exponent() - 1); in UpperBoundary()
130 void NormalizedBoundaries(DiyFp* out_m_minus, DiyFp* out_m_plus) const { in NormalizedBoundaries()
132 DiyFp v = this->AsDiyFp(); in NormalizedBoundaries()
134 DiyFp m_plus = DiyFp::Normalize(DiyFp((v.f() << 1) + 1, v.e() - 1)); in NormalizedBoundaries()
135 DiyFp m_minus; in NormalizedBoundaries()
143 m_minus = DiyFp((v.f() << 2) - 1, v.e() - 2); in NormalizedBoundaries()
145 m_minus = DiyFp((v.f() << 1) - 1, v.e() - 1); in NormalizedBoundaries()