Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

rtxFloat.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2006 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00028 #ifndef _RTXFLOAT_H_
00029 #define _RTXFLOAT_H_
00030 
00031 #include "rtxsrc/rtxCommon.h"
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 #ifdef _NO_ULP_EQUAL
00038 
00039 /* Fall back to normal equality test */
00040 #define rtxFloatEqual(a, b)           (a == b)
00041 #define rtxDoubleEqual(a, b)          (a == b)
00042 #define rtxFloatGreater(a, b)         (a >  b)
00043 #define rtxFloatGreaterOrEqual(a, b)  (a >= b)
00044 #define rtxFloatSmaller(a, b)         (a <  b)
00045 #define rtxFloatSmallerOrEqual(a, b)  (a <= b)
00046 #define rtxDoubleGreater(a, b)        (a >  b)
00047 #define rtxDoubleGreaterOrEqual(a, b) (a >= b)
00048 #define rtxDoubleSmaller(a, b)        (a <  b)
00049 #define rtxDoubleSmallerOrEqual(a, b) (a <= b)
00050 
00051 
00052 #else /* _NO_ULP_EQUAL */
00053 
00054 #define rtxFloatEqual(a, b) rtxFloatEqualImpl(a, b)
00055 #define rtxDoubleEqual(a, b) rtxDoubleEqualImpl(a, b)
00056 #define rtxFloatGreater(a, b)         ((a>b) && !rtxFloatEqual(a,b))
00057 #define rtxFloatGreaterOrEqual(a, b)  ((a>b) ||  rtxFloatEqual(a,b))
00058 #define rtxFloatSmaller(a, b)         ((a<b) && !rtxFloatEqual(a,b))
00059 #define rtxFloatSmallerOrEqual(a, b)  ((a<b) ||  rtxFloatEqual(a,b))
00060 #define rtxDoubleGreater(a, b)        ((a>b) && !rtxDoubleEqual(a,b))
00061 #define rtxDoubleGreaterOrEqual(a, b) ((a>b) ||  rtxDoubleEqual(a,b))
00062 #define rtxDoubleSmaller(a, b)        ((a<b) && !rtxDoubleEqual(a,b))
00063 #define rtxDoubleSmallerOrEqual(a, b) ((a<b) ||  rtxDoubleEqual(a,b))
00064 
00065 
00066 #endif /* _NO_ULP_EQUAL */
00067 
00068 EXTERNRTX OSBOOL rtxFloatEqualImpl(float a, float b);
00069 
00070 EXTERNRTX OSBOOL rtxDoubleEqualImpl(double a, double b);
00071 
00072 #ifdef __cplusplus
00073 }
00074 #endif
00075 
00076 #endif /* _RTXFLOAT_H_ */
00077 

This file was last modified on 8 Jan 2007.
XBinder, Version 1.1.9