BasicMathsBenchmarksQ15.cpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #include "BasicMathsBenchmarksQ15.h"
  2. #include "Error.h"
  3. void BasicMathsBenchmarksQ15::vec_mult_q15()
  4. {
  5. q15_t *inp1=input1.ptr();
  6. q15_t *inp2=input2.ptr();
  7. q15_t *outp=output.ptr();
  8. arm_mult_q15(inp1,inp2,outp,this->nb);
  9. }
  10. void BasicMathsBenchmarksQ15::vec_add_q15()
  11. {
  12. q15_t *inp1=input1.ptr();
  13. q15_t *inp2=input2.ptr();
  14. q15_t *outp=output.ptr();
  15. arm_add_q15(inp1,inp2,outp,this->nb);
  16. }
  17. void BasicMathsBenchmarksQ15::vec_sub_q15()
  18. {
  19. q15_t *inp1=input1.ptr();
  20. q15_t *inp2=input2.ptr();
  21. q15_t *outp=output.ptr();
  22. arm_sub_q15(inp1,inp2,outp,this->nb);
  23. }
  24. void BasicMathsBenchmarksQ15::vec_abs_q15()
  25. {
  26. q15_t *inp1=input1.ptr();
  27. q15_t *inp2=input2.ptr();
  28. q15_t *outp=output.ptr();
  29. arm_abs_q15(inp1,outp,this->nb);
  30. }
  31. void BasicMathsBenchmarksQ15::vec_negate_q15()
  32. {
  33. q15_t *inp1=input1.ptr();
  34. q15_t *outp=output.ptr();
  35. arm_negate_q15(inp1,outp,this->nb);
  36. }
  37. void BasicMathsBenchmarksQ15::vec_offset_q15()
  38. {
  39. q15_t *inp1=input1.ptr();
  40. q15_t *inp2=input2.ptr();
  41. q15_t *outp=output.ptr();
  42. arm_offset_q15(inp1,1.0,outp,this->nb);
  43. }
  44. void BasicMathsBenchmarksQ15::vec_scale_q15()
  45. {
  46. q15_t *inp1=input1.ptr();
  47. q15_t *inp2=input2.ptr();
  48. q15_t *outp=output.ptr();
  49. arm_scale_q15(inp1,0x45,1,outp,this->nb);
  50. }
  51. void BasicMathsBenchmarksQ15::vec_dot_q15()
  52. {
  53. q15_t *inp1=input1.ptr();
  54. q15_t *inp2=input2.ptr();
  55. q63_t result;
  56. arm_dot_prod_q15(inp1,inp2,this->nb,&result);
  57. }
  58. void BasicMathsBenchmarksQ15::setUp(Testing::testID_t id,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr)
  59. {
  60. std::vector<Testing::param_t>::iterator it = params.begin();
  61. this->nb = *it;
  62. input1.reload(BasicMathsBenchmarksQ15::INPUT1_Q15_ID,mgr,this->nb);
  63. input2.reload(BasicMathsBenchmarksQ15::INPUT2_Q15_ID,mgr,this->nb);
  64. output.create(this->nb,BasicMathsBenchmarksQ15::OUT_SAMPLES_Q15_ID,mgr);
  65. }
  66. void BasicMathsBenchmarksQ15::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
  67. {
  68. }