// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x248(%rbp), %r15
movq %r15, %rdi
callq 0x22c0
movq %r15, %rdi
movq %r14, %rsi
movl $0x11, %edx
callq 0x20e0
leaq -0x1d8(%rbp), %rdi
callq 0x2050
testb %al, %al
je 0xd83c
movq 0x9e36(%rip), %r15      # 0x16fd8
leaq 0x3ec2(%rip), %rsi      # 0x1106b
movl $0x18, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq 0x9e04(%rip), %rdi      # 0x16fd8
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x9df0(%rip), %rdi      # 0x16fd8
leaq 0x4b9c(%rip), %rsi      # 0x11d8b
movl $0x10, %edx
callq 0x2230
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x9dd1(%rip), %rdi      # 0x16fd8
callq 0x2230
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x9d9b(%rip), %r14      # 0x16fd8
leaq 0x4831(%rip), %rsi      # 0x11a75
movl $0x15, %edx
movq %r14, %rdi
callq 0x2230
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq 0x9d69(%rip), %rdi      # 0x16fd8
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x9d55(%rip), %r14      # 0x16fd8
leaq 0x3de1(%rip), %rsi      # 0x1106b
movl $0x18, %edx
movq %r14, %rdi
callq 0x2230
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq 0x9d23(%rip), %rdi      # 0x16fd8
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq 0x4ad3(%rip), %rsi      # 0x11d9c
leaq -0x248(%rbp), %r14
movl $0x9, %edx
movq %r14, %rdi
callq 0x2230
movq -0x248(%rbp), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
leaq -0x248(%rbp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
movl $0x1, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq 0x4a3a(%rip), %rsi      # 0x11d88
leaq -0x248(%rbp), %rdi
movl $0x2, %edx
callq 0x2230
movq 0x10(%rbx), %rsi
movq 0x18(%rbx), %rdx
leaq -0x248(%rbp), %rdi
callq 0x2230
movq %rax, %r14
leaq 0x4a0b(%rip), %rsi      # 0x11d88
movl $0x2, %edx
movq %rax, %rdi
callq 0x2230
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
movl $0x1, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movsd 0x8(%rbx), %xmm0
leaq -0x248(%rbp), %rdi
callq 0x2290
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
movl $0x3, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
xorl %esi, %esi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq (%rbx), %rsi
leaq -0x248(%rbp), %rdi
callq 0x2170
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x38(%rbx), %rax
subq 0x30(%rbx), %rax
movq 0x50(%rbx), %rsi
sarq $0x5, %rax
subq 0x48(%rbx), %rsi
sarq $0x3, %rsi
movabsq $-0x71c71c71c71c71c7, %rcx # imm = 0x8E38E38E38E38E39
imulq %rcx, %rsi
addq %rax, %rsi
leaq -0x248(%rbp), %r14
movq %r14, %rdi
callq 0x2170
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq 0x30(%rbx), %rax
cmpq %rax, 0x38(%rbx)
je 0xd663
xorl %r12d, %r12d
leaq 0x4829(%rip), %r15      # 0x11d76
movq %r12, -0x48(%rbp)
shlq $0x5, %r12
movq (%rax,%r12), %rsi
movq %r14, %rdi
callq 0x2170
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq 0x30(%rbx), %rax
leaq (%rax,%r12), %rsi
addq $0x8, %rsi
leaq -0x40(%rbp), %rdi
callq 0xe89e
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
testq %r12, %r12
je 0xd606
xorl %r13d, %r13d
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
incq %r13
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
cmpq %r12, %r13
jb 0xd5a7
jmp 0xd606
xorps %xmm0, %xmm0
movq %r14, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
incq %r12
cmpq (%rbx), %r12
jb 0xd5e8
movq -0x248(%rbp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0xd644
callq 0x21e0
movq -0x48(%rbp), %r12
incq %r12
movq 0x30(%rbx), %rax
movq 0x38(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %rcx, %r12
jb 0xd54d
movq 0x48(%rbx), %rax
cmpq %rax, 0x50(%rbx)
je 0xd79e
xorl %esi, %esi
leaq 0x46fc(%rip), %r15      # 0x11d76
movq %rsi, -0x48(%rbp)
leaq (%rsi,%rsi,8), %r12
movq (%rax,%r12,8), %rsi
movq %r14, %rdi
callq 0x2170
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq 0x48(%rbx), %rax
leaq (%rax,%r12,8), %rsi
addq $0x8, %rsi
leaq -0x40(%rbp), %rdi
callq 0xe89e
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
testq %r12, %r12
je 0xd733
xorl %r13d, %r13d
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
incq %r13
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
cmpq %r12, %r13
jb 0xd6d4
jmp 0xd733
xorps %xmm0, %xmm0
movq %r14, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
incq %r12
cmpq (%rbx), %r12
jb 0xd715
movq -0x248(%rbp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0xd771
callq 0x21e0
movq -0x48(%rbp), %rsi
incq %rsi
movq 0x48(%rbx), %rax
movq 0x50(%rbx), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x71c71c71c71c71c7, %rdx # imm = 0x8E38E38E38E38E39
imulq %rdx, %rcx
cmpq %rcx, %rsi
jb 0xd67a
leaq 0x4601(%rip), %rsi      # 0x11da6
leaq -0x248(%rbp), %rbx
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2230
movq -0x248(%rbp), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
leaq -0x248(%rbp), %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2180
leaq -0x248(%rbp), %rdi
callq 0x2240
movq 0x97d5(%rip), %rax      # 0x16fd0
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x240(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x248(%rbp,%rcx)
callq 0x21c0
leaq -0x150(%rbp), %rdi
callq 0x20a0
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x9795(%rip), %rdi      # 0x16fd8
leaq 0x3e52(%rip), %rsi      # 0x1169c
movl $0x14, %edx
callq 0x2230
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x9776(%rip), %rdi      # 0x16fd8
callq 0x2230
movq %rax, %rdi
callq 0x20f0
callq 0x2140
jmp 0xd880
jmp 0xd880
jmp 0xd880
jmp 0xd880
jmp 0xd88b
jmp 0xd88b
movq %rax, %rbx
jmp 0xd89c
jmp 0xd88b
jmp 0xd88b
jmp 0xd88b
movq %rax, %rbx
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0xd89c
callq 0x21e0
leaq -0x248(%rbp), %rdi
callq 0x2260
movq %rbx, %rdi
callq 0x22f0