1 #ifndef OSMIUM_UTIL_DOUBLE_HPP
2 #define OSMIUM_UTIL_DOUBLE_HPP
60 assert(precision <= 17);
65 int len = snprintf(buffer, max_double_length,
"%.*f", precision, value);
67 int len = _snprintf(buffer, max_double_length,
"%.*f", precision, value);
69 assert(len > 0 && len < max_double_length);
71 while (buffer[len-1] ==
'0') --len;
72 if (buffer[len-1] ==
'.') --len;
74 return std::copy_n(buffer, len, iterator);
85 inline void double2string(std::string& out,
double value,
int precision) {
93 #endif // OSMIUM_UTIL_DOUBLE_HPP
T double2string(T iterator, double value, int precision)
Definition: double.hpp:59
Namespace for everything in the Osmium library.
Definition: assembler.hpp:59
constexpr int max_double_length
Definition: double.hpp:47