Annotation of embedaddon/libxml2/trionan.h, revision 1.1.1.2

1.1       misho       1: /*************************************************************************
                      2:  *
                      3:  * $Id$
                      4:  *
                      5:  * Copyright (C) 2001 Bjorn Reese <breese@users.sourceforge.net>
                      6:  *
                      7:  * Permission to use, copy, modify, and distribute this software for any
                      8:  * purpose with or without fee is hereby granted, provided that the above
                      9:  * copyright notice and this permission notice appear in all copies.
                     10:  *
                     11:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     12:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     13:  * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
                     14:  * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
                     15:  *
                     16:  ************************************************************************/
                     17: 
                     18: #ifndef TRIO_NAN_H
                     19: #define TRIO_NAN_H
                     20: 
                     21: #include "triodef.h"
                     22: 
                     23: #ifdef __cplusplus
                     24: extern "C" {
                     25: #endif
                     26: 
                     27: enum {
                     28:   TRIO_FP_INFINITE,
                     29:   TRIO_FP_NAN,
                     30:   TRIO_FP_NORMAL,
                     31:   TRIO_FP_SUBNORMAL,
                     32:   TRIO_FP_ZERO
                     33: };
                     34: 
                     35: /*
                     36:  * Return NaN (Not-a-Number).
                     37:  */
                     38: TRIO_PUBLIC double trio_nan TRIO_PROTO((void));
                     39: 
                     40: /*
                     41:  * Return positive infinity.
                     42:  */
                     43: TRIO_PUBLIC double trio_pinf TRIO_PROTO((void));
                     44: 
                     45: /*
                     46:  * Return negative infinity.
                     47:  */
                     48: TRIO_PUBLIC double trio_ninf TRIO_PROTO((void));
1.1.1.2 ! misho      49: 
1.1       misho      50: /*
                     51:  * Return negative zero.
                     52:  */
                     53: TRIO_PUBLIC double trio_nzero TRIO_PROTO((TRIO_NOARGS));
                     54: 
                     55: /*
                     56:  * If number is a NaN return non-zero, otherwise return zero.
                     57:  */
                     58: TRIO_PUBLIC int trio_isnan TRIO_PROTO((double number));
                     59: 
                     60: /*
                     61:  * If number is positive infinity return 1, if number is negative
                     62:  * infinity return -1, otherwise return 0.
                     63:  */
                     64: TRIO_PUBLIC int trio_isinf TRIO_PROTO((double number));
                     65: 
                     66: /*
                     67:  * If number is finite return non-zero, otherwise return zero.
                     68:  */
                     69: #if 0
                     70:        /* Temporary fix - these 2 routines not used in libxml */
                     71: TRIO_PUBLIC int trio_isfinite TRIO_PROTO((double number));
                     72: 
                     73: TRIO_PUBLIC int trio_fpclassify TRIO_PROTO((double number));
                     74: #endif
                     75: 
                     76: TRIO_PUBLIC int trio_signbit TRIO_PROTO((double number));
                     77: 
                     78: TRIO_PUBLIC int trio_fpclassify_and_signbit TRIO_PROTO((double number, int *is_negative));
                     79: 
                     80: #ifdef __cplusplus
                     81: }
                     82: #endif
                     83: 
                     84: #endif /* TRIO_NAN_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>