1 #include "Test.h"
2 #include "Pattern.h"
3 
4 #include "dsp/matrix_functions.h"
5 
6 class UnaryTestsF32:public Client::Suite
7     {
8         public:
9             UnaryTestsF32(Testing::testID_t id);
10             virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
11             virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
12         private:
13             #include "UnaryTestsF32_decl.h"
14 
15             void compute_ldlt_error(const int n,const int16_t *outpp);
16 
17             Client::Pattern<float32_t> input1;
18             Client::Pattern<float32_t> input2;
19             Client::Pattern<float32_t> ref;
20             Client::Pattern<float32_t> refBeta;
21 
22 
23             Client::Pattern<float32_t> refll;
24             Client::Pattern<float32_t> refd;
25             Client::Pattern<int16_t> refp;
26             Client::Pattern<float32_t> refTau;
27             Client::Pattern<float32_t> refR;
28             Client::Pattern<float32_t> refQ;
29 
30             Client::Pattern<int16_t> dims;
31             Client::LocalPattern<float32_t> output;
32             Client::LocalPattern<float32_t> outputBeta;
33 
34             Client::LocalPattern<float32_t> outputTau;
35             Client::LocalPattern<float32_t> outputR;
36             Client::LocalPattern<float32_t> outputQ;
37 
38             Client::LocalPattern<float32_t> outputll;
39             Client::LocalPattern<float32_t> outputd;
40             Client::LocalPattern<int16_t> outputp;
41 
42             /* Local copies of inputs since matrix instance in CMSIS-DSP are not using
43                pointers to const.
44             */
45             Client::LocalPattern<float32_t> a;
46             Client::LocalPattern<float32_t> b;
47             Client::LocalPattern<float32_t> c;
48             Client::LocalPattern<float32_t> d;
49 
50             Client::LocalPattern<float64_t> tmpapat;
51             Client::LocalPattern<float64_t> tmpbpat;
52             Client::LocalPattern<float64_t> tmpcpat;
53             Client::LocalPattern<float64_t> outputa;
54             Client::LocalPattern<float64_t> outputb;
55 
56             int nbr;
57             int nbc;
58 
59             arm_matrix_instance_f32 in1;
60             arm_matrix_instance_f32 in2;
61 
62             arm_matrix_instance_f32 out;
63             arm_matrix_instance_f32 outQ;
64             arm_matrix_instance_f32 outR;
65 
66             arm_matrix_instance_f32 outll;
67             arm_matrix_instance_f32 outd;
68 
69             float64_t *outa;
70             float64_t *outb;
71 
72             float32_t snrRel,snrAbs;
73 
74     };
75