aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/util.cpp')
-rw-r--r--benchmarks/util.cpp8
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);