// File: /workspace/github_cpp_makefile_star2_O1/PrarabdhJoshi[P]DatabaseImplementation/test.cc
// Function: main
int main () {
cout <<"here";
	setup (catalog_path, dbfile_dir, tpch_dir);

	void (*test) ();
	relation *rel_ptr[] = {n, r, c, p, ps, o, li};
	void (*test_ptr[]) () = {&test1, &test2, &test3};  

	int tindx = 0;
	while (tindx < 1 || tindx > 3) {
		cout << " select test: \n";
		cout << " \t 1. load file \n";
		cout << " \t 2. scan \n";
		cout << " \t 3. scan & filter \n \t ";
		cin >> tindx;
	}

	int findx = 0;
	while (findx < 1 || findx > 7) {
		cout << "\n select table: \n";
		cout << "\t 1. nation \n";
		cout << "\t 2. region \n";
		cout << "\t 3. customer \n";
		cout << "\t 4. part \n";
		cout << "\t 5. partsupp \n";
		cout << "\t 6. orders \n";
		cout << "\t 7. lineitem \n \t ";
		cin >> findx;
	}

	rel = rel_ptr [findx - 1];
	test = test_ptr [tindx - 1];

	test ();

	cleanup ();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq 0x4968(%rip), %rbx      # 0xbfc0
leaq 0x151d(%rip), %rsi      # 0x8b7c
movl $0x4, %edx
movq %rbx, %rdi
callq 0x21c0
movq 0x4bd5(%rip), %rdi      # 0xc248
movq 0x4bbe(%rip), %rsi      # 0xc238
movq 0x4bbf(%rip), %rdx      # 0xc240
callq 0x6c54
movq 0x4c7b(%rip), %rax      # 0xc308
movq %rax, 0x10(%rsp)
movq 0x4c7f(%rip), %rax      # 0xc318
movq %rax, 0x18(%rsp)
movq 0x4c83(%rip), %rax      # 0xc328
movq %rax, 0x20(%rsp)
movq 0x4c47(%rip), %rax      # 0xc2f8
movq %rax, 0x28(%rsp)
movq 0x4c43(%rip), %rax      # 0xc300
movq %rax, 0x30(%rsp)
movq 0x4c57(%rip), %rax      # 0xc320
movq %rax, 0x38(%rsp)
movq 0x4c3b(%rip), %rax      # 0xc310
movq %rax, 0x40(%rsp)
leaq 0xc(%rsp), %r14
movl $0x0, (%r14)
leaq 0x151e(%rip), %r12      # 0x8c0b
leaq 0x1529(%rip), %r13      # 0x8c1d
leaq 0x152f(%rip), %rbp      # 0x8c2a
movq 0x48d6(%rip), %r15      # 0xbfd8
movl $0xf, %edx
movq %rbx, %rdi
leaq 0x14ea(%rip), %rsi      # 0x8bfb
callq 0x21c0
movl $0x11, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x21c0
movl $0xc, %edx
movq %rbx, %rdi
movq %r13, %rsi
callq 0x21c0
movl $0x18, %edx
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x21c0
movq %r15, %rdi
movq %r14, %rsi
callq 0x2100
movl 0xc(%rsp), %eax
addl $-0x4, %eax
cmpl $-0x3, %eax
jb 0x7702
leaq 0x8(%rsp), %rax
movl $0x0, (%rax)
movq 0x4851(%rip), %r14      # 0xbfc0
leaq 0x150b(%rip), %r15      # 0x8c81
leaq 0x1510(%rip), %rbx      # 0x8c8d
leaq 0x1519(%rip), %r12      # 0x8c9d
leaq 0x1520(%rip), %r13      # 0x8cab
movq 0x4846(%rip), %rbp      # 0xbfd8
movl $0x11, %edx
movq %r14, %rdi
leaq 0x14a2(%rip), %rsi      # 0x8c43
callq 0x21c0
movl $0xd, %edx
movq %r14, %rdi
leaq 0x14a0(%rip), %rsi      # 0x8c55
callq 0x21c0
movl $0xd, %edx
movq %r14, %rdi
leaq 0x149a(%rip), %rsi      # 0x8c63
callq 0x21c0
movl $0xf, %edx
movq %r14, %rdi
leaq 0x1494(%rip), %rsi      # 0x8c71
callq 0x21c0
movl $0xb, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x21c0
movl $0xf, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x21c0
movl $0xd, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21c0
movl $0x12, %edx
movq %r14, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rbp, %rdi
leaq 0x8(%rsp), %rsi
callq 0x2100
movl 0x8(%rsp), %eax
leal -0x8(%rax), %ecx
cmpl $-0x7, %ecx
jb 0x7792
decl %eax
movq 0x10(%rsp,%rax,8), %rax
movq %rax, 0x4ae3(%rip)      # 0xc330
movslq 0xc(%rsp), %rax
leaq 0x4507(%rip), %rcx      # 0xbd60
callq *-0x8(%rcx,%rax,8)
movq 0x4a8c(%rip), %rdi      # 0xc2f0
testq %rdi, %rdi
je 0x7873
movl $0x80, %esi
callq 0x21a0
xorl %eax, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq