#pragma once // "_PACKAGE_" to avoid name contentions: the macros like // HIP_VERSION_MAJOR are defined in HIP_VERSION.h. // clang-format off #define CK_HIP_PACKAGE_VERSION_MAJOR @CK_HIP_VERSION_MAJOR@ #define CK_HIP_PACKAGE_VERSION_MINOR @CK_HIP_VERSION_MINOR@ #define CK_HIP_PACKAGE_VERSION_PATCH @CK_HIP_VERSION_PATCH@ // clang-format on #ifndef CK_HIP_PACKAGE_VERSION_MAJOR #define CK_HIP_PACKAGE_VERSION_MAJOR 0 #endif #ifndef CK_HIP_PACKAGE_VERSION_MINOR #define CK_HIP_PACKAGE_VERSION_MINOR 0 #endif #ifndef CK_HIP_PACKAGE_VERSION_PATCH #define CK_HIP_PACKAGE_VERSION_PATCH 0 #endif // 3 decimal digits for major and minor, 6 digits for patch number. // Max number is 999,999,999999 == 0xE8,D4A5,0FFF that fits into 64-bit math. #if CK_HIP_PACKAGE_VERSION_MAJOR > 999 || CK_HIP_PACKAGE_VERSION_MAJOR > 999 || \ CK_HIP_PACKAGE_VERSION_PATCH > 999999 #error "Too big HIP version number(s)" #endif #define CK_HIP_PACKAGE_VERSION_FLAT \ ((CK_HIP_PACKAGE_VERSION_MAJOR * 1000ULL + CK_HIP_PACKAGE_VERSION_MINOR) * 1000000 + \ CK_HIP_PACKAGE_VERSION_PATCH)