Lines Matching refs:dExp
56 inline int CheckWithinHalfULP(double b, const BigInteger& d, int dExp) { in CheckWithinHalfULP() argument
65 if (dExp >= 0) { in CheckWithinHalfULP()
66 dS_Exp2 += dExp; in CheckWithinHalfULP()
67 dS_Exp5 += dExp; in CheckWithinHalfULP()
70 bS_Exp2 -= dExp; in CheckWithinHalfULP()
71 bS_Exp5 -= dExp; in CheckWithinHalfULP()
72 hS_Exp2 -= dExp; in CheckWithinHalfULP()
73 hS_Exp5 -= dExp; in CheckWithinHalfULP()
132 inline bool StrtodDiyFp(const Ch* decimals, int dLen, int dExp, double* result) { in StrtodDiyFp() argument
154 dExp += remaining; in StrtodDiyFp()
157 DiyFp cachedPower = GetCachedPower10(dExp, &actualExp); in StrtodDiyFp()
158 if (actualExp != dExp) { in StrtodDiyFp()
168 int adjustment = dExp - actualExp; in StrtodDiyFp()
210 inline double StrtodBigInteger(double approx, const Ch* decimals, int dLen, int dExp) { in StrtodBigInteger() argument
214 int cmp = CheckWithinHalfULP(a.Value(), dInt, dExp); in StrtodBigInteger()
245 int dExp = exp - dExpAdjust; in StrtodFullPrecision() local
248 RAPIDJSON_ASSERT(dExp <= INT_MAX - dLen); in StrtodFullPrecision()
259 dExp++; in StrtodFullPrecision()
269 dExp += dLen - kMaxDecimalDigit; in StrtodFullPrecision()
275 if (dLen + dExp <= -324) in StrtodFullPrecision()
280 if (dLen + dExp > 309) in StrtodFullPrecision()
283 if (StrtodDiyFp(decimals, dLen, dExp, &result)) in StrtodFullPrecision()
287 return StrtodBigInteger(result, decimals, dLen, dExp); in StrtodFullPrecision()