| 114 | } |
| 115 | |
| 116 | inline std::string HumanReadableSize(double f_size) { |
| 117 | size_t i = 0; |
| 118 | double orig = f_size; |
| 119 | const std::vector<std::string> units( |
| 120 | {"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"}); |
| 121 | while (f_size >= 1024) { |
| 122 | f_size /= 1024; |
| 123 | i++; |
| 124 | } |
| 125 | if (i >= units.size()) { |
| 126 | return Sprintf("%fB", orig); |
| 127 | } |
| 128 | return Sprintf("%f%s", f_size, units[i]); |
| 129 | } |
| 130 | |
| 131 | } // namespace string |
| 132 | } // namespace paddle |
no test coverage detected