// File: npaster[P]gmsh_tools/gmshData.cpp
// Function: gmsh::NodeData::writeNodeData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const
void
NodeData::writeNodeData(const std::string name_mesh) const
{
   std::ofstream mesh_file;
   mesh_file.open(name_mesh, std::ofstream::out | std::ofstream::app);
   if (!mesh_file.is_open()) {
      std::cout << "Unable to open file " << name_mesh << std::endl;
      abort();
   } else {
      std::cout << "------------------------" << std::endl;
      std::cout << "Writing Results " << name_mesh << std::endl;
      std::cout << "MSH ASCII file format" << std::endl;
      std::cout << "------------------------" << std::endl;
   }

   mesh_file << "$NodeData" << std::endl;
   mesh_file << 1 << std::endl; // string tag

   mesh_file << "\" " << m_title << "\" " << std::endl; // name of the view
   mesh_file << 1 << std::endl;                         // real tag
   mesh_file << m_time_value << std::endl;              // time value
   mesh_file << 3 << std::endl;                         // integer tag
   mesh_file << 0 << std::endl;                         // time Step

   mesh_file << m_composante << std::endl;
   mesh_file << m_datas.size() + m_subdatas.size() << std::endl;

   for (size_t i = 0; i < m_datas.size(); i++) {
      mesh_file << m_datas[i].getIndex() << " ";

      std::vector<double> tmpresu(m_datas[i].getData());
      for (size_t j = 0; j < std::min(m_composante, tmpresu.size()); j++) {
         mesh_file << tmpresu[j] << " ";
      }
      for (size_t j = std::min(m_composante, tmpresu.size()); j < m_composante; j++) {
         mesh_file << 0.0 << " ";
      }

      mesh_file << std::endl;
   }

   for (size_t i = 0; i < m_subdatas.size(); i++) {
      mesh_file << m_subdatas[i].getIndex() << " ";

      std::vector<double> tmpresu(m_subdatas[i].getData());
      for (size_t j = 0; j < std::min(m_composante, tmpresu.size()); j++) {
         mesh_file << tmpresu[j] << " ";
      }
      for (size_t j = std::min(m_composante, tmpresu.size()); j < m_composante; j++) {
         mesh_file << 0.0 << " ";
      }

      mesh_file << std::endl;
   }

   mesh_file << "$EndNodeData" << std::endl;
   mesh_file.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3d0, %rsp            # imm = 0x3D0
movq %rsi, -0x2b8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2b0(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x22c0
movl $0x10, %edi
movl $0x1, %esi
callq 0x1be30
movl %eax, -0x2a4(%rbp)
jmp 0x19b48
movl -0x2a4(%rbp), %edx
movq -0x2b8(%rbp), %rsi
leaq -0x210(%rbp), %rdi
callq 0x20e0
jmp 0x19b63
leaq -0x210(%rbp), %rdi
callq 0x2140
movb %al, -0x2b9(%rbp)
jmp 0x19b77
movb -0x2b9(%rbp), %al
testb $0x1, %al
jne 0x19bec
jmp 0x19b83
movq 0x1744e(%rip), %rdi     # 0x30fd8
leaq 0x7c51(%rip), %rsi      # 0x217e2
callq 0x21b0
movq %rax, -0x2c8(%rbp)
jmp 0x19b9f
movq -0x2b8(%rbp), %rsi
movq -0x2c8(%rbp), %rdi
callq 0x2190
movq %rax, -0x2d0(%rbp)
jmp 0x19bbb
movq -0x2d0(%rbp), %rdi
movq 0x173ff(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19bd0
callq 0x2110
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
jmp 0x1a3ea
movq 0x173e5(%rip), %rdi     # 0x30fd8
leaq 0x7471(%rip), %rsi      # 0x2106b
callq 0x21b0
movq %rax, -0x2d8(%rbp)
jmp 0x19c08
movq -0x2d8(%rbp), %rdi
movq 0x173b2(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19c1d
movq 0x173b4(%rip), %rdi     # 0x30fd8
leaq 0x82e8(%rip), %rsi      # 0x21f13
callq 0x21b0
movq %rax, -0x2e0(%rbp)
jmp 0x19c39
movq -0x2b8(%rbp), %rsi
movq -0x2e0(%rbp), %rdi
callq 0x2190
movq %rax, -0x2e8(%rbp)
jmp 0x19c55
movq -0x2e8(%rbp), %rdi
movq 0x17365(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19c6a
movq 0x17367(%rip), %rdi     # 0x30fd8
leaq 0x7faf(%rip), %rsi      # 0x21c27
callq 0x21b0
movq %rax, -0x2f0(%rbp)
jmp 0x19c86
movq -0x2f0(%rbp), %rdi
movq 0x17334(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19c9b
movq 0x17336(%rip), %rdi     # 0x30fd8
leaq 0x73c2(%rip), %rsi      # 0x2106b
callq 0x21b0
movq %rax, -0x2f8(%rbp)
jmp 0x19cb7
movq -0x2f8(%rbp), %rdi
movq 0x17303(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19ccc
jmp 0x19cce
leaq 0x824f(%rip), %rsi      # 0x21f24
leaq -0x210(%rbp), %rdi
callq 0x21b0
movq %rax, -0x300(%rbp)
jmp 0x19cea
movq -0x300(%rbp), %rdi
movq 0x172d0(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19cff
leaq -0x210(%rbp), %rdi
movl $0x1, %esi
callq 0x22d0
movq %rax, -0x308(%rbp)
jmp 0x19d19
movq -0x308(%rbp), %rdi
movq 0x172a1(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19d2e
leaq 0x81db(%rip), %rsi      # 0x21f10
leaq -0x210(%rbp), %rdi
callq 0x21b0
movq %rax, -0x310(%rbp)
jmp 0x19d4a
movq -0x310(%rbp), %rdi
movq -0x2b0(%rbp), %rsi
addq $0x10, %rsi
callq 0x2190
movq %rax, -0x318(%rbp)
jmp 0x19d6a
movq -0x318(%rbp), %rdi
leaq 0x8198(%rip), %rsi      # 0x21f10
callq 0x21b0
movq %rax, -0x320(%rbp)
jmp 0x19d86
movq -0x320(%rbp), %rdi
movq 0x17234(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19d9b
leaq -0x210(%rbp), %rdi
movl $0x1, %esi
callq 0x22d0
movq %rax, -0x328(%rbp)
jmp 0x19db5
movq -0x328(%rbp), %rdi
movq 0x17205(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19dca
movq -0x2b0(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq -0x210(%rbp), %rdi
callq 0x2320
movq %rax, -0x330(%rbp)
jmp 0x19deb
movq -0x330(%rbp), %rdi
movq 0x171cf(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19e00
leaq -0x210(%rbp), %rdi
movl $0x3, %esi
callq 0x22d0
movq %rax, -0x338(%rbp)
jmp 0x19e1a
movq -0x338(%rbp), %rdi
movq 0x171a0(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19e2f
leaq -0x210(%rbp), %rdi
xorl %esi, %esi
callq 0x22d0
movq %rax, -0x340(%rbp)
jmp 0x19e46
movq -0x340(%rbp), %rdi
movq 0x17174(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19e5b
movq -0x2b0(%rbp), %rax
movq (%rax), %rsi
leaq -0x210(%rbp), %rdi
callq 0x2060
movq %rax, -0x348(%rbp)
jmp 0x19e7a
movq -0x348(%rbp), %rdi
movq 0x17140(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19e8f
movq -0x2b0(%rbp), %rdi
addq $0x30, %rdi
callq 0x1be50
movq -0x2b0(%rbp), %rdi
movq %rax, -0x358(%rbp)
addq $0x48, %rdi
callq 0x1be70
movq -0x358(%rbp), %rsi
addq %rax, %rsi
leaq -0x210(%rbp), %rdi
callq 0x2060
movq %rax, -0x350(%rbp)
jmp 0x19ed5
movq -0x350(%rbp), %rdi
movq 0x170e5(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x19eea
movq $0x0, -0x228(%rbp)
movq -0x2b0(%rbp), %rdi
movq -0x228(%rbp), %rax
movq %rax, -0x360(%rbp)
addq $0x30, %rdi
callq 0x1be50
movq %rax, %rcx
movq -0x360(%rbp), %rax
cmpq %rcx, %rax
jae 0x1a140
movq -0x2b0(%rbp), %rdi
addq $0x30, %rdi
movq -0x228(%rbp), %rsi
callq 0x1bea0
movq %rax, %rdi
callq 0x192b0
movq %rax, %rsi
leaq -0x210(%rbp), %rdi
callq 0x2060
movq %rax, -0x368(%rbp)
jmp 0x19f5d
movq -0x368(%rbp), %rdi
leaq 0x7f93(%rip), %rsi      # 0x21efe
callq 0x21b0
jmp 0x19f72
movq -0x2b0(%rbp), %rdi
addq $0x30, %rdi
movq -0x228(%rbp), %rsi
callq 0x1bea0
movq %rax, %rsi
leaq -0x240(%rbp), %rdi
callq 0x19280
jmp 0x19f9a
movq $0x0, -0x248(%rbp)
movq -0x248(%rbp), %rax
movq %rax, -0x378(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x1b7f0
movq -0x2b0(%rbp), %rdi
movq %rax, -0x250(%rbp)
leaq -0x250(%rbp), %rsi
callq 0x4880
movq %rax, -0x370(%rbp)
jmp 0x19fe2
movq -0x378(%rbp), %rax
movq -0x370(%rbp), %rcx
cmpq (%rcx), %rax
jae 0x1a072
movq -0x248(%rbp), %rsi
leaq -0x240(%rbp), %rdi
callq 0x1bec0
movsd (%rax), %xmm0
leaq -0x210(%rbp), %rdi
callq 0x2320
movq %rax, -0x380(%rbp)
jmp 0x1a021
movq -0x380(%rbp), %rdi
leaq 0x7ecf(%rip), %rsi      # 0x21efe
callq 0x21b0
jmp 0x1a036
jmp 0x1a038
movq -0x248(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x248(%rbp)
jmp 0x19fa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x1ba60
jmp 0x1a3ea
leaq -0x240(%rbp), %rdi
callq 0x1b7f0
movq -0x2b0(%rbp), %rdi
movq %rax, -0x260(%rbp)
leaq -0x260(%rbp), %rsi
callq 0x4880
movq %rax, -0x388(%rbp)
jmp 0x1a0a1
movq -0x388(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x258(%rbp)
movq -0x2b0(%rbp), %rcx
movq -0x258(%rbp), %rax
cmpq (%rcx), %rax
jae 0x1a108
leaq -0x210(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x2320
movq %rax, -0x390(%rbp)
jmp 0x1a0dd
movq -0x390(%rbp), %rdi
leaq 0x7e13(%rip), %rsi      # 0x21efe
callq 0x21b0
jmp 0x1a0f2
jmp 0x1a0f4
movq -0x258(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x258(%rbp)
jmp 0x1a0b2
movq 0x16eb9(%rip), %rsi     # 0x30fc8
leaq -0x210(%rbp), %rdi
callq 0x21e0
jmp 0x1a11d
leaq -0x240(%rbp), %rdi
callq 0x1ba60
movq -0x228(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x228(%rbp)
jmp 0x19ef5
movq $0x0, -0x268(%rbp)
movq -0x2b0(%rbp), %rdi
movq -0x268(%rbp), %rax
movq %rax, -0x398(%rbp)
addq $0x48, %rdi
callq 0x1be70
movq %rax, %rcx
movq -0x398(%rbp), %rax
cmpq %rcx, %rax
jae 0x1a396
movq -0x2b0(%rbp), %rdi
addq $0x48, %rdi
movq -0x268(%rbp), %rsi
callq 0x1bee0
movq %rax, %rdi
callq 0x192b0
movq %rax, %rsi
leaq -0x210(%rbp), %rdi
callq 0x2060
movq %rax, -0x3a0(%rbp)
jmp 0x1a1b3
movq -0x3a0(%rbp), %rdi
leaq 0x7d3d(%rip), %rsi      # 0x21efe
callq 0x21b0
jmp 0x1a1c8
movq -0x2b0(%rbp), %rdi
addq $0x48, %rdi
movq -0x268(%rbp), %rsi
callq 0x1bee0
movq %rax, %rsi
leaq -0x280(%rbp), %rdi
callq 0x19280
jmp 0x1a1f0
movq $0x0, -0x288(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x3b0(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x1b7f0
movq -0x2b0(%rbp), %rdi
movq %rax, -0x290(%rbp)
leaq -0x290(%rbp), %rsi
callq 0x4880
movq %rax, -0x3a8(%rbp)
jmp 0x1a238
movq -0x3b0(%rbp), %rax
movq -0x3a8(%rbp), %rcx
cmpq (%rcx), %rax
jae 0x1a2c8
movq -0x288(%rbp), %rsi
leaq -0x280(%rbp), %rdi
callq 0x1bec0
movsd (%rax), %xmm0
leaq -0x210(%rbp), %rdi
callq 0x2320
movq %rax, -0x3b8(%rbp)
jmp 0x1a277
movq -0x3b8(%rbp), %rdi
leaq 0x7c79(%rip), %rsi      # 0x21efe
callq 0x21b0
jmp 0x1a28c
jmp 0x1a28e
movq -0x288(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x288(%rbp)
jmp 0x1a1fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x218(%rbp)
movl %eax, -0x21c(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x1ba60
jmp 0x1a3ea
leaq -0x280(%rbp), %rdi
callq 0x1b7f0
movq -0x2b0(%rbp), %rdi
movq %rax, -0x2a0(%rbp)
leaq -0x2a0(%rbp), %rsi
callq 0x4880
movq %rax, -0x3c0(%rbp)
jmp 0x1a2f7
movq -0x3c0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x298(%rbp)
movq -0x2b0(%rbp), %rcx
movq -0x298(%rbp), %rax
cmpq (%rcx), %rax
jae 0x1a35e
leaq -0x210(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x2320
movq %rax, -0x3c8(%rbp)
jmp 0x1a333
movq -0x3c8(%rbp), %rdi
leaq 0x7bbd(%rip), %rsi      # 0x21efe
callq 0x21b0
jmp 0x1a348
jmp 0x1a34a
movq -0x298(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x298(%rbp)
jmp 0x1a308
movq 0x16c63(%rip), %rsi     # 0x30fc8
leaq -0x210(%rbp), %rdi
callq 0x21e0
jmp 0x1a373
leaq -0x280(%rbp), %rdi
callq 0x1ba60
movq -0x268(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x268(%rbp)
jmp 0x1a14b
leaq 0x7b91(%rip), %rsi      # 0x21f2e
leaq -0x210(%rbp), %rdi
callq 0x21b0
movq %rax, -0x3d0(%rbp)
jmp 0x1a3b2
movq -0x3d0(%rbp), %rdi
movq 0x16c08(%rip), %rsi     # 0x30fc8
callq 0x21e0
jmp 0x1a3c7
leaq -0x210(%rbp), %rdi
callq 0x2240
jmp 0x1a3d5
leaq -0x210(%rbp), %rdi
callq 0x2260
addq $0x3d0, %rsp            # imm = 0x3D0
popq %rbp
retq
leaq -0x210(%rbp), %rdi
callq 0x2260
movq -0x218(%rbp), %rdi
callq 0x22e0
nopw %cs:(%rax,%rax)