platform.h

00001 /* source/headers/geos/platform.h.  Generated by configure.  */
00002 #ifndef GEOS_PLATFORM_H
00003 #define GEOS_PLATFORM_H
00004 
00005 /* Set to 1 if `long int' is 64 bits */
00006 #define HAVE_LONG_INT_64 
00007 
00008 /* Set to 1 if `long long int' is 64 bits */
00009 /* #undef HAVE_LONG_LONG_INT_64 */
00010 
00011 /* Set to 1 if you have ieeefp.h */
00012 /* #undef HAVE_IEEEFP_H */
00013 
00014 #ifdef HAVE_IEEEFP_H
00015 extern "C"
00016 {
00017 #include <ieeefp.h>
00018 }
00019 #endif
00020 
00021 
00022 //Defines NaN for intel platforms
00023 //Don't forget to define infinities
00024 #define DoubleNotANumber 1.7e-308
00025 #define DoubleInfinity 1.7e+308
00026 #define DoubleNegInfinity -1.7e+308
00027 
00028 #define FINITE(x) ( (x) != DoubleNotANumber && (x) != DoubleInfinity && (x) != DoubleNegInfinity )
00029 #define ISNAN(x) ( (x) == DoubleNotANumber )
00030 
00031 #ifdef HAVE_LONG_LONG_INT_64
00032  typedef long long int int64;
00033 #else
00034  typedef long int int64;
00035 #ifndef HAVE_LONG_INT_64
00036 #define INT64_IS_REALLY32 1
00037 #warning "Could not find 64bit integer definition!"
00038 #endif
00039 #endif
00040 
00041 inline int getMachineByteOrder() {
00042         static int endian_check = 1; // don't modify !!
00043         return *((char *)&endian_check); // 0 == big_endian | xdr,
00044                                          // 1 == little_endian | ndr
00045 }
00046 
00047 
00048 #endif

Generated on Mon Nov 6 20:45:02 2006 for GEOS by  doxygen 1.5.1