mirror of
https://github.com/libsdl-org/SDL.git
synced 2024-11-24 03:13:34 +08:00
Added SDL_round(), contributed by Benoit Pierre - thanks!
This commit is contained in:
parent
d673d8c389
commit
4e7db78ed9
@ -495,7 +495,7 @@ if(LIBC)
|
|||||||
strlen _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa
|
strlen _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa
|
||||||
_ultoa strtol strtoul strtoll strtod atoi atof strcmp strncmp
|
_ultoa strtol strtoul strtoll strtod atoi atof strcmp strncmp
|
||||||
_stricmp _strnicmp sscanf atan atan2 acos asin ceil copysign cos
|
_stricmp _strnicmp sscanf atan atan2 acos asin ceil copysign cos
|
||||||
cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf)
|
cosf fabs floor log pow round scalbn sin sinf sqrt sqrtf tan tanf)
|
||||||
string(TOUPPER ${_FN} _UPPER)
|
string(TOUPPER ${_FN} _UPPER)
|
||||||
set(HAVE_${_UPPER} 1)
|
set(HAVE_${_UPPER} 1)
|
||||||
endforeach()
|
endforeach()
|
||||||
@ -541,7 +541,7 @@ if(LIBC)
|
|||||||
if(HAVE_LIBM)
|
if(HAVE_LIBM)
|
||||||
set(CMAKE_REQUIRED_LIBRARIES m)
|
set(CMAKE_REQUIRED_LIBRARIES m)
|
||||||
foreach(_FN
|
foreach(_FN
|
||||||
atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin
|
atan atan2 ceil copysign cos cosf fabs floor log pow round scalbn sin
|
||||||
sinf sqrt sqrtf tan tanf)
|
sinf sqrt sqrtf tan tanf)
|
||||||
string(TOUPPER ${_FN} _UPPER)
|
string(TOUPPER ${_FN} _UPPER)
|
||||||
set(_HAVEVAR "HAVE_${_UPPER}")
|
set(_HAVEVAR "HAVE_${_UPPER}")
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -16641,7 +16641,7 @@ if test "x$ac_cv_lib_m_pow" = xyes; then :
|
|||||||
LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"
|
LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ac_func in atan atan2 acos asin ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf
|
for ac_func in atan atan2 acos asin ceil copysign cos cosf fabs floor log pow round scalbn sin sinf sqrt sqrtf tan tanf
|
||||||
do :
|
do :
|
||||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||||
|
@ -271,7 +271,7 @@ if test x$enable_libc = xyes; then
|
|||||||
AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname)
|
AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp vsscanf vsnprintf fseeko fseeko64 sigaction setjmp nanosleep sysconf sysctlbyname)
|
||||||
|
|
||||||
AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
|
AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
|
||||||
AC_CHECK_FUNCS(atan atan2 acos asin ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt sqrtf tan tanf)
|
AC_CHECK_FUNCS(atan atan2 acos asin ceil copysign cos cosf fabs floor log pow round scalbn sin sinf sqrt sqrtf tan tanf)
|
||||||
|
|
||||||
AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
|
AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
|
||||||
AC_CHECK_FUNCS(iconv)
|
AC_CHECK_FUNCS(iconv)
|
||||||
|
@ -140,6 +140,7 @@
|
|||||||
#cmakedefine HAVE_FLOOR 1
|
#cmakedefine HAVE_FLOOR 1
|
||||||
#cmakedefine HAVE_LOG 1
|
#cmakedefine HAVE_LOG 1
|
||||||
#cmakedefine HAVE_POW 1
|
#cmakedefine HAVE_POW 1
|
||||||
|
#cmakedefine HAVE_ROUND 1
|
||||||
#cmakedefine HAVE_SCALBN 1
|
#cmakedefine HAVE_SCALBN 1
|
||||||
#cmakedefine HAVE_SIN 1
|
#cmakedefine HAVE_SIN 1
|
||||||
#cmakedefine HAVE_SINF 1
|
#cmakedefine HAVE_SINF 1
|
||||||
|
@ -150,6 +150,7 @@
|
|||||||
#undef HAVE_FLOOR
|
#undef HAVE_FLOOR
|
||||||
#undef HAVE_LOG
|
#undef HAVE_LOG
|
||||||
#undef HAVE_POW
|
#undef HAVE_POW
|
||||||
|
#undef HAVE_ROUND
|
||||||
#undef HAVE_SCALBN
|
#undef HAVE_SCALBN
|
||||||
#undef HAVE_SIN
|
#undef HAVE_SIN
|
||||||
#undef HAVE_SINF
|
#undef HAVE_SINF
|
||||||
|
@ -96,6 +96,7 @@
|
|||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
#define HAVE_POW 1
|
#define HAVE_POW 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SCALBN 1
|
#define HAVE_SCALBN 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
|
@ -94,6 +94,7 @@
|
|||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
#define HAVE_POW 1
|
#define HAVE_POW 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SCALBN 1
|
#define HAVE_SCALBN 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
|
@ -92,6 +92,7 @@
|
|||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
#define HAVE_POW 1
|
#define HAVE_POW 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SCALBN 1
|
#define HAVE_SCALBN 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
|
@ -91,6 +91,7 @@
|
|||||||
#define HAVE_FABS 1
|
#define HAVE_FABS 1
|
||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SCALBN 1
|
#define HAVE_SCALBN 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
|
@ -94,6 +94,7 @@
|
|||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
#define HAVE_POW 1
|
#define HAVE_POW 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SCALBN 1
|
#define HAVE_SCALBN 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
|
@ -133,6 +133,7 @@ typedef unsigned int uintptr_t;
|
|||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
#define HAVE_POW 1
|
#define HAVE_POW 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
#define HAVE_SQRT 1
|
#define HAVE_SQRT 1
|
||||||
|
@ -135,6 +135,7 @@ typedef unsigned int uintptr_t;
|
|||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
#define HAVE_POW 1
|
#define HAVE_POW 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
//#define HAVE_SCALBN 1
|
//#define HAVE_SCALBN 1
|
||||||
#define HAVE__SCALB 1
|
#define HAVE__SCALB 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
|
@ -85,6 +85,7 @@
|
|||||||
#define HAVE_FABS 1
|
#define HAVE_FABS 1
|
||||||
#define HAVE_FLOOR 1
|
#define HAVE_FLOOR 1
|
||||||
#define HAVE_LOG 1
|
#define HAVE_LOG 1
|
||||||
|
#define HAVE_ROUND 1
|
||||||
#define HAVE_SCALBN 1
|
#define HAVE_SCALBN 1
|
||||||
#define HAVE_SIN 1
|
#define HAVE_SIN 1
|
||||||
#define HAVE_SINF 1
|
#define HAVE_SINF 1
|
||||||
|
@ -428,6 +428,7 @@ extern DECLSPEC double SDLCALL SDL_fabs(double x);
|
|||||||
extern DECLSPEC double SDLCALL SDL_floor(double x);
|
extern DECLSPEC double SDLCALL SDL_floor(double x);
|
||||||
extern DECLSPEC double SDLCALL SDL_log(double x);
|
extern DECLSPEC double SDLCALL SDL_log(double x);
|
||||||
extern DECLSPEC double SDLCALL SDL_pow(double x, double y);
|
extern DECLSPEC double SDLCALL SDL_pow(double x, double y);
|
||||||
|
extern DECLSPEC double SDLCALL SDL_round(double x);
|
||||||
extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);
|
extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n);
|
||||||
extern DECLSPEC double SDLCALL SDL_sin(double x);
|
extern DECLSPEC double SDLCALL SDL_sin(double x);
|
||||||
extern DECLSPEC float SDLCALL SDL_sinf(float x);
|
extern DECLSPEC float SDLCALL SDL_sinf(float x);
|
||||||
|
@ -591,3 +591,4 @@
|
|||||||
#define SDL_QueueAudio SDL_QueueAudio_REAL
|
#define SDL_QueueAudio SDL_QueueAudio_REAL
|
||||||
#define SDL_GetQueuedAudioSize SDL_GetQueuedAudioSize_REAL
|
#define SDL_GetQueuedAudioSize SDL_GetQueuedAudioSize_REAL
|
||||||
#define SDL_ClearQueuedAudio SDL_ClearQueuedAudio_REAL
|
#define SDL_ClearQueuedAudio SDL_ClearQueuedAudio_REAL
|
||||||
|
#define SDL_round SDL_round_REAL
|
||||||
|
@ -623,3 +623,4 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX2,(void),(),return)
|
|||||||
SDL_DYNAPI_PROC(int,SDL_QueueAudio,(SDL_AudioDeviceID a, const void *b, Uint32 c),(a,b,c),return)
|
SDL_DYNAPI_PROC(int,SDL_QueueAudio,(SDL_AudioDeviceID a, const void *b, Uint32 c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(Uint32,SDL_GetQueuedAudioSize,(SDL_AudioDeviceID a),(a),return)
|
SDL_DYNAPI_PROC(Uint32,SDL_GetQueuedAudioSize,(SDL_AudioDeviceID a),(a),return)
|
||||||
SDL_DYNAPI_PROC(void,SDL_ClearQueuedAudio,(SDL_AudioDeviceID a),(a),)
|
SDL_DYNAPI_PROC(void,SDL_ClearQueuedAudio,(SDL_AudioDeviceID a),(a),)
|
||||||
|
SDL_DYNAPI_PROC(double,SDL_round,(double a),(a),return)
|
||||||
|
@ -30,6 +30,7 @@ double SDL_uclibc_fabs(double x);
|
|||||||
double SDL_uclibc_floor(double x);
|
double SDL_uclibc_floor(double x);
|
||||||
double SDL_uclibc_log(double x);
|
double SDL_uclibc_log(double x);
|
||||||
double SDL_uclibc_pow(double x, double y);
|
double SDL_uclibc_pow(double x, double y);
|
||||||
|
double SDL_uclibc_round(double x);
|
||||||
double SDL_uclibc_scalbn(double x, int n);
|
double SDL_uclibc_scalbn(double x, int n);
|
||||||
double SDL_uclibc_sin(double x);
|
double SDL_uclibc_sin(double x);
|
||||||
double SDL_uclibc_sqrt(double x);
|
double SDL_uclibc_sqrt(double x);
|
||||||
|
@ -37,6 +37,7 @@ typedef unsigned int u_int32_t;
|
|||||||
#define floor SDL_uclibc_floor
|
#define floor SDL_uclibc_floor
|
||||||
#define __ieee754_log SDL_uclibc_log
|
#define __ieee754_log SDL_uclibc_log
|
||||||
#define __ieee754_pow SDL_uclibc_pow
|
#define __ieee754_pow SDL_uclibc_pow
|
||||||
|
#define round SDL_uclibc_round
|
||||||
#define scalbn SDL_uclibc_scalbn
|
#define scalbn SDL_uclibc_scalbn
|
||||||
#define sin SDL_uclibc_sin
|
#define sin SDL_uclibc_sin
|
||||||
#define __ieee754_sqrt SDL_uclibc_sqrt
|
#define __ieee754_sqrt SDL_uclibc_sqrt
|
||||||
|
@ -169,6 +169,16 @@ SDL_pow(double x, double y)
|
|||||||
#endif /* HAVE_POW */
|
#endif /* HAVE_POW */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double
|
||||||
|
SDL_round(double x)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_ROUND)
|
||||||
|
return round(x);
|
||||||
|
#else
|
||||||
|
return SDL_uclibc_round(x);
|
||||||
|
#endif /* HAVE_ROUND */
|
||||||
|
}
|
||||||
|
|
||||||
double
|
double
|
||||||
SDL_scalbn(double x, int n)
|
SDL_scalbn(double x, int n)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user