On Wed, Nov 18, 2015 at 3:04 PM, Ganesh Ajjanagadde <gajja...@mit.edu> wrote: > On Wed, Nov 18, 2015 at 2:58 PM, Michael Niedermayer <michae...@gmx.at> wrote: >> On Tue, Nov 17, 2015 at 04:54:10PM -0500, Ganesh Ajjanagadde wrote: >>> isnan and isinf are actually macros as per the standard. In particular, >>> the existing implementation has incorrect signature. Furthermore, this >>> results in undefined behavior for e.g double values outside float range >>> as per the standard. >>> >>> This patch corrects the undefined behavior for all usage within FFmpeg. >>> >>> Note that long double is not handled as it is not used in FFmpeg. >>> Furthermore, even if at some point long double gets used, it is likely >>> not needed to modify the macro in practice for usage in FFmpeg. See >>> below for analysis. >>> >>> Getting long double to work strictly per the spec is significantly harder >>> since a long double may be an IEEE 128 bit quad (very rare), 80 bit >>> extended precision value (on GCC/Clang), or simply double (on recent >>> Microsoft). >>> On the other hand, any potential future usage of long double is likely >>> for precision (when a platform offers extra precision) and not for range, >>> since >>> the range anyway varies and is not as portable as IEEE 754 single/double >>> precision. In such cases, the implicit cast to a double is well defined >>> and isinf and isnan should work as intended. >>> >>> Reviewed-by: Michael Niedermayer <mich...@niedermayer.cc> >>> Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> >>> --- >>> libavutil/libm.h | 34 ++++++++++++++++++++++++++++++++-- >>> 1 file changed, 32 insertions(+), 2 deletions(-) >> >> probably ok >> maybe wait a day or 2 before pushing so people can test it on more >> obscure platforms >> >> thx > > ok, will wait for 2 days for the hypot hack as well. Thanks.
pushed, thanks > >> >> [...] >> -- >> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB >> >> I do not agree with what you have to say, but I'll defend to the death your >> right to say it. -- Voltaire >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel