Introduce more floating point classifying APIs;
Jarkko Hietaniemi [Thu, 9 Aug 2001 13:21:51 +0000 (13:21 +0000)]
try to define (most importantly) Perl_is{inf,nan}(x).

For this first cut, assume none such APIs exist in non-UNIXoid
platforms-- this is of course too unkind: Win32 rumoredly has
_fpclass() and _isnan(), and VMS/VOS very probably have some
of the APIs available.  The only thing Perl uses at the moment
is Perl_isnan() (has been in use for a while now).

NOTE: the Win32 and NetWare config_h.?c need regenerating.

p4raw-id: //depot/perl@11618

20 files changed:
Configure
NetWare/config.wc
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
configure.com
epoc/config.sh
hints/hpux.sh
perl.h
pod/perltoc.pod
uconfig.h
uconfig.sh
vos/config.alpha.def
vos/config.alpha.h
vos/config.ga.def
vos/config.ga.h
win32/config.bc
win32/config.gc
win32/config.vc

index 98621ab..c6c4ff3 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Wed Aug  1 02:58:53 EET DST 2001 [metaconfig 3.0 PL70]
+# Generated on Thu Aug  9 16:34:00 EET DST 2001 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -328,6 +328,7 @@ d_castneg=''
 d_chown=''
 d_chroot=''
 d_chsize=''
+d_class=''
 d_closedir=''
 d_void_closedir=''
 d_cmsghdr_s=''
@@ -363,10 +364,16 @@ d_fd_macros=''
 d_fd_set=''
 d_fds_bits=''
 d_fgetpos=''
+d_finite=''
+d_finitel=''
 d_flexfnam=''
 d_flock=''
 d_flockproto=''
 d_fork=''
+d_fp_class=''
+d_fpclass=''
+d_fpclassify=''
+d_fpclassl=''
 d_fpos64_t=''
 d_frexpl=''
 d_fs_data_s=''
@@ -424,6 +431,8 @@ d_iconv=''
 d_inetaton=''
 d_int64_t=''
 d_isascii=''
+d_isfinite=''
+d_isinf=''
 d_isnan=''
 d_isnanl=''
 d_killpg=''
@@ -612,6 +621,7 @@ d_umask=''
 d_semctl_semid_ds=''
 d_semctl_semun=''
 d_union_semun=''
+d_unordered=''
 d_usleep=''
 d_usleepproto=''
 d_ustat=''
@@ -665,6 +675,8 @@ i_dld=''
 i_dlfcn=''
 i_fcntl=''
 i_float=''
+i_fp=''
+i_fp_class=''
 i_gdbm=''
 d_grpasswd=''
 i_grp=''
@@ -9106,6 +9118,10 @@ eval $inlibc
 set chsize d_chsize
 eval $inlibc
 
+: see if class exists
+set class d_class
+eval $inlibc
+
 hasstruct='varname=$1; struct=$2; shift; shift;
 while $test $# -ge 2; do
        case "$1" in
@@ -10143,6 +10159,14 @@ $rm -f try try.*
 set fgetpos d_fgetpos
 eval $inlibc
 
+: see if finite exists
+set finite d_finite
+eval $inlibc
+
+: see if finitel exists
+set finitel d_finitel
+eval $inlibc
+
 : see if flock exists
 set flock d_flock
 eval $inlibc
@@ -10180,6 +10204,10 @@ eval $hasproto
 set fork d_fork
 eval $inlibc
 
+: see if fp_class exists
+set fp_class d_fp_class
+eval $inlibc
+
 : see if pathconf exists
 set pathconf d_pathconf
 eval $inlibc
@@ -10188,6 +10216,18 @@ eval $inlibc
 set fpathconf d_fpathconf
 eval $inlibc
 
+: see if fpclass exists
+set fpclass d_fpclass
+eval $inlibc
+
+: see if fpclassify exists
+set fpclassify d_fpclassify
+eval $inlibc
+
+: see if fpclassl exists
+set fpclassl d_fpclassl
+eval $inlibc
+
 
 : check for fpos64_t
 echo " "
@@ -10654,6 +10694,14 @@ set d_isascii
 eval $setvar
 $rm -f isascii*
 
+: see if isfinite exists
+set isfinite d_isfinite
+eval $inlibc
+
+: see if isinf exists
+set isinf d_isinf
+eval $inlibc
+
 : see if isnan exists
 set isnan d_isnan
 eval $inlibc
@@ -13292,6 +13340,10 @@ eval $inlibc
 set umask d_umask
 eval $inlibc
 
+: see if unordered exists
+set unordered d_unordered
+eval $inlibc
+
 : see if usleep exists
 set usleep d_usleep
 eval $inlibc
@@ -15767,6 +15819,14 @@ esac
 set i_fcntl
 eval $setvar
 
+: see if this is a fp.h system
+set fp.h i_fp
+eval $inhdr
+
+: see if this is a fp_class.h system
+set fp_class.h i_fp_class
+eval $inhdr
+
 : see if this is a iconv.h system
 set iconv.h i_iconv
 eval $inhdr
@@ -16703,6 +16763,7 @@ d_charvspr='$d_charvspr'
 d_chown='$d_chown'
 d_chroot='$d_chroot'
 d_chsize='$d_chsize'
+d_class='$d_class'
 d_closedir='$d_closedir'
 d_cmsghdr_s='$d_cmsghdr_s'
 d_const='$d_const'
@@ -16737,11 +16798,17 @@ d_fd_macros='$d_fd_macros'
 d_fd_set='$d_fd_set'
 d_fds_bits='$d_fds_bits'
 d_fgetpos='$d_fgetpos'
+d_finite='$d_finite'
+d_finitel='$d_finitel'
 d_flexfnam='$d_flexfnam'
 d_flock='$d_flock'
 d_flockproto='$d_flockproto'
 d_fork='$d_fork'
+d_fp_class='$d_fp_class'
 d_fpathconf='$d_fpathconf'
+d_fpclass='$d_fpclass'
+d_fpclassify='$d_fpclassify'
+d_fpclassl='$d_fpclassl'
 d_fpos64_t='$d_fpos64_t'
 d_frexpl='$d_frexpl'
 d_fs_data_s='$d_fs_data_s'
@@ -16797,6 +16864,8 @@ d_index='$d_index'
 d_inetaton='$d_inetaton'
 d_int64_t='$d_int64_t'
 d_isascii='$d_isascii'
+d_isfinite='$d_isfinite'
+d_isinf='$d_isinf'
 d_isnan='$d_isnan'
 d_isnanl='$d_isnanl'
 d_killpg='$d_killpg'
@@ -16983,6 +17052,7 @@ d_ualarm='$d_ualarm'
 d_umask='$d_umask'
 d_uname='$d_uname'
 d_union_semun='$d_union_semun'
+d_unordered='$d_unordered'
 d_usleep='$d_usleep'
 d_usleepproto='$d_usleepproto'
 d_ustat='$d_ustat'
@@ -17068,6 +17138,8 @@ i_dld='$i_dld'
 i_dlfcn='$i_dlfcn'
 i_fcntl='$i_fcntl'
 i_float='$i_float'
+i_fp='$i_fp'
+i_fp_class='$i_fp_class'
 i_gdbm='$i_gdbm'
 i_grp='$i_grp'
 i_iconv='$i_iconv'
index d47f3a6..1d4d194 100644 (file)
@@ -106,6 +106,7 @@ d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
+d_class='undef'
 d_closedir='define'
 d_const='define'
 d_crypt='undef'
@@ -138,10 +139,16 @@ d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='undef'
+d_finitel='undef'
 d_flexfnam='define'
 d_flock='define'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_fs_data_s='undef'
 d_fseeko='undef'
@@ -192,6 +199,10 @@ d_index='undef'
 d_inetaton='undef'
 d_int64_t='undef'
 d_isascii='define'
+d_isfinite='undef'
+d_isinf='undef'
+d_isnan='define'
+d_isnanl='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='define'
@@ -354,6 +365,7 @@ d_tzname='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unordered='undef'
 d_ustat='undef'
 d_vendorarch='undef'
 d_vendorbin='undef'
@@ -433,6 +445,8 @@ i_dld='undef'
 i_dlfcn='define'
 i_fcntl='define'
 i_float='define'
+i_fp='undef'
+i_fp_class='undef'
 i_gdbm='undef'
 i_grp='undef'
 i_iconv='undef'
index aaea2e7..3ffbdcc 100644 (file)
@@ -431,6 +431,10 @@ d_chsize (d_chsize.U):
        indicates to the C program that the chsize() routine is available
        to truncate files.  You might need a -lx to get this routine.
 
+d_class (d_class.U):
+       This variable conditionally defines the HAS_CLASS symbol, which
+       indicates to the C program that the class() routine is available.
+
 d_closedir (d_closedir.U):
        This variable conditionally defines HAS_CLOSEDIR if closedir() is
        available.
@@ -586,6 +590,14 @@ d_fgetpos (d_fgetpos.U):
        This variable conditionally defines HAS_FGETPOS if fgetpos() is
        available to get the file position indicator.
 
+d_finite (d_finite.U):
+       This variable conditionally defines the HAS_FINITE symbol, which
+       indicates to the C program that the finite() routine is available.
+
+d_finitel (d_finitel.U):
+       This variable conditionally defines the HAS_FINITEL symbol, which
+       indicates to the C program that the finitel() routine is available.
+
 d_flexfnam (d_flexfnam.U):
        This variable conditionally defines the FLEXFILENAMES symbol, which
        indicates that the system supports filenames longer than 14 characters.
@@ -604,12 +616,28 @@ d_fork (d_fork.U):
        This variable conditionally defines the HAS_FORK symbol, which
        indicates to the C program that the fork() routine is available.
 
+d_fp_class (d_fp_class.U):
+       This variable conditionally defines the HAS_FP_CLASS symbol, which
+       indicates to the C program that the fp_class() routine is available.
+
 d_fpathconf (d_pathconf.U):
        This variable conditionally defines the HAS_FPATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
        to determine file-system related limits and options associated
        with a given open file descriptor.
 
+d_fpclass (d_fpclass.U):
+       This variable conditionally defines the HAS_FPCLASS symbol, which
+       indicates to the C program that the fpclass() routine is available.
+
+d_fpclassify (d_fpclassify.U):
+       This variable conditionally defines the HAS_FPCLASSIFY symbol, which
+       indicates to the C program that the fpclassify() routine is available.
+
+d_fpclassl (d_fpclassl.U):
+       This variable conditionally defines the HAS_FPCLASSL symbol, which
+       indicates to the C program that the fpclassl() routine is available.
+
 d_fpos64_t (d_fpos64_t.U):
        This symbol will be defined if the C compiler supports fpos64_t.
 
@@ -871,6 +899,14 @@ d_isascii (d_isascii.U):
        This variable conditionally defines the HAS_ISASCII constant,
        which indicates to the C program that isascii() is available.
 
+d_isfinite (d_isfinite.U):
+       This variable conditionally defines the HAS_ISFINITE symbol, which
+       indicates to the C program that the isfinite() routine is available.
+
+d_isinf (d_isinf.U):
+       This variable conditionally defines the HAS_ISINF symbol, which
+       indicates to the C program that the isinf() routine is available.
+
 d_isnan (d_isnan.U):
        This variable conditionally defines the HAS_ISNAN symbol, which
        indicates to the C program that the isnan() routine is available.
@@ -1773,6 +1809,10 @@ d_union_semun (d_union_semun.U):
        This variable conditionally defines HAS_UNION_SEMUN if the
        union semun is defined by including <sys/sem.h>.
 
+d_unordered (d_unordered.U):
+       This variable conditionally defines the HAS_UNORDERED symbol, which
+       indicates to the C program that the unordered() routine is available.
+
 d_usleep (d_usleep.U):
        This variable conditionally defines HAS_USLEEP if usleep() is
        available to do high granularity sleeps.
@@ -2156,6 +2196,14 @@ i_float (i_float.U):
        whether a C program may include <float.h> to get symbols like DBL_MAX
        or DBL_MIN, i.e. machine dependent floating point values.
 
+i_fp (i_fp.U):
+       This variable conditionally defines the I_FP symbol, and indicates
+       whether a C program should include <fp.h>.
+
+i_fp_class (i_fp_class.U):
+       This variable conditionally defines the I_FP_CLASS symbol, and indicates
+       whether a C program should include <fp_class.h>.
+
 i_gdbm (i_gdbm.U):
        This variable conditionally defines the I_GDBM symbol, which
        indicates to the C program that <gdbm.h> exists and should
index 4bf2b8b..17fca1c 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Tue Jul 31 18:19:35 EET DST 2001
+# Configuration time: Thu Aug  9 16:48:44 EET DST 2001
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -56,14 +56,14 @@ cat='cat'
 cc='cc'
 cccdlflags=' '
 ccdlflags='  -Wl,-rpath,/opt/perl/lib/5.7.2/alpha-dec_osf/CORE'
-ccflags='-std -fprm d -ieee -D_INTRINSICS -DLANGUAGE_C'
+ccflags='-std -D_INTRINSICS -DLANGUAGE_C'
 ccflags_uselargefiles=''
 ccname='cc'
 ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1'
 ccversion='V5.6-082'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Tue Jul 31 18:19:35 EET DST 2001'
+cf_time='Thu Aug  9 16:48:44 EET DST 2001'
 charsize='1'
 chgrp=''
 chmod='chmod'
@@ -77,7 +77,7 @@ cpio=''
 cpp='cpp'
 cpp_stuff='42'
 cppccsymbols='LANGUAGE_C=1'
-cppflags='-std -ieee -D_INTRINSICS -DLANGUAGE_C'
+cppflags='-std -D_INTRINSICS -DLANGUAGE_C'
 cpplast=''
 cppminus=''
 cpprun='/usr/bin/cpp'
@@ -120,6 +120,7 @@ d_charvspr='undef'
 d_chown='define'
 d_chroot='define'
 d_chsize='undef'
+d_class='undef'
 d_closedir='define'
 d_cmsghdr_s='define'
 d_const='define'
@@ -154,11 +155,17 @@ d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='undef'
 d_fork='define'
+d_fp_class='define'
 d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_frexpl='define'
 d_fs_data_s='undef'
@@ -214,6 +221,8 @@ d_index='undef'
 d_inetaton='define'
 d_int64_t='undef'
 d_isascii='define'
+d_isfinite='undef'
+d_isinf='undef'
 d_isnan='define'
 d_isnanl='define'
 d_killpg='define'
@@ -400,6 +409,7 @@ d_ualarm='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unordered='define'
 d_usleep='define'
 d_usleepproto='undef'
 d_ustat='define'
@@ -485,6 +495,8 @@ i_dld='undef'
 i_dlfcn='define'
 i_fcntl='undef'
 i_float='define'
+i_fp='define'
+i_fp_class='define'
 i_gdbm='undef'
 i_grp='define'
 i_iconv='define'
@@ -674,7 +686,7 @@ patchlevel='7'
 path_sep=':'
 perl5='perl'
 perl=''
-perl_patchlevel='11497'
+perl_patchlevel='11596'
 perladmin='yourname@yourhost.yourplace.com'
 perllibs='-lm -liconv -lutil'
 perlpath='/opt/perl/bin/perl'
@@ -842,7 +854,7 @@ vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
 version='5.7.2'
-version_patchlevel_string='version 7 subversion 2 patch 11497'
+version_patchlevel_string='version 7 subversion 2 patch 11596'
 versiononly='define'
 vi=''
 voidflags='15'
@@ -872,7 +884,7 @@ PERL_SUBVERSION=2
 PERL_API_REVISION=5
 PERL_API_VERSION=5
 PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=11497
+PERL_PATCHLEVEL=11596
 PERL_CONFIG_SH=true
 # Variables propagated from previous config.sh file.
 pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
index 6008f4c..896a878 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Tue Jul 31 18:19:35 EET DST 2001
+ * Configuration time: Thu Aug  9 16:48:44 EET DST 2001
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
 #define        CASTNEGFLOAT            /**/
 #define CASTFLAGS 0            /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+/*#define HAS_CLASS            / **/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
  */
 #define HAS_FD_SET     /**/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+#define HAS_FINITE             /**/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+#define HAS_FINITEL            /**/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 #define        FLEXFILENAMES           /**/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+#define HAS_FP_CLASS           /**/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASS          / **/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+/*#define HAS_FPCLASSIFY               / **/
+
+/* HAS_FPCLASSL:
+ *     This symbol, if defined, indicates that the fpclassl routine is
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASSL         / **/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
  */
 #define HAS_ISASCII            /**/
 
+/* HAS_ISFINITE:
+ *     This symbol, if defined, indicates that the isfinite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_ISFINITE         / **/
+
+/* HAS_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+/*#define HAS_ISINF            / **/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
 #define USE_SEMCTL_SEMUN       /**/
 #define USE_SEMCTL_SEMID_DS    /**/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+#define HAS_UNORDERED          /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
 #define DB_VERSION_MINOR_CFG   0       /**/
 #define DB_VERSION_PATCH_CFG   0       /**/
 
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+#define        I_FP_CLASS              /**/
+
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
  */
 /*#define      HAS_USLEEP_PROTO        / **/
 
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+#define        I_FP            /**/
+
 /* I_LANGINFO:
  *     This symbol, if defined, indicates that <langinfo.h> exists and
  *     should be included.
index e3c4a06..9290b75 100644 (file)
@@ -1230,6 +1230,24 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_castneg    CASTNEGFLOAT            /**/
 #define CASTFLAGS $castflags           /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+#$d_class HAS_CLASS            /**/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
