File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / trionan.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:29 2014 UTC (9 years, 11 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    1: /*************************************************************************
    2:  *
    3:  * $Id: trionan.h,v 1.1.1.2 2014/06/15 19:53:29 misho Exp $
    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>