diff --git a/src/xenia/base/string_util.cc b/src/xenia/base/string_util.cc index bb9a4f78a..c64820c2e 100644 --- a/src/xenia/base/string_util.cc +++ b/src/xenia/base/string_util.cc @@ -33,6 +33,24 @@ inline std::string to_hex_string(uint64_t value) { return std::string(buffer); } +inline std::string to_hex_string(float value) { + union { + uint32_t ui; + float flt; + } v; + v.flt = value; + return to_hex_string(v.ui); +} + +inline std::string to_hex_string(double value) { + union { + uint64_t ui; + double dbl; + } v; + v.dbl = value; + return to_hex_string(v.ui); +} + inline std::string to_hex_string(const vec128_t& value) { char buffer[128]; std::snprintf(buffer, sizeof(buffer), "[%.8X, %.8X, %.8X, %.8X]", diff --git a/src/xenia/base/string_util.h b/src/xenia/base/string_util.h index 49dacf44b..cd1879e36 100644 --- a/src/xenia/base/string_util.h +++ b/src/xenia/base/string_util.h @@ -24,25 +24,8 @@ namespace string_util { extern inline std::string to_hex_string(uint32_t value); extern inline std::string to_hex_string(uint64_t value); - -inline std::string to_hex_string(float value) { - union { - uint32_t ui; - float flt; - } v; - v.flt = value; - return to_hex_string(v.ui); -} - -inline std::string to_hex_string(double value) { - union { - uint64_t ui; - double dbl; - } v; - v.dbl = value; - return to_hex_string(v.ui); -} - +extern inline std::string to_hex_string(float value); +extern inline std::string to_hex_string(double value); extern inline std::string to_hex_string(const vec128_t& value); #if XE_ARCH_AMD64