From c6f4418debfe1f045ef6b36dec5d0cf3a40fd281 Mon Sep 17 00:00:00 2001 From: KunoiSayami Date: Sun, 9 Jul 2023 03:09:38 +0800 Subject: 2023-07-09 03:09 Signed-off-by: KunoiSayami --- expt_0707_1.cu | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 expt_0707_1.cu (limited to 'expt_0707_1.cu') diff --git a/expt_0707_1.cu b/expt_0707_1.cu new file mode 100644 index 0000000..61a53c6 --- /dev/null +++ b/expt_0707_1.cu @@ -0,0 +1,38 @@ + +#include +#include +#define PRINTF_BINARY_PATTERN_INT8 "%c%c%c%c%c%c%c%c" +#define PRINTF_BYTE_TO_BINARY_INT8(i) \ + (int)((((i) >> 7) & 1ull) + '0'), (int)((((i) >> 6) & 1ull) + '0'), \ + (int)((((i) >> 5) & 1ull) + '0'), (int)((((i) >> 4) & 1ull) + '0'), \ + (int)((((i) >> 3) & 1ull) + '0'), (int)((((i) >> 2) & 1ull) + '0'), \ + (int)((((i) >> 1) & 1ull) + '0'), (int)((((i)) & 1ull) + '0') + +#define PRINTF_BINARY_PATTERN_INT16 \ + PRINTF_BINARY_PATTERN_INT8 PRINTF_BINARY_PATTERN_INT8 +#define PRINTF_BYTE_TO_BINARY_INT16(i) \ + PRINTF_BYTE_TO_BINARY_INT8((i) >> 8), PRINTF_BYTE_TO_BINARY_INT8(i) +#define PRINTF_BINARY_PATTERN_INT32 \ + PRINTF_BINARY_PATTERN_INT16 PRINTF_BINARY_PATTERN_INT16 +#define PRINTF_BYTE_TO_BINARY_INT32(i) \ + PRINTF_BYTE_TO_BINARY_INT16((i) >> 16), PRINTF_BYTE_TO_BINARY_INT16(i) +#define PRINTF_BINARY_PATTERN_INT64 \ + PRINTF_BINARY_PATTERN_INT32 PRINTF_BINARY_PATTERN_INT32 +#define PRINTF_BYTE_TO_BINARY_INT64(i) \ + PRINTF_BYTE_TO_BINARY_INT32((i) >> 32), PRINTF_BYTE_TO_BINARY_INT32(i) +/* --- end macros --- */ + +__global__ void test() { + + auto last_known_point = 10981552822ULL, val = 10960094149ULL; + auto x = last_known_point - val; + printf("last_known_point =%llu, val = %llu " PRINTF_BINARY_PATTERN_INT64 "\n", + last_known_point, val, + PRINTF_BYTE_TO_BINARY_INT64(last_known_point - val)); +} + +int main() { + std::cout << (PRINTF_BINARY_PATTERN_INT64) << std::endl; + test<<<1, 1>>>(); + cudaDeviceSynchronize(); +} \ No newline at end of file -- cgit v1.3.1