10#ifndef VOLK_QA_UTILS_H
11#define VOLK_QA_UTILS_H
50 std::map<std::string, volk_test_time_t>
results;
64 std::string _kernel_regex;
79 _absolute_mode(false),
87 void set_regex(std::string regex) { _kernel_regex = regex; };
89 float tol() {
return _tol; };
91 unsigned int vlen() {
return _vlen; };
92 unsigned int iter() {
return _iter; };
100 t._absolute_mode =
true;
114 volk_func_desc_t _desc;
115 void (*_kernel_ptr)();
118 std::string _puppet_master_name;
121 volk_func_desc_t
desc() {
return _desc; };
123 std::string
name() {
return _name; };
128 void (*t_kernel_ptr)(),
132 _kernel_ptr(t_kernel_ptr),
135 _puppet_master_name(
"NULL"){};
138 void (*t_kernel_ptr)(),
143 _kernel_ptr(t_kernel_ptr),
161 std::vector<volk_test_results_t>* results = NULL,
162 std::string puppet_master_name =
"NULL");
171 std::vector<volk_test_results_t>* results = NULL,
172 std::string puppet_master_name =
"NULL",
173 bool absolute_mode =
false,
174 bool benchmark_mode =
false);
176#define VOLK_PROFILE(func, test_params, results) \
177 run_volk_tests(func##_get_func_desc(), \
178 (void (*)())func##_manual, \
179 std::string(#func), \
183#define VOLK_PUPPET_PROFILE(func, puppet_master_func, test_params, results) \
184 run_volk_tests(func##_get_func_desc(), \
185 (void (*)())func##_manual, \
186 std::string(#func), \
189 std::string(#puppet_master_func))
194typedef void (*
volk_fn_3arg)(
void*,
void*,
void*,
unsigned int,
const char*);
195typedef void (*
volk_fn_4arg)(
void*,
void*,
void*,
void*,
unsigned int,
const char*);
197 void*, float,
unsigned int,
const char*);
207 void*,
void*,
void*,
lv_32fc_t*,
unsigned int,
const char*);