// File: /workspace/github_cpp_makefile_star2_O3/Kingsford-Group[P]ghost2/src/config.hpp
// Function: ConfigData::use(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void ConfigData::use(string s)
{
  if(s.substr(0, 2) == "//") return;
  string pos[] = {"network1: ", "network2: ", "sigs1: ", "sigs2: ",
                  "sequencescores: ", "nneighbors: ", "searchiter: ",
                  "hops: ", "processors: ", "alpha: ", "beta: ", "ratio: ", 
                  "seedSkip: ", "dumpSignatures: ", "dumpDistances: ", 
                  "directed: ", "alternateDistances: ", "alignFile: ", 
                  "distFile: ", "sigApprox: "};
  bool used=false;
  for(int i=0;i<20;i++)
    if(s.size() > pos[i].size() && s.substr(0,pos[i].size()) == pos[i])
    {
      s = s.substr(pos[i].size());
      used=true;
      switch (i)
      {
        case 0: Ggraph = s; break;
        case 1: Hgraph = s; break;
        case 2: Gsigs = s; break;
        case 3: Hsigs = s; break;
        case 4: SeqScores = s; break;
        case 5: if(s=="all") nneighbors = -1;
                else nneighbors = atoi(s.c_str()); break;
        case 6: searchiter = atoi(s.c_str()); break;
        case 7: hops = atoi(s.c_str()); break;
        case 8: numProcessors = atoi(s.c_str()); break;
        case 9: alpha = atof(s.c_str()); break;
        case 10: beta = atof(s.c_str()); break;
        case 11: ratio = atof(s.c_str()); break;
        case 12: seedSkip = atof(s.c_str()); break;
        case 13: if(s=="true") dumpSignatures=true; break;
        case 14: if(s=="true") dumpDistances=true; break;
        case 15: if(s=="true") directed=true; break;
        case 16: if(s=="true") alternateDistances=true; break;
        case 17: AlignFile = s; break;
        case 18: DistFile = s; break;
        case 19: SigApprox = s; break;
        default: break;
      }
    }
  if(!used)
    printf("WARNING: the configuration option \"%s\" may be incorrect\n\n", 
           s.c_str());
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2f8, %rsp            # imm = 0x2F8
movq %rsi, %rbx
movq %rdi, 0x8(%rsp)
leaq 0x70(%rsp), %r15
movl $0x2, %ecx
movq %r15, %rdi
xorl %edx, %edx
callq 0xc580
leaq 0x3b560(%rip), %rsi     # 0x48570
movq %r15, %rdi
callq 0xc1b0
movl %eax, %ebp
movq (%r15), %rdi
leaq 0x80(%rsp), %r14
cmpq %r14, %rdi
je 0xd03a
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xc550
testl %ebp, %ebp
je 0xd6f2
leaq 0x70(%rsp), %r15
movq %r14, (%r15)
leaq 0x3b522(%rip), %rsi     # 0x48573
leaq 0x3b525(%rip), %rdx     # 0x4857d
movq %r15, %rdi
callq 0x278dc
leaq 0x90(%rsp), %r12
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b503(%rip), %rsi     # 0x4857e
leaq 0x3b506(%rip), %rdx     # 0x48588
movq %r12, %rdi
callq 0x278dc
leaq 0xb0(%rsp), %r12
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b4e4(%rip), %rsi     # 0x48589
leaq 0x3b4e4(%rip), %rdx     # 0x48590
movq %r12, %rdi
callq 0x278dc
leaq 0xd0(%rsp), %r12
leaq 0xe0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b4c2(%rip), %rsi     # 0x48591
leaq 0x3b4c2(%rip), %rdx     # 0x48598
movq %r12, %rdi
callq 0x278dc
leaq 0xf0(%rsp), %r12
leaq 0x100(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b4a0(%rip), %rsi     # 0x48599
leaq 0x3b4a9(%rip), %rdx     # 0x485a9
movq %r12, %rdi
callq 0x278dc
leaq 0x110(%rsp), %r12
leaq 0x120(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b487(%rip), %rsi     # 0x485aa
leaq 0x3b48c(%rip), %rdx     # 0x485b6
movq %r12, %rdi
callq 0x278dc
leaq 0x130(%rsp), %r12
leaq 0x140(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b46a(%rip), %rsi     # 0x485b7
leaq 0x3b46f(%rip), %rdx     # 0x485c3
movq %r12, %rdi
callq 0x278dc
leaq 0x150(%rsp), %r12
leaq 0x160(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b44d(%rip), %rsi     # 0x485c4
leaq 0x3b44c(%rip), %rdx     # 0x485ca
movq %r12, %rdi
callq 0x278dc
leaq 0x170(%rsp), %r12
leaq 0x180(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b42a(%rip), %rsi     # 0x485cb
leaq 0x3b42f(%rip), %rdx     # 0x485d7
movq %r12, %rdi
callq 0x278dc
leaq 0x190(%rsp), %r12
leaq 0x1a0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b40d(%rip), %rsi     # 0x485d8
leaq 0x3b40d(%rip), %rdx     # 0x485df
movq %r12, %rdi
callq 0x278dc
leaq 0x1b0(%rsp), %r12
leaq 0x1c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b3eb(%rip), %rsi     # 0x485e0
leaq 0x3b3ea(%rip), %rdx     # 0x485e6
movq %r12, %rdi
callq 0x278dc
leaq 0x1d0(%rsp), %r12
leaq 0x1e0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b3c8(%rip), %rsi     # 0x485e7
leaq 0x3b3c8(%rip), %rdx     # 0x485ee
movq %r12, %rdi
callq 0x278dc
leaq 0x1f0(%rsp), %r12
leaq 0x200(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b3a6(%rip), %rsi     # 0x485ef
leaq 0x3b3a9(%rip), %rdx     # 0x485f9
movq %r12, %rdi
callq 0x278dc
leaq 0x210(%rsp), %r12
leaq 0x220(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b387(%rip), %rsi     # 0x485fa
leaq 0x3b390(%rip), %rdx     # 0x4860a
movq %r12, %rdi
callq 0x278dc
leaq 0x230(%rsp), %r12
leaq 0x240(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b36e(%rip), %rsi     # 0x4860b
leaq 0x3b376(%rip), %rdx     # 0x4861a
movq %r12, %rdi
callq 0x278dc
leaq 0x250(%rsp), %r12
leaq 0x260(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b354(%rip), %rsi     # 0x4861b
leaq 0x3b357(%rip), %rdx     # 0x48625
movq %r12, %rdi
callq 0x278dc
leaq 0x270(%rsp), %r12
leaq 0x280(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b335(%rip), %rsi     # 0x48626
leaq 0x3b342(%rip), %rdx     # 0x4863a
movq %r12, %rdi
callq 0x278dc
leaq 0x290(%rsp), %r12
leaq 0x2a0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b320(%rip), %rsi     # 0x4863b
leaq 0x3b324(%rip), %rdx     # 0x48646
movq %r12, %rdi
callq 0x278dc
leaq 0x2b0(%rsp), %r12
leaq 0x2c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b302(%rip), %rsi     # 0x48647
leaq 0x3b305(%rip), %rdx     # 0x48651
movq %r12, %rdi
callq 0x278dc
leaq 0x2d0(%rsp), %r12
leaq 0x2e0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3b2e3(%rip), %rsi     # 0x48652
leaq 0x3b2e7(%rip), %rdx     # 0x4865d
movq %r12, %rdi
callq 0x278dc
movq 0x8(%rsp), %rax
leaq 0xe0(%rax), %rcx
movq %rcx, 0x60(%rsp)
leaq 0xc0(%rax), %rcx
movq %rcx, 0x58(%rsp)
leaq 0xa0(%rax), %rcx
movq %rcx, 0x50(%rsp)
leaq 0x80(%rax), %rcx
movq %rcx, 0x48(%rsp)
leaq 0x60(%rax), %rcx
movq %rcx, 0x40(%rsp)
leaq 0x40(%rax), %rcx
movq %rcx, 0x38(%rsp)
addq $0x20, %rax
movq %rax, 0x68(%rsp)
leaq 0x78(%rsp), %r14
xorl %r12d, %r12d
leaq 0x18(%rsp), %r15
movq $0x0, 0x10(%rsp)
movq (%r14), %rcx
cmpq %rcx, 0x8(%rbx)
jbe 0xd6a3
movq %r15, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xc580
movq 0x20(%rsp), %rdx
cmpq (%r14), %rdx
jne 0xd426
movq 0x18(%rsp), %rbp
testq %rdx, %rdx
je 0xd430
movq -0x8(%r14), %rsi
movq %rbp, %rdi
callq 0xc570
testl %eax, %eax
sete %r15b
jmp 0xd433
movq 0x18(%rsp), %rbp
xorl %r15d, %r15d
jmp 0xd433
movb $0x1, %r15b
leaq 0x28(%rsp), %rax
cmpq %rax, %rbp
je 0xd44d
movq 0x28(%rsp), %rsi
incq %rsi
movq %rbp, %rdi
callq 0xc550
testb %r15b, %r15b
leaq 0x18(%rsp), %r15
je 0xd6a3
movq (%r14), %rdx
movq %r15, %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0xc580
movq %rbx, %rdi
movq %r15, %rsi
callq 0xc6a0
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xd497
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xc550
movl %r12d, %eax
leaq 0x3ab63(%rip), %rcx     # 0x48004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq 0x68(%rsp), %rdi
jmpq *%rax
movq 0x8(%rsp), %rdi
jmp 0xd67c
movq %rbx, %rdi
leaq 0x3b19f(%rip), %rsi     # 0x48662
callq 0xc1b0
movb $0x1, %cl
movq %rcx, 0x10(%rsp)
testl %eax, %eax
jne 0xd6a3
movq 0x8(%rsp), %rax
movb $0x1, 0x132(%rax)
jmp 0xd6a3
movq %rbx, %rdi
leaq 0x3b170(%rip), %rsi     # 0x48662
callq 0xc1b0
movb $0x1, %cl
movq %rcx, 0x10(%rsp)
testl %eax, %eax
jne 0xd6a3
movq 0x8(%rsp), %rax
movb $0x1, 0x131(%rax)
jmp 0xd6a3
movq (%rbx), %rdi
callq 0xc6d0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x120(%rax)
jmp 0xd69c
movq 0x48(%rsp), %rdi
jmp 0xd67c
movq (%rbx), %rdi
callq 0xc6d0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x128(%rax)
jmp 0xd69c
movq (%rbx), %rdi
callq 0xc6d0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x110(%rax)
jmp 0xd69c
movq 0x38(%rsp), %rdi
jmp 0xd67c
movq %rbx, %rdi
leaq 0x3b0df(%rip), %rsi     # 0x48662
callq 0xc1b0
movb $0x1, %cl
movq %rcx, 0x10(%rsp)
testl %eax, %eax
jne 0xd6a3
movq 0x8(%rsp), %rax
movb $0x1, 0x133(%rax)
jmp 0xd6a3
movq 0x40(%rsp), %rdi
jmp 0xd67c
movq (%rbx), %rdi
callq 0xc8c0
movq 0x8(%rsp), %rcx
movl %eax, 0x104(%rcx)
jmp 0xd69c
movq 0x50(%rsp), %rdi
jmp 0xd67c
movq %rbx, %rdi
leaq 0x3b080(%rip), %rsi     # 0x4865e
callq 0xc1b0
testl %eax, %eax
je 0xd68d
movq (%rbx), %rdi
callq 0xc8c0
movq 0x8(%rsp), %rcx
movl %eax, 0x108(%rcx)
jmp 0xd69c
movq %rbx, %rdi
leaq 0x3b055(%rip), %rsi     # 0x48662
callq 0xc1b0
movb $0x1, %cl
movq %rcx, 0x10(%rsp)
testl %eax, %eax
jne 0xd6a3
movq 0x8(%rsp), %rax
movb $0x1, 0x130(%rax)
jmp 0xd6a3
movq (%rbx), %rdi
callq 0xc8c0
movq 0x8(%rsp), %rcx
movl %eax, 0x10c(%rcx)
jmp 0xd69c
movq 0x58(%rsp), %rdi
jmp 0xd67c
movq (%rbx), %rdi
callq 0xc6d0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x118(%rax)
jmp 0xd69c
movq (%rbx), %rdi
callq 0xc8c0
movq 0x8(%rsp), %rcx
movl %eax, 0x100(%rcx)
jmp 0xd69c
movq 0x60(%rsp), %rdi
movb $0x1, %al
movq %rax, 0x10(%rsp)
movq %rbx, %rsi
callq 0xc2d0
jmp 0xd6a3
movq 0x8(%rsp), %rax
movl $0xffffffff, 0x108(%rax) # imm = 0xFFFFFFFF
movb $0x1, %al
movq %rax, 0x10(%rsp)
incq %r12
addq $0x20, %r14
cmpq $0x14, %r12
jne 0xd3e4
testb $0x1, 0x10(%rsp)
jne 0xd6cc
movq (%rbx), %rsi
leaq 0x3afa2(%rip), %rdi     # 0x48667
xorl %eax, %eax
callq 0xc060
movq $-0x280, %rbx           # imm = 0xFD80
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0xd6e8
movq (%r13), %rsi
incq %rsi
callq 0xc550
addq $-0x20, %r13
addq $0x20, %rbx
jne 0xd6d3
addq $0x2f8, %rsp            # imm = 0x2F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
jmp 0xd728
movq %rax, %rbx
addq $-0x10, %r12
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0xd745
movq (%r12), %rsi
incq %rsi
callq 0xc550
leaq -0x20(%r12), %rax
addq $-0x10, %r12
cmpq %r15, %r12
movq %rax, %r12
jne 0xd72f
jmp 0xd793
jmp 0xd75c
jmp 0xd75c
movq %rax, %rbx
leaq 0x2e0(%rsp), %r14
xorl %r15d, %r15d
movq 0x2d0(%rsp,%r15), %rdi
leaq (%r14,%r15), %rax
cmpq %rdi, %rax
je 0xd786
movq (%rax), %rsi
incq %rsi
callq 0xc550
addq $-0x20, %r15
cmpq $-0x280, %r15           # imm = 0xFD80
jne 0xd76a
movq %rbx, %rdi
callq 0xc9c0
nop