| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #include "FIRF16.h"
- #include "Error.h"
- #if defined(ARM_MATH_MVEF) && !defined(ARM_MATH_AUTOVECTORIZE)
- static __ALIGNED(8) float16_t coeffArray[64];
- #endif
-
- void FIRF16::test_fir_f16()
- {
- arm_fir_f16(&instFir, this->pSrc, this->pDst, this->nbSamples);
- }
-
-
- void FIRF16::setUp(Testing::testID_t id,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr)
- {
- std::vector<Testing::param_t>::iterator it = params.begin();
- this->nbTaps = *it++;
- this->nbSamples = *it;
- samples.reload(FIRF16::SAMPLES1_F16_ID,mgr,this->nbSamples);
- coefs.reload(FIRF16::COEFS1_F16_ID,mgr,this->nbTaps);
- state.create(ROUND_UP(this->nbSamples,8) + this->nbSamples + this->nbTaps - 1,FIRF16::STATE_F16_ID,mgr);
- output.create(this->nbSamples,FIRF16::OUT_SAMPLES_F16_ID,mgr);
- switch(id)
- {
- case TEST_FIR_F16_1:
- #if defined(ARM_MATH_MVEF) && !defined(ARM_MATH_AUTOVECTORIZE)
- /* Copy coefficients and pad to zero
- */
- memset(coeffArray,0,32*sizeof(float16_t));
- float16_t *ptr;
- ptr=coefs.ptr();
- memcpy(coeffArray,ptr,this->nbTaps*sizeof(float16_t));
- this->pCoefs = coeffArray;
- #else
- this->pCoefs=coefs.ptr();
- #endif
- arm_fir_init_f16(&instFir,this->nbTaps,coefs.ptr(),state.ptr(),this->nbSamples);
- this->pSrc=samples.ptr();
- this->pDst=output.ptr();
- break;
-
-
- }
-
- }
- void FIRF16::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
- {
- (void)id;
- (void)mgr;
- }
|