// File: /workspace/github_cpp_makefile_star2_O2/npaster[P]gmsh_tools/gmshData.cpp
// Function: gmsh::ElementNodeData::writeElementNodeData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const
void
ElementNodeData::writeElementNodeData(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 << "$ElementNodeData" << 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() << 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;
   }

   mesh_file << "$EndElementNodeData" << 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 0x2280
pushq $0x11
popq %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x20e0
leaq -0x1d8(%rbp), %rdi
callq 0x2050
testb %al, %al
je 0xb590
movq 0x8cd6(%rip), %rdi      # 0x13fd8
leaq 0x1d62(%rip), %rsi      # 0xd06b
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movq 0x8cbb(%rip), %rdi      # 0x13fd8
leaq 0x2a3d(%rip), %rsi      # 0xdd61
callq 0x21c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20f0
movq 0x8c95(%rip), %rdi      # 0x13fd8
leaq 0x272b(%rip), %rsi      # 0xda75
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movq 0x8c7a(%rip), %rdi      # 0x13fd8
leaq 0x1d06(%rip), %rsi      # 0xd06b
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq 0x2a2d(%rip), %rsi      # 0xdda6
leaq -0x248(%rbp), %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
pushq $0x1
popq %rsi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
leaq 0x29b3(%rip), %rsi      # 0xdd5e
leaq -0x248(%rbp), %rdi
callq 0x21c0
leaq 0x10(%rbx), %rsi
movq %rax, %rdi
callq 0x21a0
leaq 0x2994(%rip), %rsi      # 0xdd5e
movq %rax, %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
pushq $0x1
popq %rsi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
movsd 0x8(%rbx), %xmm0
leaq -0x248(%rbp), %rdi
callq 0x2250
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
pushq $0x3
popq %rsi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
xorl %esi, %esi
callq 0x2290
movq %rax, %rdi
callq 0x20f0
movq (%rbx), %rsi
leaq -0x248(%rbp), %rdi
callq 0x2170
movq %rax, %rdi
callq 0x20f0
movq 0x38(%rbx), %rsi
subq 0x30(%rbx), %rsi
sarq $0x5, %rsi
leaq -0x248(%rbp), %rdi
callq 0x2170
movq %rax, %rdi
callq 0x20f0
xorl %r13d, %r13d
leaq -0x248(%rbp), %r14
leaq 0x28cd(%rip), %r15      # 0xdd4c
movq 0x30(%rbx), %rax
movq 0x38(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %rcx, %r13
jae 0xb54b
movq %r13, %r12
shlq $0x5, %r12
movq (%rax,%r12), %rsi
movq %r14, %rdi
callq 0x2170
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
movq %r13, -0x30(%rbp)
movq 0x30(%rbx), %rax
leaq (%rax,%r12), %rsi
addq $0x8, %rsi
leaq -0x48(%rbp), %rdi
callq 0xb668
xorl %r13d, %r13d
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %r12
subq %rax, %r12
sarq $0x3, %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
cmovaeq %rcx, %r12
cmpq %r12, %r13
jae 0xb529
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r13
jmp 0xb4d1
xorps %xmm0, %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r12
movq (%rbx), %rcx
cmpq %rcx, %r12
jb 0xb50d
movq %r14, %rdi
callq 0x20f0
leaq -0x48(%rbp), %rdi
callq 0xbbec
movq -0x30(%rbp), %r13
incq %r13
jmp 0xb47f
leaq 0x2865(%rip), %rsi      # 0xddb7
leaq -0x248(%rbp), %rdi
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq -0x248(%rbp), %rdi
callq 0x2200
leaq -0x248(%rbp), %rdi
callq 0x2220
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8a41(%rip), %rdi      # 0x13fd8
leaq 0x20fe(%rip), %rsi      # 0xd69c
callq 0x21c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20f0
callq 0x2140
jmp 0xb5c8
jmp 0xb5c1
jmp 0xb5c1
movq %rax, %rbx
jmp 0xb5d4
jmp 0xb5c8
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0xbbec
leaq -0x248(%rbp), %rdi
callq 0x2220
movq %rbx, %rdi
callq 0x22a0