00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __general_h__
00015 #define __general_h__
00016
00017 #include <limits.h>
00018
00019 #if !defined ( __GENERIC_CONSTANTS__ )
00020 #define __GENERIC_CONSTANTS__
00021
00022
00023 # define MinDouble -1.7976931348623150e+308
00024 # define MaxDouble +1.7976931348623150e+308
00025 # define LowDouble MinDouble
00026 # define HighDouble MaxDouble
00027 # define NoDouble -7.87813047009E+177
00028 # ifndef NearZero
00029 # define NearZero 2.2204460492503131e-16
00030 # endif
00031
00032 # endif // __GENERIC_CONSTANTS__
00033
00034
00035 # ifdef LONG_MAX
00036 # define MaxLong LONG_MAX
00037 # else
00038 # define MaxLong 2147483647L
00039 # endif
00040 # define MinLong (-MaxLong - 1L)
00041 # define LowLong MinLong
00042 # define HighLong MaxLong
00043
00044
00045 # define Minimum 0
00046 # define Maximum 1
00047 # define Yes 1
00048 # ifndef No
00049 # define No 0
00050 # endif
00051
00052 typedef double* p_double ;
00053 typedef int* p_int ;
00054 typedef char* p_char ;
00055 typedef long* p_long ;
00056
00057 #ifndef sqr
00058 #define sqr( x ) ( (x)*(x) )
00059 #endif
00060
00061 template <class ItemType>
00062 inline void SWAP( ItemType a, ItemType b )
00063 {
00064 ItemType temp = a ;
00065 a = b ;
00066 b = temp ;
00067 }
00068
00069
00070 #endif // __general_h__