// File: /workspace/github_cpp_makefile_star2_O2/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 $0x308, %rsp            # imm = 0x308
movq %rsi, %r14
movq %rdi, 0x8(%rsp)
leaq 0x80(%rsp), %rbx
pushq $0x2
popq %rcx
movq %rbx, %rdi
xorl %edx, %edx
callq 0xe5b0
leaq 0x31833(%rip), %rsi     # 0x40554
movq %rbx, %rdi
callq 0x18661
movl %eax, %ebp
movq %rbx, %rdi
callq 0xe290
testb %bpl, %bpl
jne 0xf25e
leaq 0x31814(%rip), %rsi     # 0x40557
leaq 0x80(%rsp), %rbx
leaq 0x60(%rsp), %rdx
movq %rbx, %rdi
callq 0x1866e
leaq 0xa0(%rsp), %r12
leaq 0x317fb(%rip), %rsi     # 0x40562
leaq 0x27(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0xc0(%rsp), %r12
leaq 0x317ea(%rip), %rsi     # 0x4056d
leaq 0x26(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0xe0(%rsp), %r12
leaq 0x317d6(%rip), %rsi     # 0x40575
leaq 0x25(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x100(%rsp), %r12
leaq 0x317c2(%rip), %rsi     # 0x4057d
leaq 0x24(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x120(%rsp), %r12
leaq 0x317b7(%rip), %rsi     # 0x4058e
leaq 0x23(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x140(%rsp), %r12
leaq 0x317a8(%rip), %rsi     # 0x4059b
leaq 0x22(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x160(%rsp), %r12
leaq 0x31799(%rip), %rsi     # 0x405a8
leaq 0x21(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x180(%rsp), %r12
leaq 0x31784(%rip), %rsi     # 0x405af
leaq 0x20(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x1a0(%rsp), %r12
leaq 0x31775(%rip), %rsi     # 0x405bc
leaq 0x1f(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x1c0(%rsp), %r12
leaq 0x31761(%rip), %rsi     # 0x405c4
leaq 0x1e(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x1e0(%rsp), %r12
leaq 0x3174c(%rip), %rsi     # 0x405cb
leaq 0x1d(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x200(%rsp), %r12
leaq 0x31738(%rip), %rsi     # 0x405d3
leaq 0x1c(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x220(%rsp), %r12
leaq 0x31727(%rip), %rsi     # 0x405de
leaq 0x1b(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x240(%rsp), %r12
leaq 0x3171c(%rip), %rsi     # 0x405ef
leaq 0x1a(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x260(%rsp), %r12
leaq 0x31710(%rip), %rsi     # 0x405ff
leaq 0x19(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x280(%rsp), %r12
leaq 0x316ff(%rip), %rsi     # 0x4060a
leaq 0x18(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x2a0(%rsp), %r12
leaq 0x316f8(%rip), %rsi     # 0x4061f
leaq 0x17(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x2c0(%rsp), %r12
leaq 0x316e8(%rip), %rsi     # 0x4062b
leaq 0x16(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
leaq 0x2e0(%rsp), %r12
leaq 0x316d7(%rip), %rsi     # 0x40636
leaq 0x15(%rsp), %rdx
movq %r12, %rdi
callq 0x1866e
movq 0x8(%rsp), %rax
leaq 0xe0(%rax), %rcx
movq %rcx, 0x50(%rsp)
leaq 0xc0(%rax), %rcx
movq %rcx, 0x48(%rsp)
leaq 0xa0(%rax), %rcx
movq %rcx, 0x40(%rsp)
leaq 0x80(%rax), %rcx
movq %rcx, 0x38(%rsp)
leaq 0x60(%rax), %rcx
movq %rcx, 0x30(%rsp)
leaq 0x40(%rax), %rcx
movq %rcx, 0x28(%rsp)
addq $0x20, %rax
movq %rax, 0x58(%rsp)
xorl %r15d, %r15d
leaq 0x60(%rsp), %r12
xorl %r13d, %r13d
cmpq $0x14, %r15
je 0xf228
movq 0x8(%rbx), %rcx
cmpq %rcx, 0x8(%r14)
jbe 0xf21c
movq %r12, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0xe5b0
movq %r12, %rdi
movq %rbx, %rsi
callq 0x186a9
movl %eax, %ebp
movq %r12, %rdi
callq 0xe290
testb %bpl, %bpl
je 0xf21c
movq 0x8(%rbx), %rdx
movq %r12, %rdi
movq %r14, %rsi
pushq $-0x1
popq %rcx
callq 0xe5b0
movq %r14, %rdi
movq %r12, %rsi
callq 0xe6b0
movq %r12, %rdi
callq 0xe290
movl %r15d, %eax
leaq 0x30fcb(%rip), %rcx     # 0x40004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq 0x58(%rsp), %rdi
jmpq *%rax
movq 0x8(%rsp), %rdi
jmp 0xf1f9
movq %r14, %rdi
leaq 0x315eb(%rip), %rsi     # 0x40646
callq 0x18661
movb $0x1, %r13b
testb %al, %al
je 0xf21c
movq 0x8(%rsp), %rax
movb $0x1, 0x132(%rax)
jmp 0xf21c
movq %r14, %rdi
leaq 0x315c0(%rip), %rsi     # 0x40646
callq 0x18661
movb $0x1, %r13b
testb %al, %al
je 0xf21c
movq 0x8(%rsp), %rax
movb $0x1, 0x131(%rax)
jmp 0xf21c
movq (%r14), %rdi
callq 0xe6e0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x120(%rax)
jmp 0xf219
movq 0x38(%rsp), %rdi
jmp 0xf1f9
movq (%r14), %rdi
callq 0xe6e0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x128(%rax)
jmp 0xf219
movq (%r14), %rdi
callq 0xe6e0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x110(%rax)
jmp 0xf219
movq 0x28(%rsp), %rdi
jmp 0xf1f9
movq %r14, %rdi
leaq 0x31533(%rip), %rsi     # 0x40646
callq 0x18661
movb $0x1, %r13b
testb %al, %al
je 0xf21c
movq 0x8(%rsp), %rax
movb $0x1, 0x133(%rax)
jmp 0xf21c
movq 0x30(%rsp), %rdi
jmp 0xf1f9
movq (%r14), %rdi
callq 0xe8e0
movq 0x8(%rsp), %rcx
movl %eax, 0x104(%rcx)
jmp 0xf219
movq 0x40(%rsp), %rdi
jmp 0xf1f9
movq %r14, %rdi
leaq 0x314d8(%rip), %rsi     # 0x40642
callq 0x18661
testb %al, %al
je 0xf206
movq 0x8(%rsp), %rax
orl $-0x1, 0x108(%rax)
jmp 0xf219
movq %r14, %rdi
leaq 0x314b4(%rip), %rsi     # 0x40646
callq 0x18661
movb $0x1, %r13b
testb %al, %al
je 0xf21c
movq 0x8(%rsp), %rax
movb $0x1, 0x130(%rax)
jmp 0xf21c
movq (%r14), %rdi
callq 0xe8e0
movq 0x8(%rsp), %rcx
movl %eax, 0x10c(%rcx)
jmp 0xf219
movq 0x48(%rsp), %rdi
jmp 0xf1f9
movq (%r14), %rdi
callq 0xe6e0
movq 0x8(%rsp), %rax
movsd %xmm0, 0x118(%rax)
jmp 0xf219
movq (%r14), %rdi
callq 0xe8e0
movq 0x8(%rsp), %rcx
movl %eax, 0x100(%rcx)
jmp 0xf219
movq 0x50(%rsp), %rdi
movb $0x1, %r13b
movq %r14, %rsi
callq 0xe300
jmp 0xf21c
movq (%r14), %rdi
callq 0xe8e0
movq 0x8(%rsp), %rcx
movl %eax, 0x108(%rcx)
movb $0x1, %r13b
incq %r15
addq $0x20, %rbx
jmp 0xefc7
testb $0x1, %r13b
jne 0xf23f
movq (%r14), %rsi
leaq 0x31413(%rip), %rdi     # 0x4064b
xorl %eax, %eax
callq 0xe060
movl $0x260, %ebx            # imm = 0x260
leaq (%rsp,%rbx), %rdi
addq $0x80, %rdi
callq 0xe290
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xf244
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
jmp 0xf294
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0xe290
cmpq %rbx, %r12
jne 0xf297
jmp 0xf2d0
jmp 0xf2ae
jmp 0xf2ae
movq %rax, %r14
movl $0x260, %ebx            # imm = 0x260
leaq (%rsp,%rbx), %rdi
addq $0x80, %rdi
callq 0xe290
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xf2b6
movq %r14, %rdi
callq 0xe9f0