|
Open Dynamics Engine
|
00001 #ifndef ODECONFIG_H 00002 #define ODECONFIG_H 00003 00004 #ifndef dDOUBLE 00005 #ifndef dSINGLE 00006 #define dSINGLE 00007 #endif 00008 #endif 00009 00010 /* Pull in the standard headers */ 00011 #include <stdio.h> 00012 #include <stdlib.h> 00013 #include <stdarg.h> 00014 #include <math.h> 00015 #include <string.h> 00016 #include <float.h> 00017 00018 #if defined(ODE_DLL) || defined(ODE_LIB) || !defined(_MSC_VER) 00019 #define __ODE__ 00020 #endif 00021 00022 /* Define a DLL export symbol for those platforms that need it */ 00023 #if defined(_MSC_VER) 00024 #if defined(ODE_DLL) 00025 #define ODE_API __declspec(dllexport) 00026 #elif !defined(ODE_LIB) 00027 #define ODE_DLL_API __declspec(dllimport) 00028 #endif 00029 #endif 00030 00031 #if !defined(ODE_API) 00032 #define ODE_API 00033 #endif 00034 00035 #if defined(_MSC_VER) 00036 # define ODE_API_DEPRECATED __declspec(deprecated) 00037 #elif defined (__GNUC__) && ( (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) ) 00038 # define ODE_API_DEPRECATED __attribute__((__deprecated__)) 00039 #else 00040 # define ODE_API_DEPRECATED 00041 #endif 00042 00043 /* Well-defined common data types...need to define for 64 bit systems */ 00044 #if defined(_M_IA64) || defined(__ia64__) || defined(_M_AMD64) || defined(__x86_64__) 00045 #define X86_64_SYSTEM 1 00046 typedef int int32; 00047 typedef unsigned int uint32; 00048 typedef short int16; 00049 typedef unsigned short uint16; 00050 typedef char int8; 00051 typedef unsigned char uint8; 00052 #else 00053 typedef int int32; 00054 typedef unsigned int uint32; 00055 typedef short int16; 00056 typedef unsigned short uint16; 00057 typedef char int8; 00058 typedef unsigned char uint8; 00059 #endif 00060 00061 /* Visual C does not define these functions */ 00062 #if defined(_MSC_VER) 00063 #define copysignf _copysign 00064 #define copysign _copysign 00065 #endif 00066 00067 00068 00069 /* Define the dInfinity macro */ 00070 #ifdef INFINITY 00071 #define dInfinity INFINITY 00072 #elif defined(HUGE_VAL) 00073 #ifdef dSINGLE 00074 #ifdef HUGE_VALF 00075 #define dInfinity HUGE_VALF 00076 #else 00077 #define dInfinity ((float)HUGE_VAL) 00078 #endif 00079 #else 00080 #define dInfinity HUGE_VAL 00081 #endif 00082 #else 00083 #ifdef dSINGLE 00084 #define dInfinity ((float)(1.0/0.0)) 00085 #else 00086 #define dInfinity (1.0/0.0) 00087 #endif 00088 #endif 00089 00090 00091 #endif
1.7.3