// File: Baobaobear[P]sort/sorttest.cpp
// Function: init_gen_data_fun_map(std::map<int, int (*)(int, int), std::less<int>, std::allocator<std::pair<int const, int (*)(int, int)>>>&, std::map<int, void (*)(baobao::TestClass*, unsigned long), std::less<int>, std::allocator<std::pair<int const, void (*)(baobao::TestClass*, unsigned long)>>>&, std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int>>>&)
static void init_gen_data_fun_map(
    std::map<int, gen_data_func_t> &gen_data_fun_map,
    std::map<int, arrar_function_t> &gen_data_shuffle,
    std::map<int, int>& split_size_map
)
{
    gen_data_fun_map[1] = data_1;

    gen_data_fun_map[2] = data_xor_1;
    gen_data_fun_map[3] = data_rev_xor_1;
    gen_data_fun_map[4] = data_n;
    gen_data_shuffle[4] = data_shuffle_func;

    gen_data_fun_map[5] = data_half_equal;
    gen_data_shuffle[5] = data_shuffle_func;
    gen_data_fun_map[6] = data_mod_32;
    gen_data_shuffle[6] = data_shuffle_func;
    gen_data_fun_map[7] = data_mod_32;
    gen_data_fun_map[8] = data_xor_31;

    gen_data_fun_map[9] = data_n;
    gen_data_shuffle[9] = data_shuffle_shellsort;
    gen_data_fun_map[10] = data_n;
    gen_data_shuffle[10] = data_shuffle_heapsort;
    gen_data_fun_map[11] = data_n;
    gen_data_shuffle[11] = data_shuffle_func;
    split_size_map[11] = 260;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq 0x60(%rsp), %rdi
movl $0x1, 0x4c(%rsp)
leaq 0x4c(%rsp), %rsi
callq 0x7600
leaq 0x23f(%rip), %rcx       # 0x55c0
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x2, 0x48(%rsp)
leaq 0x48(%rsp), %rsi
callq 0x7600
leaq 0x22e(%rip), %rcx       # 0x55d0
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x3, 0x44(%rsp)
leaq 0x44(%rsp), %rsi
callq 0x7600
leaq 0x21d(%rip), %rcx       # 0x55e0
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x4, 0x40(%rsp)
leaq 0x40(%rsp), %rsi
callq 0x7600
leaq 0x21c(%rip), %rcx       # 0x5600
movq %rcx, (%rax)
movq 0x58(%rsp), %rdi
movl $0x4, 0x3c(%rsp)
leaq 0x3c(%rsp), %rsi
callq 0x6450
leaq 0x20b(%rip), %rcx       # 0x5610
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x5, 0x38(%rsp)
leaq 0x38(%rsp), %rsi
callq 0x7600
leaq 0x21a(%rip), %rcx       # 0x5640
movq %rcx, (%rax)
movq 0x58(%rsp), %rdi
movl $0x5, 0x34(%rsp)
leaq 0x34(%rsp), %rsi
callq 0x6450
leaq 0x1c9(%rip), %rcx       # 0x5610
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x6, 0x30(%rsp)
leaq 0x30(%rsp), %rsi
callq 0x7600
leaq 0x208(%rip), %rcx       # 0x5670
movq %rcx, (%rax)
movq 0x58(%rsp), %rdi
movl $0x6, 0x2c(%rsp)
leaq 0x2c(%rsp), %rsi
callq 0x6450
leaq 0x187(%rip), %rcx       # 0x5610
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x7, 0x28(%rsp)
leaq 0x28(%rsp), %rsi
callq 0x7600
leaq 0x1c6(%rip), %rcx       # 0x5670
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x8, 0x24(%rsp)
leaq 0x24(%rsp), %rsi
callq 0x7600
leaq 0x1c5(%rip), %rcx       # 0x5690
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0x9, 0x20(%rsp)
leaq 0x20(%rsp), %rsi
callq 0x7600
leaq 0x114(%rip), %rcx       # 0x5600
movq %rcx, (%rax)
movq 0x58(%rsp), %rdi
movl $0x9, 0x1c(%rsp)
leaq 0x1c(%rsp), %rsi
callq 0x6450
leaq 0x193(%rip), %rcx       # 0x56a0
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0xa, 0x18(%rsp)
leaq 0x18(%rsp), %rsi
callq 0x7600
leaq 0xd2(%rip), %rcx        # 0x5600
movq %rcx, (%rax)
movq 0x58(%rsp), %rdi
movl $0xa, 0x14(%rsp)
leaq 0x14(%rsp), %rsi
callq 0x6450
leaq 0x301(%rip), %rcx       # 0x5850
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movl $0xb, 0x10(%rsp)
leaq 0x10(%rsp), %rsi
callq 0x7600
leaq 0x90(%rip), %rcx        # 0x5600
movq %rcx, (%rax)
movq 0x58(%rsp), %rdi
movl $0xb, 0xc(%rsp)
leaq 0xc(%rsp), %rsi
callq 0x6450
leaq 0x7f(%rip), %rcx        # 0x5610
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movl $0xb, 0x8(%rsp)
leaq 0x8(%rsp), %rsi
callq 0x67c0
movl $0x104, (%rax)          # imm = 0x104
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)