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> v1(5, arr0);
35 vect<float> v2(5, arr8);
36 vect<float> v10(4, arr3);
37 vect<float> v12(4, arr4);
38 vect<float> v15(6, arr1);
39 vect<float> v20(6, arr43);
40 vect<float> v21(3, arr2);
41 vect<float> v22(3, arr15);
46 vect<float> v35(5, arr5);
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);
53 cout<< "Constructor Test\n";
56 cout<< "\n\nAddition\n";
59 cout<< "\n" << v21 << "\n" << v22;
60 cout<< "\nSum:\n" << v3 << endl;
61 cout<< "\n" << v15 << "\n" << v20;
62 cout<< "\nSum:\n" << v95 << endl;
66 cout<< "\n\n\nScalar addition\n";
69 cout<< "\nNumber added:" << num;
71 cout<< "\nResult:\n\n" << v3;
72 cout<< "\nNumber added:"<< num1;
74 cout<< "\nResult:\n\n"<< v6;
76 cout<< "\n\n\nSubtraction\n";
78 cout<< "\n" << v10 << "\n" << v12;
79 cout<< "\nDifference:\n" << v6 << endl;
83 cout<< "\n\n\nScalar subtraction\n";
86 cout<< "\nNumber Subtracted:" << x;
88 cout<< "\nResult:\n\n" << v13;
89 cout<< "\nNumber Subtracted:" << x1;
91 cout<< "\nResult:\n\n" << v6;
94 cout<<"\n\n\nMultiplication\n";
96 cout<< "\n" << v2 <<"\n"<< xx;
97 cout<< "\nProduct:\n" << v13 << endl;
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;
104 cout<< "\n\n\nVector x Multiplication matrix:\n";
105 vect<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;
114 cout<< "\n\n\nScalar multiplication\n";
117 cout<< "\nNumber Multiplied:" << z;
119 cout<< "\nResult:\n\n" << v13;
120 cout<< "\nNumber Multiplied:" << z1;
121 cout<< "\n\n" << v12;
122 cout<< "\nResult:\n\n" << v6;
125 cout<< "\n\n\nDivision\n";
127 cout<< "\n" << v1 << "\n" << num2;
128 cout<< "\nResult:\n" << v3 << endl;
130 cout<< "\n\n\nTranspose:";
131 cout << "\n\n" << v20;
132 cout << "\nResult:\n\n";
133 matrix<float> m101 = (transpose(v20));
135 cout << "\n\n" << m101;
136 cout << "\nResult:\n\n";
137 v20 = (transpose(m101));
140 cout << "\n\nv1:\n\n" << v1;
141 cout << "\n\nv2:\n\n" << v2;
142 cout << "\n\n\nv1 == v2 :";
145 cout << "\n\nv10:\n\n" << v10;
146 cout << "\n\nv10:\n\n" << v10;
147 cout << "\n\n\nv10 == v10 :";
148 cout << (v10 == v10);
150 cout << "\n\nv12:\n\n" << v12;
151 cout << "\n\nv15:\n\n" << v15;
152 cout << "\n\n\nv12 != v15 :";
153 cout << (v12 != v15);
155 cout << "\n\nv15:\n\n" << v15;
156 cout << "\n\nv15:\n\n" << v15;
157 cout << "\n\n\nv15 != v15 :";
158 cout << (v15 != v15);
160 cout<< "\n\nAssignment\n";
162 cout<< "Input \n" << v1;
163 cout<< "\nOutput:\n" << v3 << endl;
166 vect<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;
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;
176 cout << "\n\n\nVariance:";
177 cout << "\nInput:\n\n" << v35;
179 cout << "\nResult:\n\n" << val;
181 cout << "\n\n\nIs Initialized:";
182 cout << "\nInput:\n\n" << v35;
183 cout << "\nResult:\n\n" << is_initialized(v35);