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