#include #include "common_code.h" #include "all_cases/all_cases.h" using klotski::cases::AllCases; using klotski::cases::BasicRanges; using klotski::codec::CommonCode; int main() { // std::cout << (int)'0' << std::endl; // std::cout << (int)'A' << std::endl; // std::cout << CommonCode::string_encode(0x1A9BF0C00, false) << std::endl; // std::cout << CommonCode::string_encode(0x0'10'00'00'00, false) << std::endl; // return 0; // printf("%09llX\n", CommonCode::string_decode("1A9BF0C").value()); // return 0; // BasicRanges::Instance().Build(); AllCases::Instance().Build(); std::vector common_codes; common_codes.reserve(klotski::cases::ALL_CASES_NUM_); for (uint64_t head = 0; head < 15; ++head) { for (auto range : AllCases::Instance().Fetch()[head]) { common_codes.emplace_back(head << 32 | range); } } // std::vector common_codes_str; // common_codes_str.reserve(klotski::cases::ALL_CASES_NUM_); // for (auto x : common_codes) { // common_codes_str.emplace_back(CommonCode::string_encode(x, false)); // } auto start = clock(); // for (auto common_code : common_codes) { // printf("%llX\n", common_code); // CommonCode::string_encode(common_code, true); // CommonCode::string_encode(common_code, false); // printf("%s\n", CommonCode::string_encode(common_code, false).c_str()); // std::cout << CommonCode::string_encode(common_code, false) << std::endl; // } // for (auto &common_code_str : common_codes_str) { // CommonCode::string_decode(common_code_str); // } // BasicRanges::Instance().Build(); // AllCases::Instance().Build(); // AllCases::Instance().BuildParallel([](auto f) {f();}); // AllCases::Instance().BuildParallelAsync([](auto f) {f();}, []() {}); std::cerr << ((clock() - start) * 1000 / CLOCKS_PER_SEC) << "ms" << std::endl; // for (uint64_t head = 0; head < 15; ++head) { // for (auto range : AllCases::Instance().Fetch()[head]) { // printf("%09llX\n", head << 32 | range); // } // } return 0; }