@@ -1324,12 +1342,93 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_fd_set HAS_FD_SET  /**/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+#$d_finite HAS_FINITE          /**/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+#$d_finitel HAS_FINITEL                /**/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 #$d_flexfnam   FLEXFILENAMES           /**/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+#$d_fp_class HAS_FP_CLASS              /**/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+#$d_fpclass HAS_FPCLASS                /**/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+#$d_fpclassify HAS_FPCLASSIFY          /**/
+
+/* HAS_FPCLASSL:
+ *     This symbol, if defined, indicates that the fpclassl routine is
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+#$d_fpclassl HAS_FPCLASSL              /**/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
@@ -1658,6 +1757,18 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_isascii HAS_ISASCII                /**/
 
+/* HAS_ISFINITE:
+ *     This symbol, if defined, indicates that the isfinite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+#$d_isfinite HAS_ISFINITE              /**/
+
+/* HAS_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+#$d_isinf HAS_ISINF            /**/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
@@ -2282,6 +2393,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_semctl_semun USE_SEMCTL_SEMUN      /**/
 #$d_semctl_semid_ds USE_SEMCTL_SEMID_DS        /**/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+#$d_unordered HAS_UNORDERED            /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
@@ -2428,6 +2546,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define DB_VERSION_MINOR_CFG   $db_version_minor       /**/
 #define DB_VERSION_PATCH_CFG   $db_version_patch       /**/
 
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+#$i_fp_class   I_FP_CLASS              /**/
+
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
@@ -3471,6 +3595,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_usleepproto        HAS_USLEEP_PROTO        /**/
 
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+#$i_fp I_FP            /**/
+
 /* I_LANGINFO:
  *     This symbol, if defined, indicates that <langinfo.h> exists and
  *     should be included.
index a4ff660..77c537a 100644 (file)
@@ -5008,6 +5008,7 @@ $ WC "d_charvspr='undef'"
 $ WC "d_chown='define'"
 $ WC "d_chroot='undef'"
 $ WC "d_chsize='undef'"
+$ WC "d_class='undef'"
 $ WC "d_cmsghdr_s='undef'"
 $ WC "d_const='define'"
 $ WC "d_crypt='define'"
@@ -5038,11 +5039,17 @@ $ WC "d_fcntl='" + d_fcntl + "'"
 $ WC "d_fcntl_can_lock='" + d_fcntl_can_lock + "'"
 $ WC "d_fd_set='" + d_fd_set + "'"
 $ WC "d_fgetpos='define'"
+$ WC "d_finite='undef'"
+$ WC "d_finitel='undef'"
 $ WC "d_flexfnam='define'"
 $ WC "d_flock='undef'"
 $ WC "d_flockproto='undef'"
 $ WC "d_fork='undef'"
+$ WC "d_fp_class='undef'"
 $ WC "d_fpathconf='" + d_fpathconf + "'"
+$ WC "d_fpclass='undef'"
+$ WC "d_fpclassify='undef'"
+$ WC "d_fpclassl='undef'"
 $ WC "d_fpos64_t='" + d_fpos64_t + "'"
 $ WC "d_frexpl='" + d_frexpl + "'"
 $ WC "d_fs_data_s='undef'"
@@ -5097,6 +5104,8 @@ $ WC "d_index='" + d_index + "'"
 $ WC "d_inetaton='undef'"
 $ WC "d_int64_t='" + d_int64_t + "'"
 $ WC "d_isascii='define'"
+$ WC "d_isfinite='undef'"
+$ WC "d_isinf='undef'"
 $ WC "d_isnan='" + d_isnan + "'"
 $ WC "d_isnanl='" + d_isnanl + "'"
 $ WC "d_killpg='undef'"
@@ -5277,6 +5286,7 @@ $ WC "d_umask='define'"
 $ WC "d_uname='" + d_uname + "'"
 $ WC "d_union_semun='undef'"
 $ WC "d_unlink_all_versions='undef'"
+$ WC "d_unordered='undef'"
 $ WC "d_usleep='undef'"
 $ WC "d_usleepproto='undef'"
 $ WC "d_ustat='undef'"
@@ -5350,6 +5360,8 @@ $ WC "i_dirent='" + i_dirent + "'"
 $ WC "i_dlfcn='undef'"
 $ WC "i_fcntl='" + i_fcntl + "'"
 $ WC "i_float='define'"
+$ WC "i_fp='undef'"
+$ WC "i_fp_class='undef'"
 $ WC "i_grp='undef'"
 $ WC "i_iconv='" + i_iconv +"'"
 $ WC "i_ieeefp='undef'"
index e628e1b..115587c 100644 (file)
@@ -112,6 +112,7 @@ d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='undef'
+d_class='undef'
 d_closedir='undef'
 d_cmsghdr_s='undef'
 d_cmsghdr_s='undef'
@@ -147,11 +148,17 @@ d_fd_macros='undef'
 d_fd_set='define'
 d_fds_bits='undef'
 d_fgetpos='define'
+d_finite='undef'
+d_finitel='undef'
 d_flexfnam='define'
 d_flock='undef'
 d_flockproto='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fseeko='undef'
@@ -205,6 +212,8 @@ d_inetaton='define'
 d_int64_t='undef'
 d_iovec_s='undef'
 d_isascii='define'
+d_isfinite='undef'
+d_isinf='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_killpg='undef'
@@ -385,6 +394,7 @@ d_ualarm='undef'
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unordered='undef'
 d_usleepproto='undef'
 d_vendorlib='undef'
 d_vfork='undef'
@@ -448,6 +458,8 @@ i_dld='undef'
 i_dlfcn='undef'
 i_fcntl='define'
 i_float='undef'
+i_fp='undef'
+i_fp_class='undef'
 i_gdbm='undef'
 i_grp='undef'
 i_iconv='undef'
index 3413503..6b93d80 100644 (file)
@@ -452,3 +452,7 @@ EOM
        ;;
     esac
 EOCBU
+
+# fpclassify() is a macro, the library call is Fpclassify
+d_fpclassify='define'
+
diff --git a/perl.h b/perl.h
index 8269448..cba24be 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1299,13 +1299,14 @@ typedef NVTYPE NV;
 #   else
 #       define Perl_frexp(x,y) ((long double)frexp((double)(x),y))
 #   endif
-#   ifdef HAS_ISNANL
-#       define Perl_isnan(x) isnanl(x)
-#   else
-#       ifdef HAS_ISNAN
-#           define Perl_isnan(x) isnan((double)(x))
-#       else
-#           define Perl_isnan(x) ((x)!=(x))
+#   ifndef Perl_isinf
+#       ifdef HAS_ISNANL
+#           define Perl_isnan(x) isnanl(x)
+#       endif
+#   endif
+#   ifndef Perl_isinf
+#       ifdef HAS_FINITEL
+#           define Perl_isinf(x) !(finitel(x)||Perl_isnan(x))
 #       endif
 #   endif
 #else
@@ -1332,10 +1333,139 @@ typedef NVTYPE NV;
 #   define Perl_fmod fmod
 #   define Perl_modf(x,y) modf(x,y)
 #   define Perl_frexp(x,y) frexp(x,y)
+#endif
+
+/* rumor has it that Win32 has _fpclass() */
+
+#if !defined(Perl_fp_class) && (defined(HAS_FPCLASS)||defined(HAS_FPCLASSL))
+#    ifdef I_IEEFP
+#        include <ieeefp.h>
+#    endif
+#    ifdef I_FP
+#        include <fp.h>
+#    endif
+#    if defined(USE_LONG_DOUBLE) && defined(HAS_FPCLASSL)
+#        define Perl_fp_class()                fpclassl(x)
+#    else
+#        define Perl_fp_class()                fpclass(x)
+#    endif
+#    define Perl_fp_class_snan(x)      (Perl_fp_class(x)==FP_CLASS_SNAN)
+#    define Perl_fp_class_qnan(x)      (Perl_fp_class(x)==FP_CLASS_QNAN)
+#    define Perl_fp_class_nan(x)       (Perl_fp_class(x)==FP_CLASS_SNAN||Perl_fp_class(x)==FP_CLASS_QNAN)
+#    define Perl_fp_class_ninf(x)      (Perl_fp_class(x)==FP_CLASS_NINF)
+#    define Perl_fp_class_pinf(x)      (Perl_fp_class(x)==FP_CLASS_PINF)
+#    define Perl_fp_class_inf(x)       (Perl_fp_class(x)==FP_CLASS_NINF||Perl_fp_class(x)==FP_CLASS_PINF)
+#    define Perl_fp_class_nnorm(x)     (Perl_fp_class(x)==FP_CLASS_NNORM)
+#    define Perl_fp_class_pnorm(x)     (Perl_fp_class(x)==FP_CLASS_PNORM)
+#    define Perl_fp_class_norm(x)      (Perl_fp_class(x)==FP_CLASS_NNORM||Perl_fp_class(x)==FP_CLASS_PNORM)
+#    define Perl_fp_class_ndenorm(x)   (Perl_fp_class(x)==FP_CLASS_NDENORM)
+#    define Perl_fp_class_pdenorm(x)   (Perl_fp_class(x)==FP_CLASS_PDENORM)
+#    define Perl_fp_class_denorm(x)    (Perl_fp_class(x)==FP_CLASS_NDENORM||Perl_fp_class(x)==FP_CLASS_PDENORM)
+#    define Perl_fp_class_nzero(x)     (Perl_fp_class(x)==FP_CLASS_NZERO)
+#    define Perl_fp_class_pzero(x)     (Perl_fp_class(x)==FP_CLASS_PZERO)
+#    define Perl_fp_class_zero(x)      (Perl_fp_class(x)==FP_CLASS_NZERO||Perl_fp_class(x)==FP_CLASS_PZERO)
+#endif
+
+#if !defined(Perl_fp_class) && defined(HAS_FP_CLASS)
+#    include <math.h>
+#    if !defined(FP_SNAN) && defined(I_FP_CLASS)
+#        include <fp_class.h>
+#    endif
+#    define Perl_fp_class(x)           fp_class(x)
+#    define Perl_fp_class_snan(x)      (fp_class(x)==FP_SNAN)
+#    define Perl_fp_class_qnan(x)      (fp_class(x)==FP_QNAN)
+#    define Perl_fp_class_nan(x)       (fp_class(x)==FP_SNAN||fp_class(x)==FP_QNAN)
+#    define Perl_fp_class_ninf(x)      (fp_class(x)==FP_NEG_INF)
+#    define Perl_fp_class_pinf(x)      (fp_class(x)==FP_POS_INF)
+#    define Perl_fp_class_inf(x)       (fp_class(x)==FP_NEG_INF||fp_class(x)==FP_POS_INF)
+#    define Perl_fp_class_nnorm(x)     (fp_class(x)==FP_NEG_NORM)
+#    define Perl_fp_class_pnorm(x)     (fp_class(x)==FP_POS_NORM)
+#    define Perl_fp_class_norm(x)      (fp_class(x)==FP_NEG_NORM||fp_class(x)==FP_POS_NORM)
+#    define Perl_fp_class_ndenorm(x)   (fp_class(x)==FP_NEG_DENORM)
+#    define Perl_fp_class_pdenorm(x)   (fp_class(x)==FP_POS_DENORM)
+#    define Perl_fp_class_denorm(x)    (fp_class(x)==FP_NEG_DENORM||fp_class(x)==FP_POS_DENORM)
+#    define Perl_fp_class_nzero(x)     (fp_class(x)==FP_NEG_ZERO)
+#    define Perl_fp_class_pzero(x)     (fp_class(x)==FP_POS_ZERO)
+#    define Perl_fp_class_zero(x)      (fp_class(x)==FP_NEG_ZERO||fp_class(x)==FP_POS_ZERO)
+#endif
+
+#if !defined(Perl_fp_class) && defined(HAS_FPCLASSIFY)
+#    include <math.h>
+#    define Perl_fp_class(x)           fpclassify(x)
+#    define Perl_fp_class_nan(x)       (fp_classify(x)==FP_SNAN|FP|_fp_classify(x)==QNAN)
+#    define Perl_fp_class_inf(x)       (fp_classify(x)==FP_INFINITE)
+#    define Perl_fp_class_norm(x)      (fp_classify(x)==FP_NORMAL)
+#    define Perl_fp_class_denorm(x)    (fp_classify(x)==FP_SUBNORMAL)
+#    define Perl_fp_class_zero(x)      (fp_classify(x)==FP_ZERO)
+#endif
+
+#if !defined(Perl_fp_class) && defined(HAS_CLASS)
+#    include <math.h>
+#    ifndef _cplusplus
+#        define Perl_fp_class(x)       class(x)
+#    else
+#        define Perl_fp_class(x)       _class(x)
+#    endif
+#    define Perl_fp_class_snan(x)      (Perl_fp_class(x)==FP_NANS)
+#    define Perl_fp_class_qnan(x)      (Perl_fp_class(x)==FP_NANQ)
+#    define Perl_fp_class_nan(x)       (Perl_fp_class(x)==FP_SNAN||Perl_fp_class(x)==FP_QNAN)
+#    define Perl_fp_class_ninf(x)      (Perl_fp_class(x)==FP_MINUS_INF)
+#    define Perl_fp_class_pinf(x)      (Perl_fp_class(x)==FP_PLUS_INF)
+#    define Perl_fp_class_inf(x)       (Perl_fp_class(x)==FP_MINUS_INF||Perl_fp_class(x)==FP_PLUS_INF)
+#    define Perl_fp_class_nnorm(x)     (Perl_fp_class(x)==FP_MINUS_NORM)
+#    define Perl_fp_class_pnorm(x)     (Perl_fp_class(x)==FP_PLUS_NORM)
+#    define Perl_fp_class_norm(x)      (Perl_fp_class(x)==FP_MINUS_NORM||Perl_fp_class(x)==FP_PLUS_NORM)
+#    define Perl_fp_class_ndenorm(x)   (Perl_fp_class(x)==FP_MINUS_DENORM)
+#    define Perl_fp_class_pdenorm(x)   (Perl_fp_class(x)==FP_PLUS_DENORM)
+#    define Perl_fp_class_denorm(x)    (Perl_fp_class(x)==FP_MINUS_DENORM||Perl_fp_class(x)==FP_PLUS_DENORM)
+#    define Perl_fp_class_nzero(x)     (Perl_fp_class(x)==FP_MINUS_ZERO)
+#    define Perl_fp_class_pzero(x)     (Perl_fp_class(x)==FP_PLUS_ZERO)
+#    define Perl_fp_class_zero(x)      (Perl_fp_class(x)==FP_MINUS_ZERO||Perl_fp_class(x)==FP_PLUS_ZERO)
+#endif
+
+/* rumor has it that Win32 has _isnan() */
+
+#ifndef Perl_isnan
 #   ifdef HAS_ISNAN
