// File: /workspace/github_c_makefile_star2_O0/ComplexNetworks-DCC-FCUP[P]fase/DynamicGraph.cpp
// Function: DynamicGraph::_delete()
void DynamicGraph::_delete() {
  int i;

  if (_adjM != NULL) {
    for (i = 0; i < _num_nodes; i++)
      if (_adjM[i] != NULL)
        delete[] _adjM[i];
    delete[] _adjM;
  }
  
  if (_adjIn!=NULL) delete[] _adjIn;
  if (_adjOut!=NULL) delete[] _adjOut;
  if (_neighbours!=NULL) delete[] _neighbours;

  if (_hashM != NULL) {
    int j;
    for (i = 0; i < _num_nodes; i++) {
      if (_hash_out != NULL) {
        for (j = 0; j < _hash_out[i]; j++) {
          l_list* cur = _hashM[i][j], *prev;
          while (cur != NULL) {
            prev = cur;
            cur = cur->next;
            delete prev;
          }
        }
      }

      delete[] _hashM[i];
    }
    delete[] _hashM;
  }
    
  if (_in != NULL) delete[] _in;
  if (_out != NULL) delete[] _out;
  if (_hash_out != NULL) delete[] _hash_out;
  if (_num_neighbours != NULL) delete[] _num_neighbours;

  if (hybrid_ch != NULL) delete[] hybrid_ch;

  if (_array_neighbours != NULL) {
    for (i = 0; i < _num_nodes; i++)
      if (_array_neighbours[i] != NULL)
        delete[] _array_neighbours[i];
    delete[] _array_neighbours;
  }

  ready = false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, 0x48(%rax)
je 0xa423
movl $0x0, -0xc(%rbp)
movq -0x28(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0xa406
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0xa3f9
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0xa3f7
movq -0x30(%rbp), %rdi
callq 0x32f0
jmp 0xa3f9
jmp 0xa3fb
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xa3b5
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0xa421
movq -0x38(%rbp), %rdi
callq 0x32f0
jmp 0xa423
movq -0x28(%rbp), %rax
cmpq $0x0, 0x60(%rax)
je 0xa4a3
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0xa4a1
movq -0x40(%rbp), %rcx
movq %rcx, %rax
addq $-0x8, %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rcx), %rax
movq %rax, -0x50(%rbp)
imulq $0x18, %rax, %rdx
movq %rcx, %rax
addq %rdx, %rax
cmpq %rax, %rcx
movq %rax, -0x48(%rbp)
je 0xa48c
movq -0x48(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x60(%rbp)
callq 0xbe30
movq -0x40(%rbp), %rcx
movq -0x60(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x48(%rbp)
jne 0xa46a
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rax
imulq $0x18, %rax, %rsi
addq $0x8, %rsi
callq 0x33f0
jmp 0xa4a3
movq -0x28(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa529
movq -0x28(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0xa527
movq -0x68(%rbp), %rcx
movq %rcx, %rax
addq $-0x8, %rax
movq %rax, -0x80(%rbp)
movq -0x8(%rcx), %rax
movq %rax, -0x78(%rbp)
imulq $0x18, %rax, %rdx
movq %rcx, %rax
addq %rdx, %rax
cmpq %rax, %rcx
movq %rax, -0x70(%rbp)
je 0xa512
movq -0x70(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x88(%rbp)
callq 0xbe30
movq -0x68(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x70(%rbp)
jne 0xa4ea
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rax
imulq $0x18, %rax, %rsi
addq $0x8, %rsi
callq 0x33f0
jmp 0xa529
movq -0x28(%rbp), %rax
cmpq $0x0, 0x68(%rax)
je 0xa5d5
movq -0x28(%rbp), %rax
movq 0x68(%rax), %rax
movq %rax, -0x90(%rbp)
cmpq $0x0, %rax
je 0xa5d3
movq -0x90(%rbp), %rcx
movq %rcx, %rax
addq $-0x8, %rax
movq %rax, -0xa8(%rbp)
movq -0x8(%rcx), %rax
movq %rax, -0xa0(%rbp)
imulq $0x18, %rax, %rdx
movq %rcx, %rax
addq %rdx, %rax
cmpq %rax, %rcx
movq %rax, -0x98(%rbp)
je 0xa5b8
movq -0x98(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xb0(%rbp)
callq 0xbe30
movq -0x90(%rbp), %rcx
movq -0xb0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x98(%rbp)
jne 0xa587
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rax
imulq $0x18, %rax, %rsi
addq $0x8, %rsi
callq 0x33f0
jmp 0xa5d5
movq -0x28(%rbp), %rax
cmpq $0x0, 0x70(%rax)
je 0xa6eb
movl $0x0, -0xc(%rbp)
movq -0x28(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0xa6c8
movq -0x28(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0xa68f
movl $0x0, -0x10(%rbp)
movq -0x28(%rbp), %rcx
movl -0x10(%rbp), %eax
movq 0x30(%rcx), %rcx
movslq -0xc(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0xa68d
movq -0x28(%rbp), %rax
movq 0x70(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xa680
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xb8(%rbp)
cmpq $0x0, %rax
je 0xa67e
movq -0xb8(%rbp), %rdi
movl $0x10, %esi
callq 0x3220
jmp 0xa641
jmp 0xa682
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xa611
jmp 0xa68f
movq -0x28(%rbp), %rax
movq 0x70(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, %rax
je 0xa6b8
movq -0xc0(%rbp), %rdi
callq 0x32f0
jmp 0xa6ba
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xa5eb
movq -0x28(%rbp), %rax
movq 0x70(%rax), %rax
movq %rax, -0xc8(%rbp)
cmpq $0x0, %rax
je 0xa6e9
movq -0xc8(%rbp), %rdi
callq 0x32f0
jmp 0xa6eb
movq -0x28(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0xa719
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xd0(%rbp)
cmpq $0x0, %rax
je 0xa717
movq -0xd0(%rbp), %rdi
callq 0x32f0
jmp 0xa719
movq -0x28(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xa747
movq -0x28(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, %rax
je 0xa745
movq -0xd8(%rbp), %rdi
callq 0x32f0
jmp 0xa747
movq -0x28(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0xa775
movq -0x28(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0xe0(%rbp)
cmpq $0x0, %rax
je 0xa773
movq -0xe0(%rbp), %rdi
callq 0x32f0
jmp 0xa775
movq -0x28(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0xa7a3
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0xe8(%rbp)
cmpq $0x0, %rax
je 0xa7a1
movq -0xe8(%rbp), %rdi
callq 0x32f0
jmp 0xa7a3
movq -0x28(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0xa7d1
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0xf0(%rbp)
cmpq $0x0, %rax
je 0xa7cf
movq -0xf0(%rbp), %rdi
callq 0x32f0
jmp 0xa7d1
movq -0x28(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0xa861
movl $0x0, -0xc(%rbp)
movq -0x28(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0xa83e
movq -0x28(%rbp), %rax
movq 0x50(%rax), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0xa831
movq -0x28(%rbp), %rax
movq 0x50(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xf8(%rbp)
cmpq $0x0, %rax
je 0xa82f
movq -0xf8(%rbp), %rdi
callq 0x32f0
jmp 0xa831
jmp 0xa833
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xa7e7
movq -0x28(%rbp), %rax
movq 0x50(%rax), %rax
movq %rax, -0x100(%rbp)
cmpq $0x0, %rax
je 0xa85f
movq -0x100(%rbp), %rdi
callq 0x32f0
jmp 0xa861
movq -0x28(%rbp), %rax
movb $0x0, 0x78(%rax)
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopw %cs:(%rax,%rax)