sensord: enable linear acceleration sensor
[platform/core/system/sensord.git] / src / sensor / rotation_vector / test / test_projects / vector_test / vector_main.cpp
1 /*
2  * sensord
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #include "../../../vector.h"
21
22 int main()
23 {
24         float arr2[3] = {0.056, 2.34, -65.76};
25         float arr15[3] = {1.04, -4.678, -2.34};
26         float arr3[4] = {1.03, 2.345, 6.78, 5.55};
27         float arr4[4] = {-6.78, -45.213, -7.89, -3.456};
28         float arr8[5] = {0.0123, 5.678, 2.345, 0.345, 8.956};
29         float arr0[5] = {2344.98, 345.24, 456.12, 98.33, 144.67};
30         float arr1[6] = {1.234, 4.5, 6.8987, 3.33, 5.66, 77.695};
31         float arr43[6] = {2.3454, -0.0384, -8.90, 3.455, 6.785, 21.345};
32         float arr5[5] = {0.2, -0.4, 0.6, -0.8, 1.0};
33
34         vect<float, 5> v1(arr0);
35         vect<float, 5> v2(arr8);
36         vect<float, 4> v10(arr3);
37         vect<float, 4> v12(arr4);
38         vect<float, 6> v15(arr1);
39         vect<float, 6> v20(arr43);
40         vect<float, 3> v21(arr2);
41         vect<float, 3> v22(arr15);
42         vect<float, 5> v31(arr0);
43         vect<float, 3> v3;
44         vect<float, 2> vn;
45         vect<float, 4> v61(arr4);
46         vect<float, 3> v6;
47         vect<float, 4> vm;
48         vect<float, 5> v13;
49         vect<float, 6> v95;
50         vect<float, 5> v35(arr5);
51         vect<float, 5> vl;
52         vect<float, 4> vp;
53         vect<float, 4> vr(arr4);
54         vect<float, 3> vf;
55
56         float arr57[3][3] = {{2.24, 0.5, 0.023}, {3.675, 5.32, 0.556}, {1.023, 45.75, 621.6}};
57         matrix<float, 3, 3> m12(arr57);
58         float arr67[3][1] = {{2.0}, {3.0}, {4.0}};
59         matrix<float, 3, 1> m32(arr67);
60
61         cout << "Constructor Test\n";
62         cout << "\n" << v3;
63
64         cout << "\n\nAddition\n";
65         v3 = v21 + v22;
66         v95 = v15 + v20;
67         cout << "\n\nNumbers added\n";
68         cout << "\n" << v21 << "\n" << v22;
69         cout << "\nSum:\n" << v3 << endl;
70         cout << "\n\nNumbers added\n";
71         cout << "\n" << v15 << "\n" << v20;
72         cout << "\nSum:\n" << v95 << endl;
73
74         float num = 5.5650;
75         float num1 = -2.32;
76         cout << "\n\n\nScalar addition\n";
77         vl = v2 + num;
78         vm = v10 + num1;
79         cout << "\nNumber added:" << num;
80         cout << "\n\n" << v2;
81         cout << "\nResult:\n\n" << vl;
82         cout << "\nNumber added:" << num1;
83         cout << "\n\n" << v10;
84         cout << "\nResult:\n\n" << vm;
85
86         cout << "\n\n\nSubtraction\n";
87         vp = v10 - v12;
88         cout << "\n" << v10 << "\n" << v12;
89         cout << "\nDifference:\n" << vp << endl;
90
91         float x = 4.0;
92         float x1 = -2.5;
93         cout << "\n\n\nScalar subtraction\n";
94         v13 = v1 - x;
95         vp = v10 - x1;
96         cout << "\nNumber Subtracted:" << x;
97         cout << "\n\n" << v1;
98         cout << "\nResult:\n\n" << v13;
99         cout << "\nNumber Subtracted:" << x1;
100         cout << "\n\n" << v10;
101         cout << "\nResult:\n\n" << vp;
102
103         float xx = 7.2;
104         cout << "\n\n\nMultiplication\n";
105         v13 = v2 * xx;
106         cout << "\n" << v2 << "\n" << xx;
107         cout << "\nProduct:\n" << v13 << endl;
108
109         cout << "\n\n\nMultiplication matrix x vector:\n";
110         matrix<float, 3, 3> m102 = m32 * v22;
111         cout << "\n" << m32 << "\n" << v22;
112         cout << "\nProduct:\n" << m102 << endl;
113
114         cout << "\n\n\nVector x Multiplication matrix:\n";
115         vect<float, 3> v102 = (v22 * m12);
116         cout << "\n" << v22 << "\n" << m12;
117         cout << "\nProduct:\n" << v102 << endl;
118
119         float z = 3.50;
120         float z1 = -5.567;
121         cout << "\n\n\nScalar multiplication\n";
122         v13 = v1 * z;
123         v61 = v12 * z1;
124         cout << "\nNumber Multiplied:" << z;
125         cout << "\n\n" << v1;
126         cout << "\nResult:\n\n" << v13;
127         cout << "\nNumber Multiplied:" << z1;
128         cout << "\n\n" << v12;
129         cout << "\nResult:\n\n" << v6;
130
131         float num2 = 5.5;
132         cout << "\n\n\nDivision\n";
133         v31 = v1 / num2;
134         cout << "\n" << v1 << "\n" << num2;
135         cout << "\nResult:\n" << v3 << endl;
136
137         cout << "\n\n\nTranspose:";
138         cout << "\n\n" << v20;
139         cout << "\nResult:\n\n";
140         matrix<float, 6, 1> m101 = transpose(v20);
141         cout << m101;
142         cout << "\n\n" << m101;
143         cout << "\nResult:\n\n";
144         v20 = transpose(m101);
145         cout << v20;
146
147         cout << "\n\nv1:\n\n" << v1;
148         cout << "\n\nv2:\n\n" << v2;
149         cout << "\n\n\nv1 == v2 :";
150         cout << (v1 == v2);
151
152         cout << "\n\nv10:\n\n" << v10;
153         cout << "\n\nv10:\n\n" << v10;
154         cout << "\n\n\nv10 == v10 :";
155         cout << (v10 == v10);
156
157         cout << "\n\nv12:\n\n" << v12;
158         cout << "\n\nv15:\n\n" << vr;
159         cout << "\n\n\nv12 != v15 :";
160         cout << (v12 != vr);
161
162         cout << "\n\nv15:\n\n" << v15;
163         cout << "\n\nv15:\n\n" << v15;
164         cout << "\n\n\nv15 != v15 :";
165         cout << (v15 != v15);
166
167         cout << "\n\nAssignment\n";
168         v3 = vf;
169         cout << "Input \n" << v1;
170         cout << "\nOutput:\n" << v3 << endl;
171
172         vect<float, 3> v111 = cross(v21, v22);
173         cout << "\n\n\nCross Product:";
174         cout << "\n\n" << v21 << "\n\n" << v22;
175         cout << "\nResult:\n\n" << v111;
176
177         float val = dot(v21, v22);
178         cout << "\n\n\nDot Product:";
179         cout << "\n\n" << v21 << "\n\n" << v22;
180         cout << "\nResult:\n\n" << val;
181
182         cout <<  "\n\n\nQueue insert function:";
183         cout << "\nInput:\n\n" << v111;
184         insert_end(v111, (float) 0.9191919);
185         cout << "\nResult:\n\n" << v111;
186
187         cout <<  "\n\n\nVariance:";
188         cout << "\nInput:\n\n" << v35;
189         val = var(v35);
190         cout << "\nResult:\n\n" << val;
191
192         cout <<  "\n\n\nIs Initialized:";
193         cout << "\nInput:\n\n" << v35;
194         cout << "\nResult:\n\n" << is_initialized(v35) << endl;
195 }
196