Branch data TLA Line data Source code
1 : : #include <detail/serialization/serialisation_helpers.hpp>
2 : : #include <detail/serialization/parsers.hpp>
3 : :
4 : : #include <limits>
5 : : #include <cassert>
6 : :
7 : : #define FMT_HEADER_ONLY
8 : : #include <fmt/format.h>
9 : :
10 : : namespace xlnt {
11 : : namespace detail {
12 : :
13 :CBC 3417 : std::string serialise(double d)
14 : : {
15 : 3417 : return fmt::format("{}", d);
16 : : }
17 : :
18 : 4448 : double deserialise(const std::string &s, size_t *len_converted)
19 : : {
20 [ - + ]: 4448 : assert(!s.empty());
21 : 4448 : double d = std::numeric_limits<double>::quiet_NaN();
22 [ + ]: 4448 : detail::parse(s, d, len_converted);
23 : 4448 : return d;
24 : : }
25 : :
26 : 4 : double deserialise(const char *s, const char **end)
27 : : {
28 [ - + ]: 4 : assert(s != nullptr);
29 : 4 : double d = std::numeric_limits<double>::quiet_NaN();
30 [ + ]: 4 : detail::parse(s, d, end);
31 : 4 : return d;
32 : : }
33 : :
34 : : } // namespace detail
35 : : } // namespace xlnt
|