Commit 19de4a86 authored by Victor Zverovich's avatar Victor Zverovich

Merge pull request #236 from Jopie64/master

Silence some performance warnings in Visual Studio
parents fac20781 328c8888
...@@ -28,7 +28,13 @@ ...@@ -28,7 +28,13 @@
#ifndef FMT_FORMAT_H_ #ifndef FMT_FORMAT_H_
#define FMT_FORMAT_H_ #define FMT_FORMAT_H_
#if defined _MSC_VER && _MSC_VER <= 1500
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;
typedef long long intmax_t;
#else
#include <stdint.h> #include <stdint.h>
#endif
#include <cassert> #include <cassert>
#include <cmath> #include <cmath>
...@@ -256,7 +262,7 @@ class numeric_limits<fmt::internal::DummyInt> : ...@@ -256,7 +262,7 @@ class numeric_limits<fmt::internal::DummyInt> :
// isinf macro > std::isinf > ::isinf > fmt::internal::isinf // isinf macro > std::isinf > ::isinf > fmt::internal::isinf
if (check(sizeof(isinf(x)) == sizeof(bool) || if (check(sizeof(isinf(x)) == sizeof(bool) ||
sizeof(isinf(x)) == sizeof(int))) { sizeof(isinf(x)) == sizeof(int))) {
return isinf(x); return !!isinf(x);
} }
return !_finite(static_cast<double>(x)); return !_finite(static_cast<double>(x));
} }
...@@ -267,7 +273,7 @@ class numeric_limits<fmt::internal::DummyInt> : ...@@ -267,7 +273,7 @@ class numeric_limits<fmt::internal::DummyInt> :
using namespace fmt::internal; using namespace fmt::internal;
if (check(sizeof(isnan(x)) == sizeof(bool) || if (check(sizeof(isnan(x)) == sizeof(bool) ||
sizeof(isnan(x)) == sizeof(int))) { sizeof(isnan(x)) == sizeof(int))) {
return isnan(x); return !!isnan(x);
} }
return _isnan(static_cast<double>(x)) != 0; return _isnan(static_cast<double>(x)) != 0;
} }
...@@ -276,7 +282,7 @@ class numeric_limits<fmt::internal::DummyInt> : ...@@ -276,7 +282,7 @@ class numeric_limits<fmt::internal::DummyInt> :
static bool isnegative(double x) { static bool isnegative(double x) {
using namespace fmt::internal; using namespace fmt::internal;
if (check(sizeof(signbit(x)) == sizeof(int))) if (check(sizeof(signbit(x)) == sizeof(int)))
return signbit(x); return !!signbit(x);
if (x < 0) return true; if (x < 0) return true;
if (!isnotanumber(x)) return false; if (!isnotanumber(x)) return false;
int dec = 0, sign = 0; int dec = 0, sign = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment