4 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 #include "../../../vector.h"
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};
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);
45 vect<float, 4> v61(arr4);
50 vect<float, 5> v35(arr5);
53 vect<float, 4> vr(arr4);
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);
61 cout << "Constructor Test\n";
64 cout << "\n\nAddition\n";
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;
76 cout << "\n\n\nScalar addition\n";
79 cout << "\nNumber added:" << num;
81 cout << "\nResult:\n\n" << vl;
82 cout << "\nNumber added:" << num1;
83 cout << "\n\n" << v10;
84 cout << "\nResult:\n\n" << vm;
86 cout << "\n\n\nSubtraction\n";
88 cout << "\n" << v10 << "\n" << v12;
89 cout << "\nDifference:\n" << vp << endl;
93 cout << "\n\n\nScalar subtraction\n";
96 cout << "\nNumber Subtracted:" << x;
98 cout << "\nResult:\n\n" << v13;
99 cout << "\nNumber Subtracted:" << x1;
100 cout << "\n\n" << v10;
101 cout << "\nResult:\n\n" << vp;
104 cout << "\n\n\nMultiplication\n";
106 cout << "\n" << v2 << "\n" << xx;
107 cout << "\nProduct:\n" << v13 << endl;
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;
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;
121 cout << "\n\n\nScalar multiplication\n";
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;
132 cout << "\n\n\nDivision\n";
134 cout << "\n" << v1 << "\n" << num2;
135 cout << "\nResult:\n" << v3 << endl;
137 cout << "\n\n\nTranspose:";
138 cout << "\n\n" << v20;
139 cout << "\nResult:\n\n";
140 matrix<float, 6, 1> m101 = transpose(v20);
142 cout << "\n\n" << m101;
143 cout << "\nResult:\n\n";
144 v20 = transpose(m101);
147 cout << "\n\nv1:\n\n" << v1;
148 cout << "\n\nv2:\n\n" << v2;
149 cout << "\n\n\nv1 == v2 :";
152 cout << "\n\nv10:\n\n" << v10;
153 cout << "\n\nv10:\n\n" << v10;
154 cout << "\n\n\nv10 == v10 :";
155 cout << (v10 == v10);
157 cout << "\n\nv12:\n\n" << v12;
158 cout << "\n\nv15:\n\n" << vr;
159 cout << "\n\n\nv12 != v15 :";
162 cout << "\n\nv15:\n\n" << v15;
163 cout << "\n\nv15:\n\n" << v15;
164 cout << "\n\n\nv15 != v15 :";
165 cout << (v15 != v15);
167 cout << "\n\nAssignment\n";
169 cout << "Input \n" << v1;
170 cout << "\nOutput:\n" << v3 << endl;
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;
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;
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;
187 cout << "\n\n\nVariance:";
188 cout << "\nInput:\n\n" << v35;
190 cout << "\nResult:\n\n" << val;
192 cout << "\n\n\nIs Initialized:";
193 cout << "\nInput:\n\n" << v35;
194 cout << "\nResult:\n\n" << is_initialized(v35) << endl;