Go to the documentation of this file.
33 #ifndef OPENVDB_PLATFORM_HAS_BEEN_INCLUDED
34 #define OPENVDB_PLATFORM_HAS_BEEN_INCLUDED
41 #ifdef OPENVDB_DEPRECATED
42 #undef OPENVDB_DEPRECATED
45 #define OPENVDB_DEPRECATED __declspec(deprecated)
47 #define OPENVDB_DEPRECATED __attribute__ ((deprecated))
52 #define OPENVDB_CHECK_GCC(MAJOR, MINOR) \
53 (__GNUC__ > MAJOR || (__GNUC__ == MAJOR && __GNUC_MINOR__ >= MINOR))
55 #define OPENVDB_CHECK_GCC(MAJOR, MINOR) 0
61 #if defined(__GNUC__) && OPENVDB_CHECK_GCC(4, 4)
62 #define OPENVDB_STATIC_SPECIALIZATION
64 #define OPENVDB_STATIC_SPECIALIZATION static
83 #if defined(__INTEL_COMPILER)
87 #define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN \
88 _Pragma("warning (push)") \
89 _Pragma("warning (disable:111)") \
90 _Pragma("warning (disable:128)") \
91 _Pragma("warning (disable:185)") \
92 _Pragma("warning (disable:280)")
93 #define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END \
94 _Pragma("warning (pop)")
96 #define OPENVDB_NO_UNREACHABLE_CODE_WARNING_BEGIN
97 #define OPENVDB_NO_UNREACHABLE_CODE_WARNING_END
104 #ifndef _USE_MATH_DEFINES
105 #define _USE_MATH_DEFINES
110 #include <boost/math/special_functions/round.hpp>
111 using boost::math::round;
117 static inline double copysign(
double x,
double y) {
return _copysign(x, y); }
122 #include <boost/cstdint.hpp>
124 using boost::int16_t;
125 using boost::int32_t;
126 using boost::int64_t;
127 using boost::uint8_t;
128 using boost::uint16_t;
129 using boost::uint32_t;
130 using boost::uint64_t;
133 #ifdef OPENVDB_EXPORT
134 #undef OPENVDB_EXPORT
136 #ifdef OPENVDB_IMPORT
137 #undef OPENVDB_IMPORT
140 #define OPENVDB_EXPORT __attribute__((visibility("default")))
141 #define OPENVDB_IMPORT __attribute__((visibility("default")))
145 #define OPENVDB_EXPORT __declspec(dllexport)
146 #define OPENVDB_IMPORT __declspec(dllimport)
148 #define OPENVDB_EXPORT
149 #define OPENVDB_IMPORT
159 #ifdef OPENVDB_PRIVATE
160 #define OPENVDB_API OPENVDB_EXPORT
162 #define OPENVDB_API OPENVDB_IMPORT
164 #ifdef OPENVDB_HOUDINI_API
165 #undef OPENVDB_HOUDINI_API
167 #ifdef OPENVDB_HOUDINI_PRIVATE
168 #define OPENVDB_HOUDINI_API OPENVDB_EXPORT
170 #define OPENVDB_HOUDINI_API OPENVDB_IMPORT
173 #endif // OPENVDB_PLATFORM_HAS_BEEN_INCLUDED