#ifndef CK_SEQUENCE_HELPER_HPP #define CK_SEQUENCE_HELPER_HPP #include "sequence.hpp" namespace ck { template __host__ __device__ void print_sequence(const char* s, Sequence) { constexpr index_t nsize = Sequence::Size(); static_assert(nsize <= 10, "wrong!"); static_if{}([&](auto) { printf("%s size %u, {}\n", s, nsize, Xs...); }); static_if{}([&](auto) { printf("%s size %u, {%u}\n", s, nsize, Xs...); }); static_if{}([&](auto) { printf("%s size %u, {%u %u}\n", s, nsize, Xs...); }); static_if{}([&](auto) { printf("%s size %u, {%u %u %u}\n", s, nsize, Xs...); }); static_if{}([&](auto) { printf("%s size %u, {%u %u %u %u}\n", s, nsize, Xs...); }); static_if{}( [&](auto) { printf("%s size %u, {%u %u %u %u %u}\n", s, nsize, Xs...); }); static_if{}( [&](auto) { printf("%s size %u, {%u %u %u %u %u %u}\n", s, nsize, Xs...); }); static_if{}( [&](auto) { printf("%s size %u, {%u %u %u %u %u %u %u}\n", s, nsize, Xs...); }); static_if{}( [&](auto) { printf("%s size %u, {%u %u %u %u %u %u %u %u}\n", s, nsize, Xs...); }); static_if{}( [&](auto) { printf("%s size %u, {%u %u %u %u %u %u %u %u %u}\n", s, nsize, Xs...); }); static_if{}( [&](auto) { printf("%s size %u, {%u %u %u %u %u %u %u %u %u %u}\n", s, nsize, Xs...); }); } } // namespace ck #endif