Adding AK8975 geo-sensor info in sensors.xml.in required by geo-plugin
[platform/core/system/sensord.git] / src / sensor_fusion / standalone / util / test / 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         vector<float> v1(5, arr0);
35         vector<float> v2(5, arr8);
36         vector<float> v10(4, arr3);
37         vector<float> v12(4, arr4);
38         vector<float> v15(6, arr1);
39         vector<float> v20(6, arr43);
40         vector<float> v21(3, arr2);
41         vector<float> v22(3, arr15);
42         vector<float> v3(4);
43         vector<float> v6(3);
44         vector<float> v13(5);
45         vector<float> v95(6);
46         vector<float> v35(5, arr5);
47
48         float arr57[3][3] = {{2.24, 0.5, 0.023}, {3.675, 5.32, 0.556}, {1.023, 45.75, 621.6}};
49         matrix<float> m12(3, 3, (float *) arr57);
50         float arr67[3][1] = {{2.0}, {3.0}, {4.0}};
51         matrix<float> m32(3, 1, (float *) arr67);
52
53         cout<< "Constructor Test\n";
54         cout<< "\n" << v3;
55
56         cout<< "\n\nAddition\n";
57         v3 = v21 + v22;
58         v95 = v15 + v20;
59         cout<< "\n" << v21 << "\n" << v22;
60         cout<< "\nSum:\n" << v3 << endl;
61         cout<< "\n" << v15 << "\n" << v20;
62         cout<< "\nSum:\n" << v95 << endl;
63
64         float num = 5.5650;
65         float num1 = -2.32;
66         cout<< "\n\n\nScalar addition\n";
67         v3 = v2 + num;
68         v6 = v10 + num1;
69         cout<< "\nNumber added:" << num;
70         cout<< "\n\n" << v2;
71         cout<< "\nResult:\n\n" << v3;
72         cout<< "\nNumber added:"<< num1;
73         cout<< "\n\n" << v10;
74         cout<< "\nResult:\n\n"<< v6;
75
76         cout<< "\n\n\nSubtraction\n";
77         v6 = v10 - v12;
78         cout<< "\n" << v10 << "\n" << v12;
79         cout<< "\nDifference:\n" << v6 << endl;
80
81         float x = 4.0;
82         float x1 = -2.5;
83         cout<< "\n\n\nScalar subtraction\n";
84         v13 = v1 - x;
85         v6 = v10 - x1;
86         cout<< "\nNumber Subtracted:" << x;
87         cout<< "\n\n" << v1;
88         cout<< "\nResult:\n\n" << v13;
89         cout<< "\nNumber Subtracted:" << x1;
90         cout<< "\n\n" << v10;
91         cout<< "\nResult:\n\n" << v6;
92
93         float xx = 7.2;
94         cout<<"\n\n\nMultiplication\n";
95         v13 = v2 * xx;
96         cout<< "\n" << v2 <<"\n"<< xx;
97         cout<< "\nProduct:\n" << v13 << endl;
98
99         cout<< "\n\n\nMultiplication matrix x vector:\n";
100         matrix<float> m102 = m32 * v22;
101         cout<< "\n" << m32 <<"\n"<< v22;
102         cout<< "\nProduct:\n"<< m102 << endl;
103
104         cout<< "\n\n\nVector x Multiplication matrix:\n";
105         vector<float> v102 = (v22 * m12);
106         cout<< "\n" << v22 << "\n" << m12;
107         cout<< "\nProduct:\n" << v102 << endl;
108         float val = mul(v22, m32);
109         cout<< "\n" << v22 << "\n" << m32;
110         cout<< "\nProduct:\n" << val << endl;
111
112         float z = 3.50;
113         float z1 = -5.567;
114         cout<< "\n\n\nScalar multiplication\n";
115         v13 = v1 * z;
116         v6 = v12 * z1;
117         cout<< "\nNumber Multiplied:" << z;
118         cout<< "\n\n" << v1;
119         cout<< "\nResult:\n\n" << v13;
120         cout<< "\nNumber Multiplied:" << z1;
121         cout<< "\n\n" << v12;
122         cout<< "\nResult:\n\n" << v6;
123
124         float num2 = 5.5;
125         cout<< "\n\n\nDivision\n";
126         v3 = v1 / num2;
127         cout<< "\n" << v1 << "\n" << num2;
128         cout<< "\nResult:\n" << v3 << endl;
129
130         cout<< "\n\n\nTranspose:";
131         cout << "\n\n" << v20;
132         cout << "\nResult:\n\n";
133         matrix<float> m101 = (transpose(v20));
134         cout << m101;
135         cout << "\n\n" << m101;
136         cout << "\nResult:\n\n";
137         v20 = (transpose(m101));
138         cout << v20;
139
140         cout << "\n\nv1:\n\n" << v1;
141         cout << "\n\nv2:\n\n" << v2;
142         cout << "\n\n\nv1 == v2 :";
143         cout << (v1 == v2);
144
145         cout << "\n\nv10:\n\n" << v10;
146         cout << "\n\nv10:\n\n" << v10;
147         cout << "\n\n\nv10 == v10 :";
148         cout << (v10 == v10);
149
150         cout << "\n\nv12:\n\n" << v12;
151         cout << "\n\nv15:\n\n" << v15;
152         cout << "\n\n\nv12 != v15 :";
153         cout << (v12 != v15);
154
155         cout << "\n\nv15:\n\n" << v15;
156         cout << "\n\nv15:\n\n" << v15;
157         cout << "\n\n\nv15 != v15 :";
158         cout << (v15 != v15);
159
160         cout<< "\n\nAssignment\n";
161         v3 = v1;
162         cout<< "Input \n" << v1;
163         cout<< "\nOutput:\n" << v3 << endl;
164
165
166         vector<float> v111 = cross(v21, v22);
167         cout<< "\n\n\nCross Product:";
168         cout << "\n\n" << v21 << "\n\n" << v22;
169         cout << "\nResult:\n\n" << v111;
170
171         cout <<  "\n\n\nQueue insert function:";
172         cout << "\nInput:\n\n" << v111;
173         insert_end(v111, (float) 0.9191919);
174         cout << "\nResult:\n\n" << v111;
175
176         cout <<  "\n\n\nVariance:";
177         cout << "\nInput:\n\n" << v35;
178         val = var(v35);
179         cout << "\nResult:\n\n" << val;
180
181         cout <<  "\n\n\nIs Initialized:";
182         cout << "\nInput:\n\n" << v35;
183         cout << "\nResult:\n\n" << is_initialized(v35);
184 }
185