// File: atfrank[P]PCASA/lib/Analyze.cpp
// Function: AnalyzePairwiseDistance::runAnalysis()
void AnalyzePairwiseDistance::runAnalysis(){
//  std::map<std::pair<Atom*, Atom*>, double> pdist;
  std::vector<std::vector<double> > pdist;
  Atom* ai;
  Atom* aj;
  
  this->getMol(0)->assignAtmInx();
  Analyze::pairwiseDistance(this->getMol(0), pdist);

  for (unsigned int i=0; i< this->getMol(0)->getAtmVecSize(); i++){
    ai=this->getMol(0)->getAtom(i);
    for (unsigned int j=i+1; j< this->getMol(0)->getAtmVecSize(); j++){
      aj=this->getMol(0)->getAtom(j);
//      std::cout << "  " << ai->getSummary() << "-" << aj->getSummary();
      std::cout << std::fixed;
      std::cout << std::setw(9) << std::right << std::setprecision(3) << pdist.at(ai->getAtmInx()).at(aj->getAtmInx());
    }
  }
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq %rdi, 0x100(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0x90(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x16950
movq 0x90(%rsp), %rdi
movl $0x0, 0xd4(%rsp)
leaq 0xd4(%rsp), %rsi
callq 0xece0
movq %rax, 0x98(%rsp)
jmp 0x10016
movq 0x98(%rsp), %rdi
callq 0x46c70
jmp 0x10025
movq 0x90(%rsp), %rdi
movl $0x0, 0xc0(%rsp)
leaq 0xc0(%rsp), %rsi
callq 0xece0
movq %rax, 0x88(%rsp)
jmp 0x1004f
movq 0x88(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x10350
jmp 0x10066
movl $0x0, 0xbc(%rsp)
movq 0x90(%rsp), %rdi
movl 0xbc(%rsp), %eax
movl %eax, 0x7c(%rsp)
movl $0x0, 0xb8(%rsp)
leaq 0xb8(%rsp), %rsi
callq 0xece0
movq %rax, 0x80(%rsp)
jmp 0x100a6
movq 0x80(%rsp), %rdi
callq 0x436b0
movl %eax, 0x78(%rsp)
jmp 0x100b9
movl 0x7c(%rsp), %eax
movl 0x78(%rsp), %ecx
cmpl %ecx, %eax
jae 0x10320
movq 0x90(%rsp), %rdi
movl $0x0, 0xb4(%rsp)
leaq 0xb4(%rsp), %rsi
callq 0xece0
movq %rax, 0x70(%rsp)
jmp 0x100f0
movq 0x70(%rsp), %rdi
leaq 0xbc(%rsp), %rsi
callq 0x43580
movq %rax, 0x68(%rsp)
jmp 0x10109
movq 0x68(%rsp), %rax
movq %rax, 0xe0(%rsp)
movl 0xbc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb0(%rsp)
movq 0x90(%rsp), %rdi
movl 0xb0(%rsp), %eax
movl %eax, 0x5c(%rsp)
movl $0x0, 0xac(%rsp)
leaq 0xac(%rsp), %rsi
callq 0xece0
movq %rax, 0x60(%rsp)
jmp 0x10159
movq 0x60(%rsp), %rdi
callq 0x436b0
movl %eax, 0x58(%rsp)
jmp 0x10169
movl 0x5c(%rsp), %eax
movl 0x58(%rsp), %ecx
cmpl %ecx, %eax
jae 0x10308
movq 0x90(%rsp), %rdi
movl $0x0, 0xa8(%rsp)
leaq 0xa8(%rsp), %rsi
callq 0xece0
movq %rax, 0x50(%rsp)
jmp 0x101a0
movq 0x50(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x43580
movq %rax, 0x48(%rsp)
jmp 0x101b9
movq 0x48(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0x42adeb(%rip), %rdi    # 0x43afb8
leaq 0x6ccc(%rip), %rsi      # 0x16ea0
callq 0x5160
jmp 0x101db
movl $0x9, %edi
callq 0x16ec0
movl %eax, 0x44(%rsp)
jmp 0x101eb
movl 0x44(%rsp), %eax
movl %eax, 0xa4(%rsp)
movl 0xa4(%rsp), %esi
movq 0x42adb4(%rip), %rdi    # 0x43afb8
callq 0x54e0
movq %rax, 0x38(%rsp)
jmp 0x10210
movq 0x38(%rsp), %rdi
leaq 0x6cc4(%rip), %rsi      # 0x16ee0
callq 0x5160
movq %rax, 0x30(%rsp)
jmp 0x10228
movl $0x3, %edi
callq 0x16f00
movl %eax, 0x2c(%rsp)
jmp 0x10238
movq 0x30(%rsp), %rdi
movl 0x2c(%rsp), %eax
movl %eax, 0xa0(%rsp)
movl 0xa0(%rsp), %esi
callq 0x5660
movq %rax, 0x20(%rsp)
jmp 0x1025b
movq 0xe0(%rsp), %rdi
callq 0x1f820
movq %rax, 0x18(%rsp)
jmp 0x1026f
movq 0x18(%rsp), %rax
movl (%rax), %eax
movl %eax, %esi
leaq 0xe8(%rsp), %rdi
callq 0x16f50
movq %rax, 0x10(%rsp)
jmp 0x1028c
movq 0xd8(%rsp), %rdi
callq 0x1f820
movq %rax, 0x8(%rsp)
jmp 0x102a0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movl (%rax), %eax
movl %eax, %esi
callq 0x16f90
movq %rax, (%rsp)
jmp 0x102b9
movq 0x20(%rsp), %rdi
movq (%rsp), %rax
movsd (%rax), %xmm0
callq 0x5780
jmp 0x102cd
jmp 0x102cf
movl 0xb0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb0(%rsp)
jmp 0x10127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x169c0
jmp 0x10335
jmp 0x1030a
movl 0xbc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xbc(%rsp)
jmp 0x10071
leaq 0xe8(%rsp), %rdi
callq 0x169c0
addq $0x108, %rsp            # imm = 0x108
retq
movq 0xc8(%rsp), %rdi
callq 0x5720
nopw %cs:(%rax,%rax)