// File: /workspace/github_c_makefile_star2_O0/fukunagatsu[P]RIblast/rna_interaction_search_parameters.cpp
// Function: RnaInteractionSearchParameters::SetParameters(int, char**)
void RnaInteractionSearchParameters::SetParameters(int argc, char* argv[]) {
  int c;
  extern char *optarg;
  while ((c = getopt(argc, argv, "i:o:d:l:e:y:x:f:g:s:m:")) != -1) {
    switch (c) {
    case 'i':
      _input_filename = optarg;
      break;

    case 'o':
      _output_filename = optarg;
      break;
      
    case 'd':
      _db_filename = optarg;
      break;

    case 'l':
      _max_seed_length = atoi(optarg);
      break;

    case 'e':
      _hybrid_energy_threshold = atof(optarg);
      break;
   
    case 'f':
      _interaction_energy_threshold = atof(optarg);
      break;

    case 'g':
      _final_threshold = atof(optarg);
      break;

    case 's':
      _output_style = atoi(optarg);
      break;

    case 'x':
      _drop_out_length_w_gap = atoi(optarg);
      break;

    case 'y':
      _drop_out_length_wo_gap = atoi(optarg);
      break;

    case 'm':
      _min_helix_length = atoi(optarg);
      break;

    default:
      cerr << "Error: The argument is invalid command." << endl;
      exit(1);
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movl -0xc(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq 0x108c7(%rip), %rdx     # 0x38cb0
callq 0x3080
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
je 0x28592
movl -0x1c(%rbp), %eax
addl $-0x64, %eax
movl %eax, %ecx
movq %rcx, -0x30(%rbp)
subl $0x15, %eax
ja 0x28561
movq -0x30(%rbp), %rax
leaq 0x1083e(%rip), %rcx     # 0x38c58
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x28(%rbp), %rdi
movq 0x23b82(%rip), %rax     # 0x4bfb0
movq (%rax), %rsi
addq $0x20, %rdi
callq 0x33c0
jmp 0x2858d
movq -0x28(%rbp), %rdi
movq 0x23b66(%rip), %rax     # 0x4bfb0
movq (%rax), %rsi
addq $0x40, %rdi
callq 0x33c0
jmp 0x2858d
movq -0x28(%rbp), %rdi
movq 0x23b4a(%rip), %rax     # 0x4bfb0
movq (%rax), %rsi
callq 0x33c0
jmp 0x2858d
movq 0x23b36(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3440
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x74(%rax)
jmp 0x2858d
movq 0x23b19(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3360
movq -0x28(%rbp), %rax
movsd %xmm0, 0x80(%rax)
jmp 0x2858d
movq 0x23af9(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3360
movq -0x28(%rbp), %rax
movsd %xmm0, 0x78(%rax)
jmp 0x2858d
movq 0x23adc(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3360
movq -0x28(%rbp), %rax
movsd %xmm0, 0x88(%rax)
jmp 0x2858d
movq 0x23abc(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3440
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x60(%rax)
jmp 0x2858d
movq 0x23a9f(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3440
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x94(%rax)
jmp 0x2858d
movq 0x23a82(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3440
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x90(%rax)
jmp 0x2858d
movq 0x23a65(%rip), %rax     # 0x4bfb0
movq (%rax), %rdi
callq 0x3440
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x98(%rax)
jmp 0x2858d
movq 0x23a88(%rip), %rdi     # 0x4bff0
leaq 0x10758(%rip), %rsi     # 0x38cc7
callq 0x3270
movq %rax, %rdi
movq 0x23a2a(%rip), %rsi     # 0x4bfa8
callq 0x32b0
movl $0x1, %edi
callq 0x3330
jmp 0x283db
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)