diff options
Diffstat (limited to 'benchmarks/util.cpp')
-rw-r--r-- | benchmarks/util.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/benchmarks/util.cpp b/benchmarks/util.cpp index 9afca6f7e..0c7254c14 100644 --- a/benchmarks/util.cpp +++ b/benchmarks/util.cpp @@ -16,9 +16,11 @@ #include "util.h" +#include <math.h> #include <sched.h> #include <stdio.h> #include <string.h> +#include <wchar.h> #include <cstdlib> @@ -49,6 +51,12 @@ char* GetAlignedPtr(std::vector<char>* buf, size_t alignment, size_t nbytes) { return GetAlignedMemory(buf->data(), alignment, 0); } +wchar_t* GetAlignedPtr(std::vector<wchar_t>* buf, size_t alignment, size_t nchars) { + buf->resize(nchars + ceil((3 * alignment) / sizeof(wchar_t))); + return reinterpret_cast<wchar_t*>(GetAlignedMemory(reinterpret_cast<char*>(buf->data()), + alignment, 0)); +} + char* GetAlignedPtrFilled(std::vector<char>* buf, size_t alignment, size_t nbytes, char fill_byte) { char* buf_aligned = GetAlignedPtr(buf, alignment, nbytes); memset(buf_aligned, fill_byte, nbytes); |