00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
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
00040 #define rtxFloatEqual(a, b) (a == b)
00041 #define rtxFloatGreater(a, b) (a > b)
00042 #define rtxFloatGreaterOrEqual(a, b) (a >= b)
00043 #define rtxFloatSmaller(a, b) (a < b)
00044 #define rtxFloatSmallerOrEqual(a, b) (a <= b)
00045 #ifndef __SYMBIAN32__
00046 #define rtxDoubleEqual(a, b) (a == b)
00047 #define rtxDoubleGreater(a, b) (a > b)
00048 #define rtxDoubleGreaterOrEqual(a, b) (a >= b)
00049 #define rtxDoubleSmaller(a, b) (a < b)
00050 #define rtxDoubleSmallerOrEqual(a, b) (a <= b)
00051 #endif
00052
00053 #else
00054
00055 #define rtxFloatEqual(a, b) rtxFloatEqualImpl(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 #ifndef __SYMBIAN32__
00061 #define rtxDoubleEqual(a, b) rtxDoubleEqualImpl(a, b)
00062 #define rtxDoubleGreater(a, b) ((a>b) && !rtxDoubleEqual(a,b))
00063 #define rtxDoubleGreaterOrEqual(a, b) ((a>b) || rtxDoubleEqual(a,b))
00064 #define rtxDoubleSmaller(a, b) ((a<b) && !rtxDoubleEqual(a,b))
00065 #define rtxDoubleSmallerOrEqual(a, b) ((a<b) || rtxDoubleEqual(a,b))
00066 #endif
00067
00068 #endif
00069
00070 EXTERNRT OSBOOL rtxFloatEqualImpl(float a, float b);
00071
00072 #ifndef __SYMBIAN32__
00073 EXTERNRT OSBOOL rtxDoubleEqualImpl(double a, double b);
00074 #endif
00075
00076 #ifdef __cplusplus
00077 }
00078 #endif
00079
00080 #endif
00081