-#       define Perl_isnan(x) isnan(x)
+#       define Perl_isnan(x) isnan((NV)x)
 #   else
-#       define Perl_isnan(x) ((x)!=(x))
+#       ifdef Perl_fp_class_nan
+#           define Perl_isnan(x) Perl_fp_class_nan(x)
+#       else
+#           ifdef HAS_UNORDERED
+#               define Perl_isnan(x) unordered((x), 0.0)
+#           else
+#               define Perl_isnan(x) ((x)!=(x))
+#           endif
+#       endif
+#   endif
+#endif
+
+#ifndef Perl_isinf
+#   ifdef HAS_ISINF
+#       define Perl_isinf(x) isinf((NV)x)
+#   else
+#       ifdef Perl_fp_class_inf
+#           define Perl_isinf(x) Perl_fp_class_inf(x)
+#       else
+#           define Perl_isinf(x) ((x)==NV_INF)
+#       endif
+#   endif
+#endif
+
+#ifndef Perl_isfinite
+#   ifdef HAS_FINITE
+#       define Perl_isfinite(x) finite((NV)x)
+#   else
+#       ifdef HAS_ISFINITE
+#           define Perl_isfinite(x) isfinite(x)
+#       else
+#           ifdef Perl_fp_class_finite
+#               define Perl_isfinite(x) Perl_fp_class_finite(x)
+#           else
+#               define Perl_isfinite(x) !(Perl_is_inf(x)||Perl_is_nan(x))
+#           endif
+#       endif
 #   endif
 #endif
 
index 2c00af4..3f86e67 100644 (file)
@@ -1850,13 +1850,13 @@ ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
 getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
 setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
 setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
-endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob EXPR, glob,
-ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link OLDFILE,NEWFILE,
-lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS,
-msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR,
-open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink EXPR, readlink,
-select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget
-KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
+endprotoent, endservent, exit EXPR, exit, getsockopt SOCKET,LEVEL,OPTNAME,
+glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link
+OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG,
+msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open
+FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink
+EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG,
+semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP,
 setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt
 SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS,
 shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET,
@@ -6003,50 +6003,6 @@ Source, Compiled Module Source, Perl Modules/Scripts
 
 =back
 
-=head2 perldos - Perl under DOS, W31, W95.
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Prerequisites for Compiling Perl on DOS
-
-DJGPP, Pthreads
-
-=item Shortcomings of Perl under DOS
-
-=item Building Perl on DOS
-
-=item Testing Perl on DOS
-
-=item Installation of Perl on DOS
-
-=back
-
-=item BUILDING AND INSTALLING MODULES ON DOS
-
-=over 4
-
-=item Building Prerequisites for Perl on DOS
-
-=item Unpacking CPAN Modules on DOS
-
-=item Building Non-XS Modules on DOS
-
-=item Building XS Modules on DOS
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
 =head2 perlepoc, README.epoc - Perl for EPOC
 
 =over 4
