// File: /workspace/github_cpp_makefile_star2_O1/zgimbutas[P]mwrap/src/mwrap-cgen.cc
// Function: mex_define_copiers(_IO_FILE*, char const*)
void mex_define_copiers(FILE* fp, const char* name)
{
  /* Skip C99 int32_t, int64_t, uint32_t, uint64_t, if not detected */
  if( (strcmp(name, "int32_t") == 0 ) && ( mw_use_int32_t == 0 ) ) return;
  if( (strcmp(name, "int64_t") == 0 ) && ( mw_use_int64_t == 0 ) ) return;
  if( (strcmp(name, "uint32_t") == 0 ) && ( mw_use_uint32_t == 0 ) ) return;
  if( (strcmp(name, "uint64_t") == 0 ) && ( mw_use_uint64_t == 0 ) ) return;

  if( (strcmp(name, "ulong") == 0 ) && ( mw_use_ulong == 0 ) ) return;
  if( (strcmp(name, "uint") == 0 ) && ( mw_use_uint == 0 ) ) return;
  if( (strcmp(name, "ushort") == 0 ) && ( mw_use_ushort == 0 ) ) return;
  if( (strcmp(name, "uchar") == 0 ) && ( mw_use_uchar == 0 ) ) return;

  /* Define copiers */
  fprintf(fp, "mxWrapGetArrayDef(mxWrapGetArray_%s, %s)\n", name, name);
  fprintf(fp, "mxWrapCopyDef    (mxWrapCopy_%s,     %s)\n", name, name);
  fprintf(fp, "mxWrapReturnDef  (mxWrapReturn_%s,   %s)\n", name, name);

  /* Single precision */
  fprintf(fp, "mxWrapGetArrayDef_single(mxWrapGetArray_single_%s, %s)\n", name, name);
  fprintf(fp, "mxWrapCopyDef_single    (mxWrapCopy_single_%s,     %s)\n", name, name);
  fprintf(fp, "mxWrapReturnDef_single  (mxWrapReturn_single_%s,   %s)\n", name, name);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x59d3(%rip), %rsi      # 0xdad6
movq %rbx, %rdi
callq 0x3260
leaq 0x14126(%rip), %rcx     # 0x1c238
orl (%rcx), %eax
je 0x81d8
leaq 0x59be(%rip), %rsi      # 0xdadf
movq %rbx, %rdi
callq 0x3260
leaq 0x1410c(%rip), %rcx     # 0x1c23c
orl (%rcx), %eax
je 0x81d8
leaq 0x5996(%rip), %rsi      # 0xdad5
movq %rbx, %rdi
callq 0x3260
leaq 0x140f2(%rip), %rcx     # 0x1c240
orl (%rcx), %eax
je 0x81d8
leaq 0x5981(%rip), %rsi      # 0xdade
movq %rbx, %rdi
callq 0x3260
leaq 0x140d8(%rip), %rcx     # 0x1c244
orl (%rcx), %eax
je 0x81d8
leaq 0x5946(%rip), %rsi      # 0xdabd
movq %rbx, %rdi
callq 0x3260
leaq 0x140c2(%rip), %rcx     # 0x1c248
orl (%rcx), %eax
je 0x81d8
leaq 0x5932(%rip), %rsi      # 0xdac3
movq %rbx, %rdi
callq 0x3260
leaq 0x140ac(%rip), %rcx     # 0x1c24c
orl (%rcx), %eax
je 0x81d8
leaq 0x591d(%rip), %rsi      # 0xdac8
movq %rbx, %rdi
callq 0x3260
leaq 0x14096(%rip), %rcx     # 0x1c250
orl (%rcx), %eax
je 0x81d8
leaq 0x590a(%rip), %rsi      # 0xdacf
movq %rbx, %rdi
callq 0x3260
leaq 0x14080(%rip), %rcx     # 0x1c254
orl (%rcx), %eax
jne 0x81dd
popq %rbx
popq %r14
popq %rbp
retq
leaq 0xbcc0(%rip), %rsi      # 0x13ea4
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbcd3(%rip), %rsi      # 0x13ece
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbce6(%rip), %rsi      # 0x13ef8
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbcf9(%rip), %rsi      # 0x13f22
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbd1a(%rip), %rsi      # 0x13f5a
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x3270
leaq 0xbd3b(%rip), %rsi      # 0x13f92
movq %r14, %rdi
movq %rbx, %rdx
movq %rbx, %rcx
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
jmp 0x3270