29 #define STRINGIFY(PARAM) STRINGIFY_INTERNAL(PARAM) 
   30 #define STRINGIFY_INTERNAL(PARAM) #PARAM 
   33 #if !defined(_MSC_VER) 
   34 #  if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L 
   35 #    define TYPEOF decltype 
   37 #    define TYPEOF typeof 
   43 #pragma warning(disable: 4251) //member is not dllexport 
   44 #pragma warning(disable: 4267) //conversion from 'size_t' to 'type', possible loss of data 
   45 #pragma warning(disable: 4275) //base class is not dllexport 
   46 #pragma warning(disable: 4244) //conversion to (or from) smaller integer type 
   47 #pragma warning(disable: 4355) //'this' pointer used in initializer list 
   48 #pragma warning(disable: 4800) //non-bool value coerced into bool (e.g. bool a = 5;) 
   49 #pragma warning(disable: 4503) //decorated name too long, truncated 
   50 #pragma warning(disable: 4344) //template specialisation results in different function being called (getProperty<>) 
   54 #if defined(DLL_TULIP) || defined(DLL_TULIP_GL) || defined(DLL_TULIP_QT) || defined(DLL_TULIP_QT2) 
   55 #pragma warning(disable: 4996) //deprecated functions 
   59 #    define _DEPRECATED __declspec(deprecated) 
   60 #    define _DEPRECATED_TYPEDEF(type, deprecated_type) typedef _DEPRECATED type deprecated_type 
   61 #    define TYPEOF decltype 
   64 #    include "boost/typeof/typeof.hpp" 
   65 #    define TYPEOF BOOST_TYPEOF 
   71 static double sqrt(
int i) {
 
   72   return sqrt((
double)i);
 
   74 static double sqrt(
unsigned int i) {
 
   75   return sqrt((
double)i);
 
   78 static double log(
int i) {
 
   79   return log((
double)i);
 
   81 static double log(
unsigned int i) {
 
   82   return log((
double)i);
 
   85 static double floor(
int i) {
 
   86   return floor((
double)i);
 
   88 static double floor(
unsigned int i) {
 
   89   return floor((
double)i);
 
   92 static double round(
double d) {
 
   93   return floor(d + 0.5);
 
   96 static double fabs(
int i) {
 
   97   return fabs((
double)i);
 
  100 static float strtof(
const char* cptr, 
char** endptr) {
 
  101   return strtod(cptr, endptr);
 
  104 #  define __PRETTY_FUNCTION__ __FUNCTION__ //MSVC has a different name for pretty_function 
  105 #  define strcasecmp stricmp  //strcasecmp does not exists for VC, workaround 
  106 #  define isnan(x) ((x) != (x)) //you guessed it, this is a C99 feature, and VC++ does not support C99. workaroud this. 
  107 #  define rint(arg) arg > 0 ? (int)std::floor((double)arg) : (int)std::ceil((double)arg) //Hey, nother C99 feature ! 
  111 #  define _DEPRECATED __attribute__ ((deprecated)) 
  112 #  define _DEPRECATED_TYPEDEF(type, deprecated_type) typedef type deprecated_type _DEPRECATED 
  113 #  define stdext __gnu_cxx 
  117 #    define _DEPRECATED __attribute__ ((deprecated)) 
  118 #    define _DEPRECATED_TYPEDEF(type, deprecated_type) typedef type deprecated_type _DEPRECATED 
  119 #    define stdext __gnu_cxx 
  120 #  if  (__GNUC_MINOR__ < 4 && __GNUC__ < 4) 
  121 #    include <ext/stl_hash_fun.h> 
  122 #  elif (__GNUC_MINOR__ < 3) 
  123 #    include <ext/hash_fun.h> 
  130 #    define TLP_SCOPE       __declspec(dllexport) 
  132 #    define TLP_SCOPE       __declspec(dllimport) 
  141 #    define TLP_GL_SCOPE       __declspec(dllexport) 
  143 #    define TLP_GL_SCOPE       __declspec(dllimport) 
  147 #  define TLP_GL_SCOPE 
  152 #    define TLP_QT_SCOPE       __declspec(dllexport) 
  154 #    define TLP_QT_SCOPE       __declspec(dllimport) 
  158 #  define TLP_QT_SCOPE 
  162 #  ifdef DLL_TULIP_PYTHON 
  163 #    define TLP_PYTHON_SCOPE       __declspec(dllexport) 
  165 #    define TLP_PYTHON_SCOPE       __declspec(dllimport) 
  168 #ifndef TLP_PYTHON_SCOPE 
  169 #  define TLP_PYTHON_SCOPE 
  173 #  ifdef DLL_TULIP_OGDF 
  174 #    define TLP_OGDF_SCOPE         __declspec(dllexport) 
  176 #    define TLP_OGDF_SCOPE         __declspec(dllimport) 
  179 #ifndef TLP_OGDF_SCOPE 
  180 #  define TLP_OGDF_SCOPE 
  190 extern TLP_SCOPE std::ostream& debug();
 
  195 extern TLP_SCOPE 
void setDebugOutput(std::ostream& os);
 
  200 extern TLP_SCOPE std::ostream& warning();
 
  205 extern TLP_SCOPE 
void setWarningOutput(std::ostream& os);
 
  210 extern TLP_SCOPE std::ostream& error();
 
  215 extern TLP_SCOPE 
void setErrorOutput(std::ostream& os);