// File: /workspace/github_cpp_makefile_star2_O3/Barath-Kannan[P]SignalsAndSlots/test/SignalTest_Parametrized.cpp
// Function: SignalTestParametrized::SetUp()
void SignalTestParametrized::SetUp() {
    auto tupleParams = GetParam();
    params = {::testing::get<0>(tupleParams), ::testing::get<1>(tupleParams), ::testing::get<2>(tupleParams), ::testing::get<3>(tupleParams), ::testing::get<4>(tupleParams), ::testing::get<5>(tupleParams)};
    
    cout << "Test for signal type: ";
    switch (params.scheme) {
        case (ExecutorScheme::DEFERRED_SYNCHRONOUS):
            return;
        case(ExecutorScheme::ASYNCHRONOUS):
            cout << "Asynchronous";
            break;
        case(ExecutorScheme::STRAND):
            cout << "Strand";
            break;
        case(ExecutorScheme::SYNCHRONOUS):
            cout << "Synchronous";
            break;
        case (ExecutorScheme::THREAD_POOLED):
            cout << "Thread Pooled";
            break;
    }
    cout << endl;
        
    cout << "Emissions: " << params.nEmissions << ", Connections: " << params.nConnections <<
            ", Operations: " << params.nOperations << ", Emitters: " << params.nEmitters <<
            ", Thread Safe: " << params.threadSafe << endl;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
addq $0x10, %rdi
callq 0x1f7e8
movl (%rax), %ecx
movb 0x4(%rax), %dl
movdqu 0x8(%rax), %xmm0
pshufd $0x1b, %xmm0, %xmm0     # xmm0 = xmm0[3,2,1,0]
movdqu %xmm0, 0x18(%rbx)
movb %dl, 0x28(%rbx)
movl %ecx, 0x2c(%rbx)
movq 0x4dbaf(%rip), %r14     # 0x6afa0
leaq 0x2d8cc(%rip), %rsi     # 0x4acc4
movl $0x16, %edx
movq %r14, %rdi
callq 0xb600
movl 0x2c(%rbx), %eax
cmpq $0x4, %rax
ja 0x1d475
leaq 0x2d3db(%rip), %rcx     # 0x4a7f0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x4db7b(%rip), %rdi     # 0x6afa0
leaq 0x2da9e(%rip), %rsi     # 0x4aeca
movl $0xb, %edx
jmp 0x1d470
movq 0x4db66(%rip), %rdi     # 0x6afa0
leaq 0x2d89a(%rip), %rsi     # 0x4acdb
movl $0xd, %edx
jmp 0x1d470
movq 0x4db51(%rip), %rdi     # 0x6afa0
leaq 0x2da95(%rip), %rsi     # 0x4aeeb
movl $0xc, %edx
jmp 0x1d470
movq 0x4db3c(%rip), %rdi     # 0x6afa0
leaq 0x2daa2(%rip), %rsi     # 0x4af0d
movl $0x6, %edx
callq 0xb600
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0xb4c0
movsbl %al, %esi
movq %r14, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb390
leaq 0x2d846(%rip), %rsi     # 0x4ace9
movl $0xb, %edx
movq %r14, %rdi
callq 0xb600
movl 0x1c(%rbx), %esi
movq %r14, %rdi
callq 0xb380
movq %rax, %r14
leaq 0x2d830(%rip), %rsi     # 0x4acf5
movl $0xf, %edx
movq %rax, %rdi
callq 0xb600
movl 0x18(%rbx), %esi
movq %r14, %rdi
callq 0xb380
movq %rax, %r14
leaq 0x2d81e(%rip), %rsi     # 0x4ad05
movl $0xe, %edx
movq %rax, %rdi
callq 0xb600
movl 0x20(%rbx), %esi
movq %r14, %rdi
callq 0xb380
movq %rax, %r14
leaq 0x2d80b(%rip), %rsi     # 0x4ad14
movl $0xc, %edx
movq %rax, %rdi
callq 0xb600
movl 0x24(%rbx), %esi
movq %r14, %rdi
callq 0xb380
movq %rax, %r14
leaq 0x2d7f6(%rip), %rsi     # 0x4ad21
movl $0xf, %edx
movq %rax, %rdi
callq 0xb600
movzbl 0x28(%rbx), %esi
movq %r14, %rdi
callq 0xb960
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0xb4c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0xb050
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xb390
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop