10#ifndef VOLK_QA_UTILS_H
11#define VOLK_QA_UTILS_H
57 std::map<std::string, volk_test_time_t>
results;
71 std::string _kernel_regex;
72 std::vector<float> _float_edge_cases;
73 std::vector<lv_32fc_t> _complex_edge_cases;
88 _absolute_mode(false),
96 void set_regex(std::string regex) { _kernel_regex = regex; };
99 _float_edge_cases = edge_cases;
103 _complex_edge_cases = edge_cases;
106 float tol() {
return _tol; };
108 unsigned int vlen() {
return _vlen; };
109 unsigned int iter() {
return _iter; };
116 return _complex_edge_cases;
122 t._absolute_mode =
true;
136 volk_func_desc_t _desc;
137 void (*_kernel_ptr)();
140 std::string _puppet_master_name;
143 volk_func_desc_t
desc() {
return _desc; };
145 std::string
name() {
return _name; };
150 void (*t_kernel_ptr)(),
154 _kernel_ptr(t_kernel_ptr),
157 _puppet_master_name(
"NULL"){};
160 void (*t_kernel_ptr)(),
165 _kernel_ptr(t_kernel_ptr),
183 const std::vector<float>& float_edge_cases = std::vector<float>(),
184 const std::vector<lv_32fc_t>& complex_edge_cases = std::vector<lv_32fc_t>());
190 std::vector<volk_test_results_t>* results = NULL,
191 std::string puppet_master_name =
"NULL");
201 std::vector<volk_test_results_t>* results = NULL,
202 std::string puppet_master_name =
"NULL",
203 bool absolute_mode =
false,
204 bool benchmark_mode =
false,
205 const std::vector<float>& float_edge_cases = std::vector<float>(),
206 const std::vector<lv_32fc_t>& complex_edge_cases = std::vector<lv_32fc_t>());
208#define VOLK_PROFILE(func, test_params, results) \
209 run_volk_tests(func##_get_func_desc(), \
210 (void (*)())func##_manual, \
211 std::string(#func), \
215#define VOLK_PUPPET_PROFILE(func, puppet_master_func, test_params, results) \
216 run_volk_tests(func##_get_func_desc(), \
217 (void (*)())func##_manual, \
218 std::string(#func), \
221 std::string(#puppet_master_func))
226typedef void (*
volk_fn_3arg)(
void*,
void*,
void*,
unsigned int,
const char*);
227typedef void (*
volk_fn_4arg)(
void*,
void*,
void*,
void*,
unsigned int,
const char*);
229 void*, float,
unsigned int,
const char*);
239 void*,
void*,
void*,
lv_32fc_t*,
unsigned int,
const char*);