@@ -6917,48 +6873,6 @@ LIST, waitpid PID,FLAGS
 
 =back
 
-=head2 perlwin32 - Perl under Win32
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Setting Up Perl on Win32
-
-Make, Command Shell, Borland C++, Microsoft Visual C++, Mingw32 with GCC
-
-=item Building
-
-=item Testing Perl on Win32
-
-=item Installation of Perl on Win32
-
-=item Usage Hints for Perl on Win32
-
-Environment Variables, File Globbing, Using perl from the command line,
-Building Extensions, Command-line Wildcard Expansion, Win32 Specific
-Extensions, Running Perl Scripts, Miscellaneous Things
-
-=back
-
-=item BUGS AND CAVEATS
-
-=item AUTHORS
-
-Gary Ng E<lt>71564.1743@CompuServe.COME<gt>, Gurusamy Sarathy
-E<lt>gsar@activestate.comE<gt>, Nick Ing-Simmons
-E<lt>nick@ing-simmons.netE<gt>
-
-=item SEE ALSO
-
-=item HISTORY
-
-=back
-
 =head1 PRAGMA DOCUMENTATION
 
 =head2 attrs - set/get attributes of a subroutine (deprecated)
@@ -8831,39 +8745,41 @@ C<d__fwalk>, C<d_access>, C<d_accessx>, C<d_alarm>, C<d_archlib>,
 C<d_atolf>, C<d_atoll>, C<d_attribut>, C<d_bcmp>, C<d_bcopy>,
 C<d_bincompat5005>, C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>, C<d_bzero>,
 C<d_casti32>, C<d_castneg>, C<d_charvspr>, C<d_chown>, C<d_chroot>,
-C<d_chsize>, C<d_closedir>, C<d_cmsghdr_s>, C<d_const>, C<d_crypt>,
-C<d_csh>, C<d_cuserid>, C<d_dbl_dig>, C<d_dbminitproto>, C<d_difftime>,
-C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>, C<d_dlsymun>, C<d_dosuid>,
-C<d_drand48proto>, C<d_dup2>, C<d_eaccess>, C<d_endgrent>, C<d_endhent>,
-C<d_endnent>, C<d_endpent>, C<d_endpwent>, C<d_endsent>, C<d_eofnblk>,
-C<d_eunice>, C<d_fchdir>, C<d_fchmod>, C<d_fchown>, C<d_fcntl>,
-C<d_fcntl_can_lock>, C<d_fd_macros>, C<d_fd_set>, C<d_fds_bits>,
-C<d_fgetpos>, C<d_flexfnam>, C<d_flock>, C<d_flockproto>, C<d_fork>,
-C<d_fpathconf>, C<d_fpos64_t>, C<d_frexpl>, C<d_fs_data_s>, C<d_fseeko>,
-C<d_fsetpos>, C<d_fstatfs>, C<d_fstatvfs>, C<d_fsync>, C<d_ftello>,
-C<d_ftime>, C<d_Gconvert>, C<d_getcwd>, C<d_getespwnam>, C<d_getfsstat>,
-C<d_getgrent>, C<d_getgrps>, C<d_gethbyaddr>, C<d_gethbyname>,
-C<d_gethent>, C<d_gethname>, C<d_gethostprotos>, C<d_getitimer>,
-C<d_getlogin>, C<d_getmnt>, C<d_getmntent>, C<d_getnbyaddr>,
-C<d_getnbyname>, C<d_getnent>, C<d_getnetprotos>, C<d_getpagsz>,
-C<d_getpbyname>, C<d_getpbynumber>, C<d_getpent>, C<d_getpgid>,
-C<d_getpgrp2>, C<d_getpgrp>, C<d_getppid>, C<d_getprior>,
-C<d_getprotoprotos>, C<d_getprpwnam>, C<d_getpwent>, C<d_getsbyname>,
-C<d_getsbyport>, C<d_getsent>, C<d_getservprotos>, C<d_getspnam>,
-C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>, C<d_hasmntopt>, C<d_htonl>,
-C<d_iconv>, C<d_index>, C<d_inetaton>, C<d_int64_t>, C<d_isascii>,
-C<d_isnan>, C<d_isnanl>, C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>,
-C<d_link>, C<d_locconv>, C<d_lockf>, C<d_longdbl>, C<d_longlong>,
-C<d_lseekproto>, C<d_lstat>, C<d_madvise>, C<d_mblen>, C<d_mbstowcs>,
-C<d_mbtowc>, C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>,
-C<d_memset>, C<d_mkdir>, C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>,
-C<d_mkstemps>, C<d_mktime>, C<d_mmap>, C<d_modfl>, C<d_modfl_pow32_bug>,
-C<d_mprotect>, C<d_msg>, C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>,
-C<d_msg_peek>, C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msghdr_s>,
-C<d_msgrcv>, C<d_msgsnd>, C<d_msync>, C<d_munmap>, C<d_mymalloc>,
-C<d_nice>, C<d_nl_langinfo>, C<d_nv_preserves_uv>,
-C<d_nv_preserves_uv_bits>, C<d_off64_t>, C<d_old_pthread_create_joinable>,
-C<d_oldpthreads>, C<d_oldsock>, C<d_open3>, C<d_pathconf>, C<d_pause>,
+C<d_chsize>, C<d_class>, C<d_closedir>, C<d_cmsghdr_s>, C<d_const>,
+C<d_crypt>, C<d_csh>, C<d_cuserid>, C<d_dbl_dig>, C<d_dbminitproto>,
+C<d_difftime>, C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>, C<d_dlsymun>,
+C<d_dosuid>, C<d_drand48proto>, C<d_dup2>, C<d_eaccess>, C<d_endgrent>,
+C<d_endhent>, C<d_endnent>, C<d_endpent>, C<d_endpwent>, C<d_endsent>,
+C<d_eofnblk>, C<d_eunice>, C<d_fchdir>, C<d_fchmod>, C<d_fchown>,
+C<d_fcntl>, C<d_fcntl_can_lock>, C<d_fd_macros>, C<d_fd_set>,
+C<d_fds_bits>, C<d_fgetpos>, C<d_finite>, C<d_finitel>, C<d_flexfnam>,
+C<d_flock>, C<d_flockproto>, C<d_fork>, C<d_fp_class>, C<d_fpathconf>,
+C<d_fpclass>, C<d_fpclassify>, C<d_fpclassl>, C<d_fpos64_t>, C<d_frexpl>,
+C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>, C<d_fstatvfs>,
+C<d_fsync>, C<d_ftello>, C<d_ftime>, C<d_Gconvert>, C<d_getcwd>,
+C<d_getespwnam>, C<d_getfsstat>, C<d_getgrent>, C<d_getgrps>,
+C<d_gethbyaddr>, C<d_gethbyname>, C<d_gethent>, C<d_gethname>,
+C<d_gethostprotos>, C<d_getitimer>, C<d_getlogin>, C<d_getmnt>,
+C<d_getmntent>, C<d_getnbyaddr>, C<d_getnbyname>, C<d_getnent>,
+C<d_getnetprotos>, C<d_getpagsz>, C<d_getpbyname>, C<d_getpbynumber>,
+C<d_getpent>, C<d_getpgid>, C<d_getpgrp2>, C<d_getpgrp>, C<d_getppid>,
+C<d_getprior>, C<d_getprotoprotos>, C<d_getprpwnam>, C<d_getpwent>,
+C<d_getsbyname>, C<d_getsbyport>, C<d_getsent>, C<d_getservprotos>,
+C<d_getspnam>, C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>, C<d_hasmntopt>,
+C<d_htonl>, C<d_iconv>, C<d_index>, C<d_inetaton>, C<d_int64_t>,
+C<d_isascii>, C<d_isfinite>, C<d_isinf>, C<d_isnan>, C<d_isnanl>,
+C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>, C<d_link>, C<d_locconv>,
+C<d_lockf>, C<d_longdbl>, C<d_longlong>, C<d_lseekproto>, C<d_lstat>,
+C<d_madvise>, C<d_mblen>, C<d_mbstowcs>, C<d_mbtowc>, C<d_memchr>,
+C<d_memcmp>, C<d_memcpy>, C<d_memmove>, C<d_memset>, C<d_mkdir>,
+C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>, C<d_mkstemps>, C<d_mktime>,
+C<d_mmap>, C<d_modfl>, C<d_modfl_pow32_bug>, C<d_mprotect>, C<d_msg>,
+C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>,
+C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msghdr_s>, C<d_msgrcv>,
+C<d_msgsnd>, C<d_msync>, C<d_munmap>, C<d_mymalloc>, C<d_nice>,
+C<d_nl_langinfo>, C<d_nv_preserves_uv>, C<d_nv_preserves_uv_bits>,
+C<d_off64_t>, C<d_old_pthread_create_joinable>, C<d_oldpthreads>,
+C<d_oldsock>, C<d_open3>, C<d_pathconf>, C<d_pause>,
 C<d_perl_otherlibdirs>, C<d_phostname>, C<d_pipe>, C<d_poll>,
 C<d_portable>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEUldbl>, C<d_PRIfldbl>,
 C<d_PRIFUldbl>, C<d_PRIgldbl>, C<d_PRIGUldbl>, C<d_PRIi64>, C<d_PRIo64>,
