]> git.tdb.fi Git - libs/core.git/blobdiff - source/lexicalcast.cpp
Fix compile erorrs on 64-bit systems
[libs/core.git] / source / lexicalcast.cpp
index cdd55780b5f612ee86cce7db6beee8c64d80502f..a1270d6d6074d6b4e68d817fe940e1fd9b1da2e2 100644 (file)
@@ -119,7 +119,7 @@ char *int_to_str(T v, const Fmt &f, char *end)
 template<typename T>
 string int_to_str(T v, const Fmt &f)
 {
-       unsigned size=max(f.get_width(), max(f.get_precision(), sizeof(T)*8+3));
+       unsigned size=max(f.get_width(), max<unsigned>(f.get_precision(), sizeof(T)*8+3));
        char *buf=new char[size];
        string result(int_to_str(v, f, buf+size), buf+size);
        delete[] buf;
@@ -305,7 +305,7 @@ string flt_to_str(T v, const Fmt &f)
        }
 
        // Apply rounding
-       w+=5.0l/pow(10.0l, digits);
+       w+=5.0l/pow(10.0l, static_cast<long double>(digits));
        if(w>10)
        {
                // Rounding bumped us to the next exponent, deal with it