mathematics: Don't use division by zero in NAN/INFINITY macros
authorRonald S. Bultje <rsbultje@gmail.com>
Fri, 22 Jun 2012 10:05:21 +0000 (13:05 +0300)
committerMartin Storsjö <martin@martin.st>
Sun, 1 Jul 2012 16:06:13 +0000 (19:06 +0300)
Some compilers, MSVC among them, don't recognize the divisions by
zero as meaning infinity/nan.

These macros should, according to the standard, expand to constant
expressions, but this shouldn't matter for our usage.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavutil/mathematics.h

index a734b75..043dd0f 100644 (file)
@@ -25,6 +25,7 @@
 #include <math.h>
 #include "attributes.h"
 #include "rational.h"
+#include "intfloat.h"
 
 #ifndef M_LOG2_10
 #define M_LOG2_10      3.32192809488736234787  /* log_2 10 */
 #define M_PHI          1.61803398874989484820   /* phi / golden ratio */
 #endif
 #ifndef NAN
-#define NAN            (0.0/0.0)
+#define NAN            av_int2float(0x7fc00000)
 #endif
 #ifndef INFINITY
-#define INFINITY       (1.0/0.0)
+#define INFINITY       av_int2float(0x7f800000)
 #endif
 
 /**