VecCore
0.8.1
C++ Library for Portable SIMD Vectorization
Loading...
Searching...
No Matches
Utilities.h
Go to the documentation of this file.
1
#ifndef VECCORE_UTILITIES_H
2
#define VECCORE_UTILITIES_H
3
4
#ifndef _MSC_VER
5
6
#include <cstdlib>
7
8
namespace
vecCore
{
9
10
inline
void
*
AlignedAlloc
(
size_t
alignment,
size_t
size)
11
{
12
void
*ptr =
nullptr
;
13
14
if
(posix_memalign(&ptr, alignment, size) == 0)
15
return
ptr;
16
17
return
nullptr
;
18
}
19
20
inline
void
AlignedFree
(
void
*ptr)
21
{
22
free(ptr);
23
}
24
25
}
26
27
#else
// _MSC_VER
28
29
#include <malloc.h>
30
31
namespace
vecCore
{
32
33
inline
void
*
AlignedAlloc
(
size_t
alignment,
size_t
size)
34
{
35
return
_aligned_malloc(size, alignment);
36
}
37
38
inline
void
AlignedFree
(
void
*ptr)
39
{
40
_aligned_free(ptr);
41
}
42
43
}
44
45
#endif
// _MSC_VER
46
47
#endif
// VECCORE_UTILITIES_H
vecCore
Definition:
Deprecated.h:12
vecCore::AlignedFree
void AlignedFree(void *ptr)
Definition:
Utilities.h:20
vecCore::AlignedAlloc
void * AlignedAlloc(size_t alignment, size_t size)
Definition:
Utilities.h:10
VecCore
Utilities.h
Generated by
1.9.6