@@ -8895,14 +8811,14 @@ C<d_strxfrm>, C<d_suidsafe>, C<d_symlink>, C<d_syscall>, C<d_syscallproto>,
 C<d_sysconf>, C<d_sysernlst>, C<d_syserrlst>, C<d_system>, C<d_tcgetpgrp>,
 C<d_tcsetpgrp>, C<d_telldir>, C<d_telldirproto>, C<d_time>, C<d_times>,
 C<d_truncate>, C<d_tzname>, C<d_u32align>, C<d_ualarm>, C<d_umask>,
-C<d_uname>, C<d_union_semun>, C<d_usleep>, C<d_usleepproto>, C<d_ustat>,
-C<d_vendorarch>, C<d_vendorbin>, C<d_vendorlib>, C<d_vfork>,
-C<d_void_closedir>, C<d_voidsig>, C<d_voidtty>, C<d_volatile>,
-C<d_vprintf>, C<d_wait4>, C<d_waitpid>, C<d_wcstombs>, C<d_wctomb>,
-C<d_writev>, C<d_xenix>, C<date>, C<db_hashtype>, C<db_prefixtype>,
-C<db_version_major>, C<db_version_minor>, C<db_version_patch>,
-C<defvoidused>, C<direntrytype>, C<dlext>, C<dlsrc>, C<doublesize>,
-C<drand01>, C<dynamic_ext>
+C<d_uname>, C<d_union_semun>, C<d_unordered>, C<d_usleep>,
+C<d_usleepproto>, C<d_ustat>, C<d_vendorarch>, C<d_vendorbin>,
+C<d_vendorlib>, C<d_vfork>, C<d_void_closedir>, C<d_voidsig>, C<d_voidtty>,
+C<d_volatile>, C<d_vprintf>, C<d_wait4>, C<d_waitpid>, C<d_wcstombs>,
+C<d_wctomb>, C<d_writev>, C<d_xenix>, C<date>, C<db_hashtype>,
+C<db_prefixtype>, C<db_version_major>, C<db_version_minor>,
+C<db_version_patch>, C<defvoidused>, C<direntrytype>, C<dlext>, C<dlsrc>,
+C<doublesize>, C<drand01>, C<dynamic_ext>
 
 =item e
 
@@ -8928,28 +8844,28 @@ C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>
 
 C<i16size>, C<i16type>, C<i32size>, C<i32type>, C<i64size>, C<i64type>,
 C<i8size>, C<i8type>, C<i_arpainet>, C<i_bsdioctl>, C<i_db>, C<i_dbm>,
-C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_gdbm>,
-C<i_grp>, C<i_iconv>, C<i_ieeefp>, C<i_inttypes>, C<i_langinfo>,
-C<i_libutil>, C<i_limits>, C<i_locale>, C<i_machcthr>, C<i_malloc>,
-C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>, C<i_netdb>, C<i_neterrno>,
-C<i_netinettcp>, C<i_niin>, C<i_poll>, C<i_prot>, C<i_pthread>, C<i_pwd>,
-C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>, C<i_shadow>, C<i_socks>,
-C<i_stdarg>, C<i_stddef>, C<i_stdlib>, C<i_string>, C<i_sunmath>,
-C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>, C<i_sysfilio>, C<i_sysin>,
-C<i_sysioctl>, C<i_syslog>, C<i_sysmman>, C<i_sysmode>, C<i_sysmount>,
-C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>, C<i_syssecrt>, C<i_sysselct>,
-C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>, C<i_sysstatvfs>,
-C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>, C<i_sysuio>,
-C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>, C<i_termio>,
-C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>, C<i_values>,
-C<i_varargs>, C<i_varhdr>, C<i_vfork>, C<ignore_versioned_solibs>,
-C<inc_version_list>, C<inc_version_list_init>, C<incpath>, C<inews>,
-C<installarchlib>, C<installbin>, C<installman1dir>, C<installman3dir>,
-C<installprefix>, C<installprefixexp>, C<installprivlib>, C<installscript>,
-C<installsitearch>, C<installsitebin>, C<installsitelib>, C<installstyle>,
-C<installusrbinperl>, C<installvendorarch>, C<installvendorbin>,
-C<installvendorlib>, C<intsize>, C<issymlink>, C<ivdformat>, C<ivsize>,
-C<ivtype>
+C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_fp>,
+C<i_fp_class>, C<i_gdbm>, C<i_grp>, C<i_iconv>, C<i_ieeefp>, C<i_inttypes>,
+C<i_langinfo>, C<i_libutil>, C<i_limits>, C<i_locale>, C<i_machcthr>,
+C<i_malloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>, C<i_netdb>,
+C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>, C<i_prot>,
+C<i_pthread>, C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>, C<i_shadow>,
+C<i_socks>, C<i_stdarg>, C<i_stddef>, C<i_stdlib>, C<i_string>,
+C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>, C<i_sysfilio>,
+C<i_sysin>, C<i_sysioctl>, C<i_syslog>, C<i_sysmman>, C<i_sysmode>,
+C<i_sysmount>, C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>, C<i_syssecrt>,
+C<i_sysselct>, C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>,
+C<i_sysstatvfs>, C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>,
+C<i_sysuio>, C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>,
+C<i_termio>, C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>,
+C<i_values>, C<i_varargs>, C<i_varhdr>, C<i_vfork>,
+C<ignore_versioned_solibs>, C<inc_version_list>, C<inc_version_list_init>,
+C<incpath>, C<inews>, C<installarchlib>, C<installbin>, C<installman1dir>,
+C<installman3dir>, C<installprefix>, C<installprefixexp>,
+C<installprivlib>, C<installscript>, C<installsitearch>, C<installsitebin>,
+C<installsitelib>, C<installstyle>, C<installusrbinperl>,
+C<installvendorarch>, C<installvendorbin>, C<installvendorlib>, C<intsize>,
+C<issymlink>, C<ivdformat>, C<ivsize>, C<ivtype>
 
 =item k
 
@@ -11201,7 +11117,7 @@ B<$_>, B<$status>, B<filter_read> and B<filter_read_exact>, B<filter_del>
 
 =item Summary of Option Specifications
 
-!, +, s, i, f, : I<type> [ I<desttype> ]
+!, +, s, i, o, f, : I<type> [ I<desttype> ]
 
 =back
 
