// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/core/csvline_reader.c
// Function: gt_csvline_reader_dist_only_for_column
void gt_csvline_reader_dist_only_for_column(GtCsvlineReader *csvline_reader,
                                            GtUword colnum)
{
  GtUword idx, write_idx,
          numofcols = gt_csvline_reader_column_number(csvline_reader);

  gt_assert(numofcols > 0 && colnum < numofcols &&
            csvline_reader->dist.charcount[(int) csvline_reader->separator]
            == numofcols - 1);
  csvline_reader->dist.charcount[(int) csvline_reader->separator] = 0;
  gt_assert(csvline_reader->dist.charcount[(int) '\0'] == 1);
  csvline_reader->dist.charcount[(int) '\0'] = 0;
  for (idx = 0; idx < numofcols; idx++)
  {
    if (idx != colnum)
    {
      GtCsvcolumn col = gt_csvline_reader_column(csvline_reader,idx);
      GtUword j;

      for (j = 0; j < col.width; j++)
      {
        char currentcc = col.content[j];
        gt_assert(csvline_reader->dist.charcount[(int) currentcc] > 0);
        csvline_reader->dist.charcount[(int) currentcc]--;
      }
    }
  }
  for (idx = 0, write_idx = 0;
       idx < csvline_reader->dist.alphabet.nextfreechar; idx++)
  {
    char currentcc = csvline_reader->dist.alphabet.spacechar[idx];
    if (csvline_reader->dist.charcount[(int) currentcc] > 0)
    {
      if (write_idx < idx)
      {
        csvline_reader->dist.alphabet.spacechar[write_idx] = currentcc;
      }
      write_idx++;
    }
  }
  csvline_reader->dist.alphabet.nextfreechar = write_idx;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
cmpb $0x0, 0x50(%rdi)
jne 0xbe912
movq %rsi, %r14
movq %rdi, %rbx
movq 0x28(%rdi), %rcx
leaq 0x1(%rcx), %r12
cmpq %rsi, %r12
jbe 0xbe912
movq 0x48(%rbx), %rax
movsbq 0x51(%rbx), %rdx
cmpq %rcx, (%rax,%rdx,8)
jne 0xbe912
andq $0x0, (%rax,%rdx,8)
cmpq $0x1, (%rax)
jne 0xbe940
andq $0x0, (%rax)
xorl %r15d, %r15d
cmpq %r12, %r15
je 0xbe89b
cmpq %r14, %r15
jne 0xbe86b
incq %r15
jmp 0xbe85c
movq %rbx, %rdi
movq %r15, %rsi
callq 0xbe686
xorl %ecx, %ecx
cmpq %rcx, %rdx
je 0xbe866
movsbq (%rax,%rcx), %rsi
movq 0x48(%rbx), %rdi
movq (%rdi,%rsi,8), %r8
testq %r8, %r8
je 0xbe8da
decq %r8
movq %r8, (%rdi,%rsi,8)
incq %rcx
jmp 0xbe878
xorl %eax, %eax
xorl %ecx, %ecx
cmpq 0x40(%rbx), %rcx
jae 0xbe8ca
movq 0x30(%rbx), %rdx
movq 0x48(%rbx), %rdi
movsbq (%rdx,%rcx), %rsi
cmpq $0x0, (%rdi,%rsi,8)
je 0xbe8c5
cmpq %rcx, %rax
jae 0xbe8c2
movb %sil, (%rdx,%rax)
incq %rax
incq %rcx
jmp 0xbe89f
movq %rax, 0x40(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x34c6cf(%rip), %rax    # 0x40afb0
movq (%rax), %rdi
leaq 0x21ff05(%rip), %rsi    # 0x2de7f0
leaq 0x2265aa(%rip), %rdx    # 0x2e4e9c
leaq 0x22654c(%rip), %rcx    # 0x2e4e45
leaq 0x226305(%rip), %r8     # 0x2e4c05
movl $0xe0, %r9d
xorl %eax, %eax
callq 0x32960
callq 0x2e820
movq 0x34c697(%rip), %rax    # 0x40afb0
movq (%rax), %rdi
leaq 0x21fecd(%rip), %rsi    # 0x2de7f0
leaq 0x2264a3(%rip), %rdx    # 0x2e4dcd
leaq 0x226514(%rip), %rcx    # 0x2e4e45
leaq 0x2262cd(%rip), %r8     # 0x2e4c05
movl $0xd2, %r9d
jmp 0xbe906
movq 0x34c669(%rip), %rax    # 0x40afb0
movq (%rax), %rdi
leaq 0x21fe9f(%rip), %rsi    # 0x2de7f0
leaq 0x226514(%rip), %rdx    # 0x2e4e6c
leaq 0x2264e6(%rip), %rcx    # 0x2e4e45
leaq 0x22629f(%rip), %r8     # 0x2e4c05
movl $0xd4, %r9d
jmp 0xbe906