// File: /workspace/github_cpp_makefile_star2_O2/npaster[P]gmsh_tools/gmshData.cpp
// Function: gmsh::ElementData::writeElementData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const
void
ElementData::writeElementData(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 << "$ElementData" << 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 << "$EndElementData" << 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 0xb1d8
movq 0x908e(%rip), %rdi      # 0x13fd8
leaq 0x211a(%rip), %rsi      # 0xd06b
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movq 0x9073(%rip), %rdi      # 0x13fd8
leaq 0x2df5(%rip), %rsi      # 0xdd61
callq 0x21c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20f0
movq 0x904d(%rip), %rdi      # 0x13fd8
leaq 0x2ae3(%rip), %rsi      # 0xda75
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movq 0x9032(%rip), %rdi      # 0x13fd8
leaq 0x20be(%rip), %rsi      # 0xd06b
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
leaq 0x2dc8(%rip), %rsi      # 0xdd89
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 0x2d6b(%rip), %rsi      # 0xdd5e
leaq -0x248(%rbp), %rdi
callq 0x21c0
leaq 0x10(%rbx), %rsi
movq %rax, %rdi
callq 0x21a0
leaq 0x2d4c(%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 0x2c85(%rip), %r15      # 0xdd4c
movq 0x30(%rbx), %rax
movq 0x38(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %rcx, %r13
jae 0xb193
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 0xb171
movsd (%rax,%r13,8), %xmm0
movq %r14, %rdi
callq 0x2250
movq %rax, %rdi
movq %r15, %rsi
callq 0x21c0
incq %r13
jmp 0xb119
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 0xb155
movq %r14, %rdi
callq 0x20f0
leaq -0x48(%rbp), %rdi
callq 0xbbec
movq -0x30(%rbp), %r13
incq %r13
jmp 0xb0c7
leaq 0x2bfc(%rip), %rsi      # 0xdd96
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 0x8df9(%rip), %rdi      # 0x13fd8
leaq 0x24b6(%rip), %rsi      # 0xd69c
callq 0x21c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20f0
callq 0x2140
jmp 0xb210
jmp 0xb209
jmp 0xb209
movq %rax, %rbx
jmp 0xb21c
jmp 0xb210
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0xbbec
leaq -0x248(%rbp), %rdi
callq 0x2220
movq %rbx, %rdi
callq 0x22a0