diff options
author | manojgudi | 2013-10-07 14:26:59 +0530 |
---|---|---|
committer | manojgudi | 2013-10-07 14:26:59 +0530 |
commit | 6bc92d66be9975d618ac4cd104e7f5ff6e8605f2 (patch) | |
tree | 3a77657667b4ef037f712ee68a5ec86c86cba5c5 /volk/lib/qa_utils.h | |
parent | 452defdb4a78e9e826740ddf4b9673e926c568a4 (diff) | |
parent | e9576e44ef8f0ad67d8cd8a4e025a0f8da0727f8 (diff) | |
download | gnuradio-6bc92d66be9975d618ac4cd104e7f5ff6e8605f2.tar.gz gnuradio-6bc92d66be9975d618ac4cd104e7f5ff6e8605f2.tar.bz2 gnuradio-6bc92d66be9975d618ac4cd104e7f5ff6e8605f2.zip |
merge from gr36_ni branch
Diffstat (limited to 'volk/lib/qa_utils.h')
-rw-r--r-- | volk/lib/qa_utils.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/volk/lib/qa_utils.h b/volk/lib/qa_utils.h new file mode 100644 index 000000000..0f17cdaa3 --- /dev/null +++ b/volk/lib/qa_utils.h @@ -0,0 +1,41 @@ +#ifndef VOLK_QA_UTILS_H +#define VOLK_QA_UTILS_H + +#include <cstdlib> +#include <string> +#include <vector> +#include <volk/volk.h> +#include <volk/volk_common.h> + +struct volk_type_t { + bool is_float; + bool is_scalar; + bool is_signed; + bool is_complex; + int size; + std::string str; +}; + +volk_type_t volk_type_from_string(std::string); + +float uniform(void); +void random_floats(float *buf, unsigned n); + +bool run_volk_tests(volk_func_desc_t, void(*)(), std::string, float, lv_32fc_t, int, int, std::vector<std::string> *, std::string); + + +#define VOLK_RUN_TESTS(func, tol, scalar, len, iter) BOOST_AUTO_TEST_CASE(func##_test) { BOOST_CHECK_EQUAL(run_volk_tests(func##_get_func_desc(), (void (*)())func##_manual, std::string(#func), tol, scalar, len, iter, 0, "NULL"), 0); } +#define VOLK_PROFILE(func, tol, scalar, len, iter, results) run_volk_tests(func##_get_func_desc(), (void (*)())func##_manual, std::string(#func), tol, scalar, len, iter, results, "NULL") +#define VOLK_PUPPET_PROFILE(func, puppet_master_func, tol, scalar, len, iter, results) run_volk_tests(func##_get_func_desc(), (void (*)())func##_manual, std::string(#func), tol, scalar, len, iter, results, std::string(#puppet_master_func)) +typedef void (*volk_fn_1arg)(void *, unsigned int, const char*); //one input, operate in place +typedef void (*volk_fn_2arg)(void *, void *, unsigned int, const char*); +typedef void (*volk_fn_3arg)(void *, void *, void *, unsigned int, const char*); +typedef void (*volk_fn_4arg)(void *, void *, void *, void *, unsigned int, const char*); +typedef void (*volk_fn_1arg_s32f)(void *, float, unsigned int, const char*); //one input vector, one scalar float input +typedef void (*volk_fn_2arg_s32f)(void *, void *, float, unsigned int, const char*); +typedef void (*volk_fn_3arg_s32f)(void *, void *, void *, float, unsigned int, const char*); +typedef void (*volk_fn_1arg_s32fc)(void *, lv_32fc_t, unsigned int, const char*); //one input vector, one scalar float input +typedef void (*volk_fn_2arg_s32fc)(void *, void *, lv_32fc_t, unsigned int, const char*); +typedef void (*volk_fn_3arg_s32fc)(void *, void *, void *, lv_32fc_t, unsigned int, const char*); + +#endif //VOLK_QA_UTILS_H |