| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
| #if defined(_MSC_VER) // MSVC |
|
|
| |
| #define CUB_MACRO_CHECK_IMPL(msg) \ |
| \ |
| __pragma(message(__FILE__ ":" CUB_MACRO_CHECK_IMPL0(__LINE__) \ |
| ": error: " #msg)) \ |
| \ |
| static_assert(false, #msg); |
| #define CUB_MACRO_CHECK_IMPL0(x) CUB_MACRO_CHECK_IMPL1(x) |
| #define CUB_MACRO_CHECK_IMPL1(x) #x |
|
|
| #elif defined(__clang__) || defined(__GNUC__) |
|
|
| |
| #define CUB_MACRO_CHECK_IMPL(msg) CUB_MACRO_CHECK_IMPL0(GCC error #msg) |
| #define CUB_MACRO_CHECK_IMPL0(expr) _Pragma(#expr) |
|
|
| #endif |
|
|
| |
| #define CUB_MACRO_CHECK(MACRO, HEADER) \ |
| CUB_MACRO_CHECK_IMPL(Identifier MACRO should not be used from CUB \ |
| headers due to conflicts with HEADER macros.) |
|
|
| |
| #define I CUB_MACRO_CHECK('I', complex.h) |
|
|
| |
| #define small CUB_MACRO_CHECK('small', windows.h) |
| |
| |
| |
| |
| |
| |
|
|
| |
| #define B0 CUB_MACRO_CHECK("B0", termios.h) |
|
|
| #include <cub/iterator/constant_input_iterator.cuh> |
|
|
| #if defined(CUB_DISABLE_BF16_SUPPORT) |
| #if defined(__CUDA_BF16_TYPES_EXIST__) |
| #error CUB should not include cuda_bf16.h when BF16 support is disabled |
| #endif |
| #endif |
|
|