diff -up cxxtools-2.2.1/include/cxxtools/serializationinfo.h.than cxxtools-2.2.1/include/cxxtools/serializationinfo.h
--- cxxtools-2.2.1/include/cxxtools/serializationinfo.h.than 2016-04-29 17:56:47.199954811 +0200
+++ cxxtools-2.2.1/include/cxxtools/serializationinfo.h 2016-04-29 17:59:22.002914734 +0200
@@ -181,9 +181,9 @@ class CXXTOOLS_API SerializationInfo
{ value = static_cast<unsigned long long>(_getUInt("unsigned long long", std::numeric_limits<unsigned long long>::max())); }
#endif
void getValue(float& value) const
- { value = static_cast<float>(_getFloat("float", std::numeric_limits<float>::max())); }
+ { value = static_cast<float>(_getFloat("float", static_cast<long double>(std::numeric_limits<float>::max())*1.0000000000001)); }
void getValue(double& value) const
- { value = static_cast<double>(_getFloat("double", std::numeric_limits<double>::max())); }
+ { value = static_cast<double>(_getFloat("double", static_cast<long double>(std::numeric_limits<double>::max())*1.0000000000001)); }
void getValue(long double& value) const
{ value = static_cast<long double>(_getFloat("long double", std::numeric_limits<long double>::max())); }