Martin Storsjö <[email protected]> writes:

> On Sun, 1 Jul 2012, Måns Rullgård wrote:
>
>> Martin Storsjö <[email protected]> writes:
>>
>>> From: "Ronald S. Bultje" <[email protected]>
>>>
>>> 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.
>>> ---
>>>  libavutil/mathematics.h |    5 +++--
>>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/libavutil/mathematics.h b/libavutil/mathematics.h
>>> index a734b75..043dd0f 100644
>>> --- a/libavutil/mathematics.h
>>> +++ b/libavutil/mathematics.h
>>> @@ -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 */
>>> @@ -33,10 +34,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
>>>
>>>  /**
>>> --
>>
>> Seems OK, but did you make sure it works as expected?
>
> Make fate works fine with this in place, and it is tested by the
> fate-eval test. (I also extended this test to test isinf and the
> INFINITY macro.)

I guess it's OK then.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to