@@ -0,0 +1,47 @@ | |||||
/* | |||||
* This file is part of FFmpeg. | |||||
* | |||||
* FFmpeg is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 2.1 of the License, or (at your option) any later version. | |||||
* | |||||
* FFmpeg is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public | |||||
* License along with FFmpeg; if not, write to the Free Software | |||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||||
*/ | |||||
#include <math.h> | |||||
#define FUN(name, type, op) \ | |||||
type name(type x, type y) \ | |||||
{ \ | |||||
if (fpclassify(x) == FP_NAN) return y; \ | |||||
if (fpclassify(y) == FP_NAN) return x; \ | |||||
return x op y ? x : y; \ | |||||
} | |||||
FUN(fmin, double, <) | |||||
FUN(fmax, double, >) | |||||
FUN(fminf, float, <) | |||||
FUN(fmaxf, float, >) | |||||
long double fmodl(long double x, long double y) | |||||
{ | |||||
return fmod(x, y); | |||||
} | |||||
long double scalbnl(long double x, int exp) | |||||
{ | |||||
return scalbn(x, exp); | |||||
} | |||||
long double copysignl(long double x, long double y) | |||||
{ | |||||
return copysign(x, y); | |||||
} |
@@ -0,0 +1,25 @@ | |||||
/* | |||||
* This file is part of FFmpeg. | |||||
* | |||||
* FFmpeg is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 2.1 of the License, or (at your option) any later version. | |||||
* | |||||
* FFmpeg is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public | |||||
* License along with FFmpeg; if not, write to the Free Software | |||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||||
*/ | |||||
double fmin(double, double); | |||||
double fmax(double, double); | |||||
float fminf(float, float); | |||||
float fmaxf(float, float); | |||||
long double fmodl(long double, long double); | |||||
long double scalbnl(long double, int); | |||||
long double copysignl(long double, long double); |
@@ -5468,6 +5468,8 @@ EOF | |||||
elif test_${pfx}cpp_condition sys/version.h "defined __DJGPP__"; then | elif test_${pfx}cpp_condition sys/version.h "defined __DJGPP__"; then | ||||
eval ${pfx}libc_type=djgpp | eval ${pfx}libc_type=djgpp | ||||
add_cppflags -U__STRICT_ANSI__ | add_cppflags -U__STRICT_ANSI__ | ||||
add_cflags "-include $source_path/compat/djgpp/math.h" | |||||
add_compat djgpp/math.o | |||||
fi | fi | ||||
test_${pfx}cc <<EOF | test_${pfx}cc <<EOF | ||||
#include <time.h> | #include <time.h> | ||||
@@ -28,6 +28,7 @@ compat/avisynth/avxsynth_c.h | |||||
compat/avisynth/windowsPorts/basicDataTypeConversions.h | compat/avisynth/windowsPorts/basicDataTypeConversions.h | ||||
compat/avisynth/windowsPorts/windows2linux.h | compat/avisynth/windowsPorts/windows2linux.h | ||||
compat/cuda/dynlink_loader.h | compat/cuda/dynlink_loader.h | ||||
compat/djgpp/math.h | |||||
compat/float/float.h | compat/float/float.h | ||||
compat/float/limits.h | compat/float/limits.h | ||||
Use of av_clip() where av_clip_uintp2() could be used: | Use of av_clip() where av_clip_uintp2() could be used: | ||||