@@ -12514,27 +12430,10 @@ ffround ( +$scale ), ffround ( -$scale ), ffround ( 0 ), fround  ( +$scale
 
 =item EXAMPLES
 
-  use Math::BigFloat qw(bstr bint);
   # not ready yet
-  $x = bstr("1234")                   # string "1234"
-  $x = "$x";                          # same as bstr()
-  $x = bneg("1234")                   # BigFloat "-1234"
-  $x = Math::BigFloat->bneg("1234");   # BigFloat "1234"
-  $x = Math::BigFloat->babs("-12345"); # BigFloat "12345"
-  $x = Math::BigFloat->bnorm("-0 00"); # BigFloat "0"
-  $x = bint(1) + bint(2);             # BigFloat "3"
-  $x = bint(1) + "2";                 # ditto (auto-BigFloatify of "2")
-  $x = bint(1);                       # BigFloat "1"
-  $x = $x + 5 / 2;                    # BigFloat "3"
-  $x = $x ** 3;                       # BigFloat "27"
-  $x *= 2;                            # BigFloat "54"
-  $x = new Math::BigFloat;            # BigFloat "0"
-  $x--;                               # BigFloat "-1"
 
 =item Autocreating constants
 
-=item PERFORMANCE
-
 =item BUGS
 
 =item CAVEAT
@@ -12580,30 +12479,17 @@ Remarks
 
 =over 4
 
+=item MATH LIBRARY
+
+=item SIGN
+
 =item mantissa(), exponent() and parts()
 
 =back
 
 =item EXAMPLES
 
-  use Math::BigInt qw(bstr bint);
-  $x = bstr("1234")                    # string "1234"
-  $x = "$x";                           # same as bstr()
-  $x = bneg("1234")                    # Bigint "-1234"
-  $x = Math::BigInt->bneg("1234");     # Bigint "-1234"
-  $x = Math::BigInt->babs("-12345");   # Bigint "12345"
-  $x = Math::BigInt->bnorm("-0 00");   # BigInt "0"
-  $x = bint(1) + bint(2);              # BigInt "3"
-  $x = bint(1) + "2";                  # ditto (auto-BigIntify of "2")
-  $x = bint(1);                        # BigInt "1"
-  $x = $x + 5 / 2;                     # BigInt "3"
-  $x = $x ** 3;                        # BigInt "27"
-  $x *= 2;                             # BigInt "54"
-  $x = new Math::BigInt;               # BigInt "0"
-  $x--;                                # BigInt "-1"
-  $x = Math::BigInt->badd(4,5)         # BigInt "9"
-  $x = Math::BigInt::badd(4,5)         # BigInt "9"
-  print $x->bsstr();                   # 9e+0
+  use Math::BigInt qw(bstr);
 
 =item Autocreating constants
 
@@ -12611,13 +12497,13 @@ Remarks
 
 =over 4
 
-=item Replacing the math library
+=item Alternative math libraries
 
 =back
 
 =item BUGS
 
-:constant and eval()
+Out of Memory!, Fails to load Calc on Perl prior 5.6.0
 
 =item CAVEATS
 
@@ -12642,6 +12528,8 @@ Overloading -$x, Mixing different object types, bsqrt()
 
 =item EXPORT
 
+=item WRAP YOUR OWN
+
 =item LICENSE
 
 This program is free software; you may redistribute it and/or modify it
index 4dcddc8..3e31582 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
 /*#define      CASTNEGFLOAT            / **/
 #define CASTFLAGS 0            /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+/*#define HAS_CLASS            / **/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
  */
 /*#define HAS_FD_SET   / **/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_FINITE           / **/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+/*#define HAS_FINITEL          / **/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 /*#define      FLEXFILENAMES           / **/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+/*#define HAS_FP_CLASS         / **/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASS          / **/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+/*#define HAS_FPCLASSIFY               / **/
+
+/* HAS_FPCLASSL:
+ *     This symbol, if defined, indicates that the fpclassl routine is
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASSL         / **/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
  */
 /*#define HAS_ISASCII          / **/
 
+/* HAS_ISFINITE:
+ *     This symbol, if defined, indicates that the isfinite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_ISFINITE         / **/
+
+/* HAS_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+/*#define HAS_ISINF            / **/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
 /*#define USE_SEMCTL_SEMUN     / **/
 /*#define USE_SEMCTL_SEMID_DS  / **/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+/*#define HAS_UNORDERED                / **/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
 #define DB_VERSION_MINOR_CFG           /**/
 #define DB_VERSION_PATCH_CFG           /**/
 
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP_CLASS              / **/
+
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
  */
 /*#define      HAS_USLEEP_PROTO        / **/
 
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP            / **/
+
 /* I_LANGINFO:
  *     This symbol, if defined, indicates that <langinfo.h> exists and
  *     should be included.
index 0604c86..4e30aed 100755 (executable)
@@ -50,6 +50,7 @@ d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='undef'
+d_class='undef'
 d_closedir='undef'
 d_cmsghdr_s='undef'
 d_const='undef'
@@ -84,11 +85,17 @@ d_fd_macros='undef'
 d_fd_set='undef'
 d_fds_bits='undef'
 d_fgetpos='undef'
+d_finite='undef'
+d_finitel='undef'
 d_flexfnam='undef'
 d_flock='undef'
 d_flockproto='undef'
 d_fork='define'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -145,6 +152,8 @@ d_index='undef'
 d_inetaton='undef'
 d_int64_t='undef'
 d_isascii='undef'
+d_isfinite='undef'
+d_isinf='undef'
 d_isnan='undef'
 d_isnanl='undef'
 d_killpg='undef'
@@ -331,6 +340,7 @@ d_ualarm='undef'
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unordered='undef'
 d_usleep='undef'
 d_usleepproto='undef'
 d_ustat='undef'
@@ -387,6 +397,8 @@ i_dld='undef'
 i_dlfcn='undef'
 i_fcntl='undef'
 i_float='undef'
+i_fp='undef'
+i_fp_class='undef'
 i_gdbm='undef'
 i_grp='undef'
 i_iconv='undef'
index 6400dfa..5dd17a9 100644 (file)
@@ -40,6 +40,7 @@ $d_charvspr='undef'
 $d_chown='undef'
 $d_chroot='undef'
 $d_chsize='undef'
+$d_class='undef'
 $d_cmsghdr_s='undef'
 $d_const='define'
 $d_crypt='undef'
@@ -69,11 +70,17 @@ $d_fcntl='define'
 $d_fcntl_can_lock='define'
 $d_fd_set='undef'
 $d_fgetpos='define'
+$d_finite='undef'
+$d_finitel='undef'
 $d_flexfnam='define'
 $d_flock='undef'
 $d_flockproto='undef'
 $d_fork='undef'
+$d_fp_class='undef'
 $d_fpathconf='define'
+$d_fpclass='undef'
+$d_fpclassify='undef'
+$d_fpclassl='undef'
 $d_fpos64_t='undef'
 $d_frexpl='undef'
 $d_fs_data_s='undef'
@@ -128,6 +135,8 @@ $d_index='undef'
 $d_inetaton='undef'
 $d_int64_t='undef'
 $d_isascii='define'
+$d_isfinite='undef'
+$d_isinf='undef'
 $d_isnan='undef'
 $d_isnanl='undef'
 $d_killpg='undef'
@@ -296,6 +305,7 @@ $d_ualarm='undef'
 $d_umask='define'
 $d_uname='define'
 $d_union_semun='undef'
+$d_unordered='undef'
 $d_usleep='undef'
 $d_usleepproto='undef'
 $d_ustat='undef'
@@ -346,6 +356,8 @@ $i_dirent='define'
 $i_dlfcn='undef'
 $i_fcntl='define'
 $i_float='define'
+$i_fp='undef'
+$i_fp_class='undef'
 $i_grp='define'
 $i_iconv='undef'
 $i_ieeefp='undef'
index 839556e..1f114f6 100644 (file)
 #define        CASTNEGFLOAT            /**/
 #define CASTFLAGS 0            /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+/*#define HAS_CLASS            /**/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
  */
 /*#define HAS_FD_SET   /**/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_FINITE           /**/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+/*#define HAS_FINITEL          /**/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 #define        FLEXFILENAMES           /**/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+/*#define HAS_FP_CLASS         /**/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASS          /**/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+/*#define HAS_FPCLASSIFY               /**/
+
+/* HAS_FPCLASSL:
+ *     This symbol, if defined, indicates that the fpclassl routine is
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASSL         /**/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
  */
 #define HAS_ISASCII            /**/
 
+/* HAS_ISFINITE:
+ *     This symbol, if defined, indicates that the isfinite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_ISFINITE         /**/
+
+/* HAS_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+/*#define HAS_ISINF            /**/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
 /*#define USE_SEMCTL_SEMUN     /**/
 /*#define USE_SEMCTL_SEMID_DS  /**/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+/*#define HAS_UNORDERED                /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
 #define DB_VERSION_MINOR_CFG   undef   /**/
 #define DB_VERSION_PATCH_CFG   undef   /**/
 
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP_CLASS              /**/
+
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
  */
 /*#define      HAS_USLEEP_PROTO        /**/
 
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP            /**/
+
 /* I_LANGINFO:
  *     This symbol, if defined, indicates that <langinfo.h> exists and
  *     should be included.
index 6144bac..ab92d19 100644 (file)
@@ -40,6 +40,7 @@ $d_charvspr='undef'
 $d_chown='define'
 $d_chroot='undef'
 $d_chsize='undef'
+$d_class='undef'
 $d_cmsghdr_s='undef'
 $d_const='define'
 $d_crypt='undef'
@@ -69,11 +70,17 @@ $d_fcntl='define'
 $d_fcntl_can_lock='define'
 $d_fd_set='undef'
 $d_fgetpos='define'
+$d_finite='undef'
+$d_finitel='undef'
 $d_flexfnam='define'
 $d_flock='undef'
 $d_flockproto='undef'
 $d_fork='define'
+$d_fp_class='undef'
 $d_fpathconf='define'
+$d_fpclass='undef'
+$d_fpclassify='undef'
+$d_fpclassl='undef'
 $d_fpos64_t='undef'
 $d_frexpl='undef'
 $d_fs_data_s='undef'
@@ -128,6 +135,8 @@ $d_index='undef'
 $d_inetaton='undef'
 $d_int64_t='undef'
 $d_isascii='define'
+$d_isfinite='undef'
+$d_isinf='undef'
 $d_isnan='undef'
 $d_isnanl='undef'
 $d_killpg='undef'
@@ -296,6 +305,7 @@ $d_ualarm='undef'
 $d_umask='define'
 $d_uname='define'
 $d_union_semun='undef'
+$d_unordered='undef'
 $d_usleep='undef'
 $d_usleepproto='undef'
 $d_ustat='undef'
@@ -346,6 +356,8 @@ $i_dirent='define'
 $i_dlfcn='undef'
 $i_fcntl='define'
 $i_float='define'
+$i_fp='undef'
+$i_fp_class='undef'
 $i_grp='define'
 $i_iconv='undef'
 $i_ieeefp='undef'
index 4db7499..d4ab292 100644 (file)
 #define        CASTNEGFLOAT            /**/
 #define CASTFLAGS 0            /**/
 
+/* HAS_CLASS:
+ *     This symbol, if defined, indicates that the class routine is
+ *     available to classify doubles.  Available for example in AIX.
+ *     The returned values are defined in <float.h> and are:
+ *
+ *     FP_PLUS_NORM    Positive normalized, nonzero
+ *     FP_MINUS_NORM   Negative normalized, nonzero
+ *     FP_PLUS_DENORM  Positive denormalized, nonzero
+ *     FP_MINUS_DENORM Negative denormalized, nonzero
+ *     FP_PLUS_ZERO    +0.0
+ *     FP_MINUS_ZERO   -0.0
+ *     FP_PLUS_INF     +INF
+ *     FP_MINUS_INF    -INF
+ *     FP_NANS         Signaling Not a Number (NaNS)
+ *     FP_NANQ         Quiet Not a Number (NaNQ)
+ */
+/*#define HAS_CLASS            /**/
+
 /* VOID_CLOSEDIR:
  *     This symbol, if defined, indicates that the closedir() routine
  *     does not return a value.
  */
 /*#define HAS_FD_SET   /**/
 
+/* HAS_FINITE:
+ *     This symbol, if defined, indicates that the finite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_FINITE           /**/
+
+/* HAS_FINITEL:
+ *     This symbol, if defined, indicates that the finitel routine is
+ *     available to check whether a long double is finite
+ *     (non-infinity non-NaN).
+ */
+/*#define HAS_FINITEL          /**/
+
 /* FLEXFILENAMES:
  *     This symbol, if defined, indicates that the system supports filenames
  *     longer than 14 characters.
  */
 #define        FLEXFILENAMES           /**/
 
+/* HAS_FP_CLASS:
+ *     This symbol, if defined, indicates that the fp_class routine is
+ *     available to classify doubles.  Available for example in Digital UNIX.
+ *     The returned values are defined in <math.h> and are:
+ *
+ *     FP_SNAN           Signaling NaN (Not-a-Number)
+ *     FP_QNAN           Quiet NaN (Not-a-Number)
+ *     FP_POS_INF        +infinity
+ *     FP_NEG_INF        -infinity
+ *     FP_POS_NORM       Positive normalized
+ *     FP_NEG_NORM       Negative normalized
+ *     FP_POS_DENORM     Positive denormalized
+ *     FP_NEG_DENORM     Negative denormalized
+ *     FP_POS_ZERO       +0.0 (positive zero)
+ *     FP_NEG_ZERO       -0.0 (negative zero)
+ */
+/*#define HAS_FP_CLASS         /**/
+
+/* HAS_FPCLASS:
+ *     This symbol, if defined, indicates that the fpclass routine is
+ *     available to classify doubles.  Available for example in Solaris/SVR4.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASS          /**/
+
+/* HAS_FPCLASSIFY:
+ *     This symbol, if defined, indicates that the fpclassify routine is
+ *     available to classify doubles.  Available for example in HP-UX.
+ *     The returned values are defined in <math.h> and are
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+/*#define HAS_FPCLASSIFY               /**/
+
+/* HAS_FPCLASSL:
+ *     This symbol, if defined, indicates that the fpclassl routine is
+ *     available to classify long doubles.  Available for example in IRIX.
+ *     The returned values are defined in <ieeefp.h> and are:
+ *
+ *     FP_SNAN         signaling NaN
+ *     FP_QNAN         quiet NaN
+ *     FP_NINF         negative infinity
+ *     FP_PINF         positive infinity
+ *     FP_NDENORM      negative denormalized non-zero
+ *     FP_PDENORM      positive denormalized non-zero
+ *     FP_NZERO        negative zero
+ *     FP_PZERO        positive zero
+ *     FP_NNORM        negative normalized non-zero
+ *     FP_PNORM        positive normalized non-zero
+ */
+/*#define HAS_FPCLASSL         /**/
+
 /* HAS_FPOS64_T:
  *     This symbol will be defined if the C compiler supports fpos64_t.
  */
  */
 #define HAS_ISASCII            /**/
 
+/* HAS_ISFINITE:
+ *     This symbol, if defined, indicates that the isfinite routine is
+ *     available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_ISFINITE         /**/
+
+/* HAS_ISINF:
+ *     This symbol, if defined, indicates that the isinf routine is
+ *     available to check whether a double is an infinity.
+ */
+/*#define HAS_ISINF            /**/
+
 /* HAS_ISNAN:
  *     This symbol, if defined, indicates that the isnan routine is
  *     available to check whether a double is a NaN.
 /*#define USE_SEMCTL_SEMUN     /**/
 /*#define USE_SEMCTL_SEMID_DS  /**/
 
+/* HAS_UNORDERED:
+ *     This symbol, if defined, indicates that the unordered routine is
+ *     available to check whether two doubles are unordered
+ *     (effectively: whether either of them is NaN)
+ */
+/*#define HAS_UNORDERED                /**/
+
 /* HAS_USTAT:
  *     This symbol, if defined, indicates that the ustat system call is
  *     available to query file system statistics by dev_t.
 #define DB_VERSION_MINOR_CFG   undef   /**/
 #define DB_VERSION_PATCH_CFG   undef   /**/
 
+/* I_FP_CLASS:
+ *     This symbol, if defined, indicates that <fp_class.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP_CLASS              /**/
+
 /* I_GRP:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <grp.h>.
  */
 /*#define      HAS_USLEEP_PROTO        /**/
 
+/* I_FP:
+ *     This symbol, if defined, indicates that <fp.h> exists and
+ *     should be included.
+ */
+/*#define      I_FP            /**/
+
 /* I_LANGINFO:
  *     This symbol, if defined, indicates that <langinfo.h> exists and
  *     should be included.
index 7d6cebe..fd795a0 100644 (file)
@@ -104,6 +104,7 @@ d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
+d_class='undef'
 d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
@@ -138,11 +139,17 @@ d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='undef'
+d_finitel='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -198,6 +205,8 @@ d_index='undef'
 d_inetaton='undef'
 d_int64_t='undef'
 d_isascii='define'
+d_isfinite='undef'
+d_isinf='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_killpg='undef'
@@ -383,6 +392,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unordered='undef'
 d_usleep='undef'
 d_usleepproto='undef'
 d_ustat='undef'
@@ -462,6 +472,8 @@ i_dld='undef'
 i_dlfcn='define'
 i_fcntl='define'
 i_float='define'
+i_fp='undef'
+i_fp_class='undef'
 i_gdbm='undef'
 i_grp='undef'
 i_iconv='undef'
index 9b03d12..1cd02b2 100644 (file)
@@ -104,6 +104,7 @@ d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
+d_class='undef'
 d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
@@ -138,11 +139,17 @@ d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='undef'
+d_finitel='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -198,6 +205,8 @@ d_index='undef'
 d_inetaton='undef'
 d_int64_t='undef'
 d_isascii='define'
+d_isfinite='undef'
+d_isinf='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_killpg='undef'
@@ -383,6 +392,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unordered='undef'
 d_usleep='undef'
 d_usleepproto='undef'
 d_ustat='undef'
@@ -462,6 +472,8 @@ i_dld='undef'
 i_dlfcn='define'
 i_fcntl='define'
 i_float='define'
+i_fp='undef'
+i_fp_class='undef'
 i_gdbm='undef'
 i_grp='undef'
 i_iconv='undef'
index 9909393..d946051 100644 (file)
@@ -104,6 +104,7 @@ d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
+d_class='undef'
 d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
@@ -138,11 +139,17 @@ d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='undef'
+d_finitel='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -198,6 +205,8 @@ d_index='undef'
 d_inetaton='undef'
 d_int64_t='undef'
 d_isascii='define'
+d_isfinite='undef'
+d_isinf='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_killpg='undef'
@@ -383,6 +392,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unordered='undef'
 d_usleep='undef'
 d_usleepproto='undef'
 d_ustat='undef'
@@ -462,6 +472,8 @@ i_dld='undef'
 i_dlfcn='define'
 i_fcntl='define'
 i_float='define'
+i_fp='undef'
+i_fp_class='undef'
 i_gdbm='undef'
 i_grp='undef'
 i_iconv='undef'