
#ifndef EIGEN_QTMALLOC_MODULE_H
#define EIGEN_QTMALLOC_MODULE_H

#include "Core"

#if (!EIGEN_MALLOC_ALREADY_ALIGNED)

#include "src/Core/util/DisableMSVCWarnings.h"

void *qMalloc(size_t size)
{
  return Eigen::ei_aligned_malloc(size);
}

void qFree(void *ptr)
{
  Eigen::ei_aligned_free(ptr);
}

void *qRealloc(void *ptr, size_t size)
{
  void* newPtr = Eigen::ei_aligned_malloc(size);
  memcpy(newPtr, ptr, size);
  Eigen::ei_aligned_free(ptr);
  return newPtr;
}

#include "src/Core/util/EnableMSVCWarnings.h"

#endif

#endif // EIGEN_QTMALLOC_MODULE_H
