|
|
|
@ -18,13 +18,11 @@ a double precision computation.
|
|
|
|
#define GET_Q31_PTR() \
|
|
|
|
#define GET_Q31_PTR() \
|
|
|
|
const q31_t *inp1=input1.ptr(); \
|
|
|
|
const q31_t *inp1=input1.ptr(); \
|
|
|
|
const q31_t *inp2=input2.ptr(); \
|
|
|
|
const q31_t *inp2=input2.ptr(); \
|
|
|
|
q31_t *refp=ref.ptr(); \
|
|
|
|
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
#define GET_LOGICAL_UINT32_PTR() \
|
|
|
|
#define GET_LOGICAL_UINT32_PTR() \
|
|
|
|
const uint32_t *inp1=inputLogical1.ptr(); \
|
|
|
|
const uint32_t *inp1=inputLogical1.ptr(); \
|
|
|
|
const uint32_t *inp2=inputLogical2.ptr(); \
|
|
|
|
const uint32_t *inp2=inputLogical2.ptr(); \
|
|
|
|
uint32_t *refp=refLogical.ptr(); \
|
|
|
|
|
|
|
|
uint32_t *outp=outputLogical.ptr();
|
|
|
|
uint32_t *outp=outputLogical.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -73,7 +71,6 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
void BasicTestsQ31::test_negate_q31()
|
|
|
|
void BasicTestsQ31::test_negate_q31()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
q31_t *refp=ref.ptr();
|
|
|
|
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
arm_negate_q31(inp1,outp,input1.nbSamples());
|
|
|
|
arm_negate_q31(inp1,outp,input1.nbSamples());
|
|
|
|
@ -89,7 +86,6 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
void BasicTestsQ31::test_offset_q31()
|
|
|
|
void BasicTestsQ31::test_offset_q31()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
q31_t *refp=ref.ptr();
|
|
|
|
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
arm_offset_q31(inp1,this->scalar,outp,input1.nbSamples());
|
|
|
|
arm_offset_q31(inp1,this->scalar,outp,input1.nbSamples());
|
|
|
|
@ -105,7 +101,6 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
void BasicTestsQ31::test_scale_q31()
|
|
|
|
void BasicTestsQ31::test_scale_q31()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
q31_t *refp=ref.ptr();
|
|
|
|
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
arm_scale_q31(inp1,this->scalar,0,outp,input1.nbSamples());
|
|
|
|
arm_scale_q31(inp1,this->scalar,0,outp,input1.nbSamples());
|
|
|
|
@ -124,7 +119,6 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
const q31_t *inp2=input2.ptr();
|
|
|
|
const q31_t *inp2=input2.ptr();
|
|
|
|
q63_t *refp=dotRef.ptr();
|
|
|
|
|
|
|
|
q63_t *outp=dotOutput.ptr();
|
|
|
|
q63_t *outp=dotOutput.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
arm_dot_prod_q31(inp1,inp2,input1.nbSamples(),&r);
|
|
|
|
arm_dot_prod_q31(inp1,inp2,input1.nbSamples(),&r);
|
|
|
|
@ -145,6 +139,8 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
{
|
|
|
|
{
|
|
|
|
GET_Q31_PTR();
|
|
|
|
GET_Q31_PTR();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(void)inp2;
|
|
|
|
|
|
|
|
|
|
|
|
arm_abs_q31(inp1,outp,input1.nbSamples());
|
|
|
|
arm_abs_q31(inp1,outp,input1.nbSamples());
|
|
|
|
|
|
|
|
|
|
|
|
ASSERT_EMPTY_TAIL(output);
|
|
|
|
ASSERT_EMPTY_TAIL(output);
|
|
|
|
@ -158,7 +154,6 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
void BasicTestsQ31::test_shift_q31()
|
|
|
|
void BasicTestsQ31::test_shift_q31()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
const q31_t *inp1=input1.ptr();
|
|
|
|
q31_t *refp=ref.ptr();
|
|
|
|
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
q31_t *outp=output.ptr();
|
|
|
|
|
|
|
|
|
|
|
|
arm_shift_q31(inp1,1,outp,input1.nbSamples());
|
|
|
|
arm_shift_q31(inp1,1,outp,input1.nbSamples());
|
|
|
|
@ -199,6 +194,8 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
{
|
|
|
|
{
|
|
|
|
GET_LOGICAL_UINT32_PTR();
|
|
|
|
GET_LOGICAL_UINT32_PTR();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(void)inp2;
|
|
|
|
|
|
|
|
|
|
|
|
arm_not_u32(inp1,outp,inputLogical1.nbSamples());
|
|
|
|
arm_not_u32(inp1,outp,inputLogical1.nbSamples());
|
|
|
|
|
|
|
|
|
|
|
|
ASSERT_EMPTY_TAIL(outputLogical);
|
|
|
|
ASSERT_EMPTY_TAIL(outputLogical);
|
|
|
|
@ -222,6 +219,7 @@ uint32_t *outp=outputLogical.ptr();
|
|
|
|
void BasicTestsQ31::setUp(Testing::testID_t id,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr)
|
|
|
|
void BasicTestsQ31::setUp(Testing::testID_t id,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(void)params;
|
|
|
|
Testing::nbSamples_t nb=MAX_NB_SAMPLES;
|
|
|
|
Testing::nbSamples_t nb=MAX_NB_SAMPLES;
|
|
|
|
|
|
|
|
|
|
|
|
this->scalar = ONEHALF;
|
|
|
|
this->scalar = ONEHALF;
|
|
|
|
|