// File: /workspace/github_cpp_makefile_star2_O1/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 $0x318, %rsp            # imm = 0x318
movq %rdi, (%rsp)
leaq 0x90(%rsp), %r15
movl $0x2, %ecx
movq %r15, %rdi
movq %rsi, 0x10(%rsp)
xorl %edx, %edx
callq 0xd580
leaq 0x3b52c(%rip), %rsi     # 0x49540
movq %r15, %rdi
callq 0xd1b0
movl %eax, %ebp
movq (%r15), %rdi
leaq 0xa0(%rsp), %rbx
cmpq %rbx, %rdi
je 0xe03e
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0xd550
testl %ebp, %ebp
je 0xe6e7
leaq 0x90(%rsp), %r15
movq %rbx, (%r15)
leaq 0x3b4eb(%rip), %rsi     # 0x49543
leaq 0x3b4ee(%rip), %rdx     # 0x4954d
movq %r15, %rdi
callq 0x28dfa
leaq 0xb0(%rsp), %r12
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b4cc(%rip), %rsi     # 0x4954e
leaq 0x3b4cf(%rip), %rdx     # 0x49558
movq %r12, %rdi
callq 0x28dfa
movq 0x10(%rsp), %rbx
leaq 0xd0(%rsp), %r12
leaq 0xe0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b4a8(%rip), %rsi     # 0x49559
leaq 0x3b4a8(%rip), %rdx     # 0x49560
movq %r12, %rdi
callq 0x28dfa
leaq 0xf0(%rsp), %r12
leaq 0x100(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b486(%rip), %rsi     # 0x49561
leaq 0x3b486(%rip), %rdx     # 0x49568
movq %r12, %rdi
callq 0x28dfa
leaq 0x110(%rsp), %r12
leaq 0x120(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b464(%rip), %rsi     # 0x49569
leaq 0x3b46d(%rip), %rdx     # 0x49579
movq %r12, %rdi
callq 0x28dfa
leaq 0x130(%rsp), %r12
leaq 0x140(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b44b(%rip), %rsi     # 0x4957a
leaq 0x3b450(%rip), %rdx     # 0x49586
movq %r12, %rdi
callq 0x28dfa
leaq 0x150(%rsp), %r12
leaq 0x160(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b42e(%rip), %rsi     # 0x49587
leaq 0x3b433(%rip), %rdx     # 0x49593
movq %r12, %rdi
callq 0x28dfa
leaq 0x170(%rsp), %r12
leaq 0x180(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b411(%rip), %rsi     # 0x49594
leaq 0x3b410(%rip), %rdx     # 0x4959a
movq %r12, %rdi
callq 0x28dfa
leaq 0x190(%rsp), %r12
leaq 0x1a0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b3ee(%rip), %rsi     # 0x4959b
leaq 0x3b3f3(%rip), %rdx     # 0x495a7
movq %r12, %rdi
callq 0x28dfa
leaq 0x1b0(%rsp), %r12
leaq 0x1c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b3d1(%rip), %rsi     # 0x495a8
leaq 0x3b3d1(%rip), %rdx     # 0x495af
movq %r12, %rdi
callq 0x28dfa
leaq 0x1d0(%rsp), %r12
leaq 0x1e0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b3af(%rip), %rsi     # 0x495b0
leaq 0x3b3ae(%rip), %rdx     # 0x495b6
movq %r12, %rdi
callq 0x28dfa
leaq 0x1f0(%rsp), %r12
leaq 0x200(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b38c(%rip), %rsi     # 0x495b7
leaq 0x3b38c(%rip), %rdx     # 0x495be
movq %r12, %rdi
callq 0x28dfa
leaq 0x210(%rsp), %r12
leaq 0x220(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b36a(%rip), %rsi     # 0x495bf
leaq 0x3b36d(%rip), %rdx     # 0x495c9
movq %r12, %rdi
callq 0x28dfa
leaq 0x230(%rsp), %r12
leaq 0x240(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b34b(%rip), %rsi     # 0x495ca
leaq 0x3b354(%rip), %rdx     # 0x495da
movq %r12, %rdi
callq 0x28dfa
leaq 0x250(%rsp), %r12
leaq 0x260(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b332(%rip), %rsi     # 0x495db
leaq 0x3b33a(%rip), %rdx     # 0x495ea
movq %r12, %rdi
callq 0x28dfa
leaq 0x270(%rsp), %r12
leaq 0x280(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b318(%rip), %rsi     # 0x495eb
leaq 0x3b31b(%rip), %rdx     # 0x495f5
movq %r12, %rdi
callq 0x28dfa
leaq 0x290(%rsp), %r12
leaq 0x2a0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b2f9(%rip), %rsi     # 0x495f6
leaq 0x3b306(%rip), %rdx     # 0x4960a
movq %r12, %rdi
callq 0x28dfa
leaq 0x2b0(%rsp), %r12
leaq 0x2c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b2e4(%rip), %rsi     # 0x4960b
leaq 0x3b2e8(%rip), %rdx     # 0x49616
movq %r12, %rdi
callq 0x28dfa
leaq 0x2d0(%rsp), %r12
leaq 0x2e0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b2c6(%rip), %rsi     # 0x49617
leaq 0x3b2c9(%rip), %rdx     # 0x49621
movq %r12, %rdi
callq 0x28dfa
leaq 0x2f0(%rsp), %r12
leaq 0x300(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3b2a7(%rip), %rsi     # 0x49622
leaq 0x3b2ab(%rip), %rdx     # 0x4962d
movq %r12, %rdi
callq 0x28dfa
movq (%rsp), %rax
leaq 0xe0(%rax), %rcx
movq %rcx, 0x40(%rsp)
leaq 0xc0(%rax), %rcx
movq %rcx, 0x38(%rsp)
leaq 0xa0(%rax), %rcx
movq %rcx, 0x30(%rsp)
leaq 0x80(%rax), %rcx
movq %rcx, 0x28(%rsp)
leaq 0x60(%rax), %rcx
movq %rcx, 0x20(%rsp)
leaq 0x40(%rax), %rcx
movq %rcx, 0x18(%rsp)
addq $0x20, %rax
movq %rax, 0x48(%rsp)
leaq 0x98(%rsp), %r15
xorl %r14d, %r14d
leaq 0x70(%rsp), %rbp
movq $0x0, 0x8(%rsp)
movq 0x8(%rbx), %r12
movq (%r15), %r13
cmpq %r13, %r12
jbe 0xe438
leaq 0x50(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %r13, %rcx
callq 0xd580
movq 0x58(%rsp), %rdx
cmpq (%r15), %rdx
jne 0xe438
testq %rdx, %rdx
je 0xe4dc
movq -0x8(%r15), %rsi
movq 0x50(%rsp), %rdi
callq 0xd570
testl %eax, %eax
sete %bl
jmp 0xe43a
xorl %ebx, %ebx
cmpq %r13, %r12
jbe 0xe45b
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xe45b
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd550
testb %bl, %bl
movq 0x10(%rsp), %rbx
je 0xe67f
movq (%r15), %rdx
movq %rbp, %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0xd580
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xd6a0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xe4aa
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd550
movb $0x1, %al
movq %rax, 0x8(%rsp)
cmpl $0x13, %r14d
ja 0xe67f
movl %r14d, %eax
leaq 0x3ab3f(%rip), %rcx     # 0x49004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq 0x48(%rsp), %rdi
jmpq *%rax
movq (%rsp), %rdi
jmp 0xe677
movb $0x1, %bl
jmp 0xe43a
movq %rbx, %rdi
leaq 0x3b145(%rip), %rsi     # 0x49632
callq 0xd1b0
testl %eax, %eax
jne 0xe67f
movq (%rsp), %rax
movb $0x1, 0x132(%rax)
jmp 0xe67f
movq %rbx, %rdi
leaq 0x3b11e(%rip), %rsi     # 0x49632
callq 0xd1b0
testl %eax, %eax
jne 0xe67f
movq (%rsp), %rax
movb $0x1, 0x131(%rax)
jmp 0xe67f
movq (%rbx), %rdi
callq 0xd6d0
movq (%rsp), %rax
movsd %xmm0, 0x120(%rax)
jmp 0xe67f
movq 0x28(%rsp), %rdi
jmp 0xe677
movq (%rbx), %rdi
callq 0xd6d0
movq (%rsp), %rax
movsd %xmm0, 0x128(%rax)
jmp 0xe67f
movq (%rbx), %rdi
callq 0xd6d0
movq (%rsp), %rax
movsd %xmm0, 0x110(%rax)
jmp 0xe67f
movq 0x18(%rsp), %rdi
jmp 0xe677
movq %rbx, %rdi
leaq 0x3b098(%rip), %rsi     # 0x49632
callq 0xd1b0
testl %eax, %eax
jne 0xe67f
movq (%rsp), %rax
movb $0x1, 0x133(%rax)
jmp 0xe67f
movq 0x20(%rsp), %rdi
jmp 0xe677
movq (%rbx), %rdi
callq 0xd8c0
movq (%rsp), %rcx
movl %eax, 0x104(%rcx)
jmp 0xe67f
movq 0x30(%rsp), %rdi
jmp 0xe677
movq %rbx, %rdi
leaq 0x3b042(%rip), %rsi     # 0x4962e
callq 0xd1b0
testl %eax, %eax
je 0xe692
movq (%rbx), %rdi
callq 0xd8c0
movq (%rsp), %rcx
movl %eax, 0x108(%rcx)
jmp 0xe67f
movq %rbx, %rdi
leaq 0x3b01b(%rip), %rsi     # 0x49632
callq 0xd1b0
testl %eax, %eax
jne 0xe67f
movq (%rsp), %rax
movb $0x1, 0x130(%rax)
jmp 0xe67f
movq (%rbx), %rdi
callq 0xd8c0
movq (%rsp), %rcx
movl %eax, 0x10c(%rcx)
jmp 0xe67f
movq 0x38(%rsp), %rdi
jmp 0xe677
movq (%rbx), %rdi
callq 0xd6d0
movq (%rsp), %rax
movsd %xmm0, 0x118(%rax)
jmp 0xe67f
movq (%rbx), %rdi
callq 0xd8c0
movq (%rsp), %rcx
movl %eax, 0x100(%rcx)
jmp 0xe67f
movq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0xd2d0
incq %r14
addq $0x20, %r15
cmpq $0x14, %r14
jne 0xe3f2
jmp 0xe6a2
movq (%rsp), %rax
movl $0xffffffff, 0x108(%rax) # imm = 0xFFFFFFFF
jmp 0xe67f
testb $0x1, 0x8(%rsp)
jne 0xe6ba
movq (%rbx), %rsi
leaq 0x3af84(%rip), %rdi     # 0x49637
xorl %eax, %eax
callq 0xd060
movq $-0x280, %rbx           # imm = 0xFD80
leaq 0x300(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0xe6dd
movq (%r14), %rsi
incq %rsi
callq 0xd550
addq $-0x20, %r14
addq $0x20, %rbx
jne 0xe6c9
addq $0x318, %rsp            # imm = 0x318
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
jmp 0xe71d
movq %rax, %rbx
cmpq %r12, %r15
je 0xe79d
addq $-0x10, %r12
leaq 0x90(%rsp), %r14
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0xe747
movq (%r12), %rsi
incq %rsi
callq 0xd550
leaq -0x20(%r12), %rax
addq $-0x10, %r12
cmpq %r14, %r12
movq %rax, %r12
jne 0xe731
jmp 0xe79d
movq %rax, %rbx
movq %r15, %r12
jmp 0xe720
jmp 0xe766
jmp 0xe766
movq %rax, %rbx
xorl %r14d, %r14d
leaq 0x300(%rsp), %r15
movq 0x2f0(%rsp,%r14), %rdi
leaq (%r15,%r14), %rax
cmpq %rdi, %rax
je 0xe790
movq (%rax), %rsi
incq %rsi
callq 0xd550
addq $-0x20, %r14
cmpq $-0x280, %r14           # imm = 0xFD80
jne 0xe774
movq %rbx, %rdi
callq 0xd9c0
nop