Lines Matching refs:dLen

131 inline bool StrtodDiyFp(const char* decimals, int dLen, int dExp, double* result) {  in StrtodDiyFp()  argument
134 for (; i < dLen; i++) { in StrtodDiyFp()
141 if (i < dLen && decimals[i] >= '5') // Rounding in StrtodDiyFp()
144 int remaining = dLen - i; in StrtodDiyFp()
170 if (dLen + adjustment > 19) // has more digits than decimal digits in 64-bit in StrtodDiyFp()
208 inline double StrtodBigInteger(double approx, const char* decimals, int dLen, int dExp) { in StrtodBigInteger() argument
209 CEREAL_RAPIDJSON_ASSERT(dLen >= 0); in StrtodBigInteger()
210 const BigInteger dInt(decimals, static_cast<unsigned>(dLen)); in StrtodBigInteger()
235 int dLen = static_cast<int>(length); in StrtodFullPrecision() local
245 CEREAL_RAPIDJSON_ASSERT(dExp <= INT_MAX - dLen); in StrtodFullPrecision()
248 while (dLen > 0 && *decimals == '0') { in StrtodFullPrecision()
249 dLen--; in StrtodFullPrecision()
254 while (dLen > 0 && decimals[dLen - 1] == '0') { in StrtodFullPrecision()
255 dLen--; in StrtodFullPrecision()
259 if (dLen == 0) { // Buffer only contains zeros. in StrtodFullPrecision()
265 if (dLen > kMaxDecimalDigit) { in StrtodFullPrecision()
266 dExp += dLen - kMaxDecimalDigit; in StrtodFullPrecision()
267 dLen = kMaxDecimalDigit; in StrtodFullPrecision()
272 if (dLen + dExp <= -324) in StrtodFullPrecision()
277 if (dLen + dExp > 309) in StrtodFullPrecision()
280 if (StrtodDiyFp(decimals, dLen, dExp, &result)) in StrtodFullPrecision()
284 return StrtodBigInteger(result, decimals, dLen, dExp); in StrtodFullPrecision()