MCPcopy Create free account
hub / github.com/bytedance/Fastbot_Android / find_largest_pow10

Function find_largest_pow10

native/thirdpart/json/json.hpp:13134–13188  ·  view source on GitHub ↗

! For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. For n == 0, returns 1 and sets pow10 := 1. */

Source from the content-addressed store, hash-verified

13132For n == 0, returns 1 and sets pow10 := 1.
13133*/
13134inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
13135{
13136 // LCOV_EXCL_START
13137 if (n >= 1000000000)
13138 {
13139 pow10 = 1000000000;
13140 return 10;
13141 }
13142 // LCOV_EXCL_STOP
13143 else if (n >= 100000000)
13144 {
13145 pow10 = 100000000;
13146 return 9;
13147 }
13148 else if (n >= 10000000)
13149 {
13150 pow10 = 10000000;
13151 return 8;
13152 }
13153 else if (n >= 1000000)
13154 {
13155 pow10 = 1000000;
13156 return 7;
13157 }
13158 else if (n >= 100000)
13159 {
13160 pow10 = 100000;
13161 return 6;
13162 }
13163 else if (n >= 10000)
13164 {
13165 pow10 = 10000;
13166 return 5;
13167 }
13168 else if (n >= 1000)
13169 {
13170 pow10 = 1000;
13171 return 4;
13172 }
13173 else if (n >= 100)
13174 {
13175 pow10 = 100;
13176 return 3;
13177 }
13178 else if (n >= 10)
13179 {
13180 pow10 = 10;
13181 return 2;
13182 }
13183 else
13184 {
13185 pow10 = 1;
13186 return 1;
13187 }
13188}
13189
13190inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta,
13191 std::uint64_t rest, std::uint64_t ten_k)

Callers 1

grisu2_digit_genFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected