123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- diff --git a/CMakeLists.txt b/CMakeLists.txt
- index 36a7e80f..809653a7 100644
- --- a/CMakeLists.txt
- +++ b/CMakeLists.txt
- @@ -395,10 +395,6 @@ check_function_exists( setgroups HAVE_SETGROUPS )
- check_function_exists( setlocale HAVE_SETLOCALE )
- check_function_exists( setmntent HAVE_SETMNTENT )
- check_function_exists( setpriority HAVE_SETPRIORITY )
- -check_function_exists( isnan HAVE_FUNC_ISNAN )
- -check_function_exists( _finite HAVE_FUNC__FINITE )
- -check_function_exists( finite HAVE_FUNC_FINITE )
- -check_function_exists( isinf HAVE_FUNC_ISINF )
- check_function_exists( freeaddrinfo HAVE_FREEADDRINFO )
- check_function_exists( strtoll HAVE_STRTOLL )
- check_function_exists( socket HAVE_SOCKET )
- diff --git a/config.h.cmake b/config.h.cmake
- index 5ee6f156..49b68998 100644
- --- a/config.h.cmake
- +++ b/config.h.cmake
- @@ -212,18 +212,6 @@
- /* Define to 1 if you have the <fstab.h> header file. */
- #cmakedefine HAVE_FSTAB_H 1
-
- -/* Define if you have finite */
- -#cmakedefine HAVE_FUNC_FINITE 1
- -
- -/* Define if you have isinf */
- -#cmakedefine HAVE_FUNC_ISINF 1
- -
- -/* Define if you have isnan */
- -#cmakedefine HAVE_FUNC_ISNAN 1
- -
- -/* Define if you have _finite */
- -#cmakedefine HAVE_FUNC__FINITE 1
- -
- /* Define to 1 if you have the `gai_strerror' function. */
- #cmakedefine HAVE_GAI_STRERROR 1
-
- diff --git a/kjs/configure.in.in b/kjs/configure.in.in
- index fd23612e..1c4d3ac5 100644
- --- a/kjs/configure.in.in
- +++ b/kjs/configure.in.in
- @@ -1,46 +1,6 @@
- dnl KDE JavaScript specific configure tests
-
- AC_CHECK_HEADERS(ieeefp.h float.h)
- -AC_CHECK_LIB(m, finite, [
- - AC_DEFINE_UNQUOTED(HAVE_FUNC_FINITE, 1, [Define if you have finite])
- -])
- -AC_CHECK_LIB(m, _finite, [
- - AC_DEFINE_UNQUOTED(HAVE_FUNC__FINITE, 1, [Define if you have _finite])
- -])
- -
- -dnl The C99 standard says that isinf and isnan are macros, but they might
- -dnl be functions on some platforms.
- -AC_DEFUN([AC_CHECK_ISNAN],
- -[
- - ac_save_libs="$LIBS"
- - LIBS="-lm"
- - AC_MSG_CHECKING([for isnan with <math.h>])
- - AC_TRY_LINK(
- - [#include <math.h>
- - float f;], [return isnan(f)],
- - [AC_MSG_RESULT(yes)
- - AC_DEFINE([HAVE_FUNC_ISNAN], [1], [Define if you have isnan])],
- - AC_MSG_RESULT(no)
- - )
- - LIBS="$ac_save_libs"
- -])
- -AC_DEFUN([AC_CHECK_ISINF],
- -[
- - ac_save_libs="$LIBS"
- - LIBS="-lm"
- - AC_MSG_CHECKING([for isinf with <math.h>])
- - AC_TRY_LINK(
- - [#include <math.h>
- - float f;], [return isinf(f)],
- - [AC_MSG_RESULT(yes)
- - AC_DEFINE([HAVE_FUNC_ISINF], [1], [Define if you have isinf])],
- - AC_MSG_RESULT(no)
- - )
- - LIBS="$ac_save_libs"
- -])
- -
- -AC_CHECK_ISNAN
- -AC_CHECK_ISINF
-
- AC_DEFUN([AC_CHECK_PCREPOSIX],
- [
- diff --git a/kjs/operations.cpp b/kjs/operations.cpp
- index 63c1e669..b9314ecc 100644
- --- a/kjs/operations.cpp
- +++ b/kjs/operations.cpp
- @@ -25,7 +25,6 @@
- #endif
- #ifndef HAVE_FLOAT_H /* just for !Windows */
- #define HAVE_FLOAT_H 0
- -#define HAVE_FUNC__FINITE 0
- #endif
-
- #include <stdio.h>
- @@ -38,11 +37,9 @@
- #include <sunmath.h>
- #endif
-
- -#ifndef HAVE_FUNC_ISINF
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
- -#endif /* HAVE_FUNC_ISINF */
-
- #if HAVE_FLOAT_H
- #include <float.h>
- @@ -55,52 +52,22 @@ using namespace KJS;
-
- bool KJS::isNaN(double d)
- {
- -#ifdef HAVE_FUNC_ISNAN
- return isnan(d);
- -#elif defined HAVE_FLOAT_H
- - return _isnan(d) != 0;
- -#else
- - return !(d == d);
- -#endif
- }
-
- bool KJS::isInf(double d)
- {
- -#if defined(HAVE_FUNC_ISINF)
- return isinf(d);
- -#elif HAVE_FUNC_FINITE
- - return finite(d) == 0 && d == d;
- -#elif HAVE_FUNC__FINITE
- - return _finite(d) == 0 && d == d;
- -#else
- - return false;
- -#endif
- }
-
- bool KJS::isPosInf(double d)
- {
- -#if defined(HAVE_FUNC_ISINF)
- - return (isinf(d) == 1);
- -#elif HAVE_FUNC_FINITE
- - return finite(d) == 0 && d == d; // ### can we distinguish between + and - ?
- -#elif HAVE_FUNC__FINITE
- - return _finite(d) == 0 && d == d; // ###
- -#else
- - return false;
- -#endif
- + return ( isinf(d) && d > 0 );
- }
-
- bool KJS::isNegInf(double d)
- {
- -#if defined(HAVE_FUNC_ISINF)
- - return (isinf(d) == -1);
- -#elif HAVE_FUNC_FINITE
- - return finite(d) == 0 && d == d; // ###
- -#elif HAVE_FUNC__FINITE
- - return _finite(d) == 0 && d == d; // ###
- -#else
- - return false;
- -#endif
- + return ( isinf(d) && d < 0 );
- }
-
- // ECMA 11.9.3
|