From c0177e80a7d4c0a440f3990167ecaf0d0c1da824 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 25 Mar 2014 09:56:15 -0700 Subject: [PATCH] use glm::isnan() everywhere for portable code --- interface/src/Util.cpp | 11 +++-------- libraries/audio/src/PositionalAudioRingBuffer.cpp | 9 ++------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/interface/src/Util.cpp b/interface/src/Util.cpp index f54bfb9d00..1921fe924b 100644 --- a/interface/src/Util.cpp +++ b/interface/src/Util.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -24,12 +25,6 @@ #include "Util.h" -#ifdef _WIN32 -int isnan(double value) { return _isnan(value); } -#else -int isnan(double value) { return std::isnan(value); } -#endif - using namespace std; // no clue which versions are affected... @@ -88,7 +83,7 @@ float angleBetween(const glm::vec3& v1, const glm::vec3& v2) { // Helper function return the rotation from the first vector onto the second glm::quat rotationBetween(const glm::vec3& v1, const glm::vec3& v2) { float angle = angleBetween(v1, v2); - if (isnan(angle) || angle < EPSILON) { + if (glm::isnan(angle) || angle < EPSILON) { return glm::quat(); } glm::vec3 axis; @@ -586,7 +581,7 @@ void runTimingTests() { float loadSetting(QSettings* settings, const char* name, float defaultValue) { float value = settings->value(name, defaultValue).toFloat(); - if (isnan(value)) { + if (glm::isnan(value)) { value = defaultValue; } return value; diff --git a/libraries/audio/src/PositionalAudioRingBuffer.cpp b/libraries/audio/src/PositionalAudioRingBuffer.cpp index 8fb3d64e7d..d1729ddfef 100644 --- a/libraries/audio/src/PositionalAudioRingBuffer.cpp +++ b/libraries/audio/src/PositionalAudioRingBuffer.cpp @@ -8,6 +8,7 @@ #include +#include #include #include @@ -16,12 +17,6 @@ #include "PositionalAudioRingBuffer.h" -#ifdef _WIN32 -int isnan(double value) { return _isnan(value); } -#else -int isnan(double value) { return std::isnan(value); } -#endif - PositionalAudioRingBuffer::PositionalAudioRingBuffer(PositionalAudioRingBuffer::Type type) : AudioRingBuffer(NETWORK_BUFFER_LENGTH_SAMPLES_PER_CHANNEL), _type(type), @@ -69,7 +64,7 @@ int PositionalAudioRingBuffer::parsePositionalData(const QByteArray& positionalB packetStream.readRawData(reinterpret_cast(&_orientation), sizeof(_orientation)); // if this node sent us a NaN for first float in orientation then don't consider this good audio and bail - if (isnan(_orientation.x)) { + if (glm::isnan(_orientation.x)) { reset(); return 0; }