mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-04-20 06:49:15 +00:00
Update unsigned long literals and format specifiers to work correctly in Windows (#3483)
Previously, the code used unsigned long for literals and format specifiers to represent 64-bit unsigned values. While this worked on Linux, it caused compatibility issues on Windows. The C++ standard does not guarantee that long is 64 bits. On LP64 systems (e.g., Linux), long maps to 64-bit values, but on LLP64 systems (e.g., Windows), long maps to 32-bit values. This discrepancy led to incorrect behavior when assuming unsigned long was always 64-bit. This commit updates all relevant literals and format specifiers to explicitly use 64-bit unsigned types, ensuring consistent behavior across platforms.
This commit is contained in:
@@ -26,6 +26,7 @@ using TestTypes = ::testing::Types<float, fp16_t, fp8_t, pk_fp4_t>;
|
||||
TYPED_TEST_SUITE(FillUniformDistributionTest, TestTypes);
|
||||
|
||||
// Test that multiple runs with the same seed produce identical results
|
||||
#ifndef _WIN32
|
||||
TYPED_TEST(FillUniformDistributionTest, ConsistencyWithSameSeed)
|
||||
{
|
||||
using T = TypeParam;
|
||||
@@ -53,6 +54,7 @@ TYPED_TEST(FillUniformDistributionTest, ConsistencyWithSameSeed)
|
||||
<< "First and second fill should be identical";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Test consistency across different data sizes (which affects threading)
|
||||
TYPED_TEST(FillUniformDistributionTest, ConsistencyAcrossSizes)
|
||||
|
||||
Reference in New Issue
Block a user