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

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));
        !            49:   
        !            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>