#include <cinttypes>
#include <complex>
#include <cstddef>
#include <deque>
#include <map>
#include <memory>
#include <iostream>
#include <vector>
#include <Eigen/Geometry>
#include "connectome/connectome.h"
#include "surface/polygon.h"
Go to the source code of this file.
|
#define | NOMEMALIGN |
|
#define | PRI_SIZET "zu" |
|
#define | EIGEN_DENSEBASE_PLUGIN "eigen_plugins/dense_base.h" |
|
#define | EIGEN_MATRIXBASE_PLUGIN "eigen_plugins/dense_base.h" |
|
#define | EIGEN_ARRAYBASE_PLUGIN "eigen_plugins/dense_base.h" |
|
#define | EIGEN_MATRIX_PLUGIN "eigen_plugins/matrix.h" |
|
#define | EIGEN_ARRAY_PLUGIN "eigen_plugins/array.h" |
|
#define | VLA(name, type, num) type name[num] |
|
#define | VLA_MAX(name, type, num, max) type name[num] |
|
#define | NON_POD_VLA(name, type, num) type name[num] |
|
#define | NON_POD_VLA_MAX(name, type, num, max) type name[num] |
|
#define | FORCE_INLINE inline |
|
#define | EIGEN_DEFAULT_ALIGN_BYTES 16 |
|
#define | MEMALIGN(...) |
|
#define | CHECK_MEM_ALIGN(...) |
|
|
void * | __aligned_malloc (std::size_t size) |
|
void | __aligned_free (void *ptr) |
|
template<typename X , typename... Args> |
std::shared_ptr< X > | MR::make_shared (Args &&... args) |
|
template<typename X , typename... Args> |
std::unique_ptr< X > | MR::make_unique (Args &&... args) |
|
template<typename X > |
constexpr std::enable_if< std::is_arithmetic< X >::value &&std::is_unsigned< X >::value, X >::type | MR::abs (X x) |
|
template<typename X > |
constexpr std::enable_if< std::is_arithmetic< X >::value &&!std::is_unsigned< X >::value, X >::type | MR::abs (X x) |
|
template<class T > |
ostream & | std::operator<< (ostream &stream, const vector< T > &V) |
|
template<class T , std::size_t N> |
ostream & | std::operator<< (ostream &stream, const array< T, N > &V) |
|
|
constexpr size_t | MR::malloc_align = alignof (::max_align_t) |
|
constexpr default_type | MR::NaN = std::numeric_limits<default_type>::quiet_NaN() |
|
constexpr default_type | MR::Inf = std::numeric_limits<default_type>::infinity() |
|
◆ CHECK_MEM_ALIGN
#define CHECK_MEM_ALIGN |
( |
|
... | ) |
|
Value:
"class requires over-alignment, but no operator new defined! Please insert MEMALIGN() into class definition.")
constexpr size_t malloc_align
used to verify that the class is set up approriately for memory alignment when dynamically allocated. This checks whether the class's alignment requirements exceed that of the default allocator, and if so whether it has custom operator new methods defined to deal with this. Conversely, it also checks whether a custom allocator has been defined needlessly, which is to be avoided for performance reasons.
The compiler will check whether this is indeed needed, and fail with an appropriate warning if this is not true. In this case, you need to replace MEMALIGN with NOMEMALIGN.
- See also
- NOMEMALIGN
-
MEMALIGN
Definition at line 206 of file types.h.
◆ EIGEN_ARRAY_PLUGIN
#define EIGEN_ARRAY_PLUGIN "eigen_plugins/array.h" |
◆ EIGEN_ARRAYBASE_PLUGIN
#define EIGEN_ARRAYBASE_PLUGIN "eigen_plugins/dense_base.h" |
◆ EIGEN_DEFAULT_ALIGN_BYTES
#define EIGEN_DEFAULT_ALIGN_BYTES 16 |
◆ EIGEN_DENSEBASE_PLUGIN
#define EIGEN_DENSEBASE_PLUGIN "eigen_plugins/dense_base.h" |
◆ EIGEN_MATRIX_PLUGIN
#define EIGEN_MATRIX_PLUGIN "eigen_plugins/matrix.h" |
◆ EIGEN_MATRIXBASE_PLUGIN
#define EIGEN_MATRIXBASE_PLUGIN "eigen_plugins/dense_base.h" |
◆ FORCE_INLINE
#define FORCE_INLINE inline |
◆ MEMALIGN
Value: public: \
void __aligned_free(void *ptr)
void * __aligned_malloc(std::size_t size)
Definition at line 185 of file types.h.
◆ NOMEMALIGN
◆ PRI_SIZET
◆ __aligned_free()
void __aligned_free |
( |
void * |
ptr | ) |
|
|
inline |
◆ __aligned_malloc()
void * __aligned_malloc |
( |
std::size_t |
size | ) |
|
|
inline |