8 #ifndef OPENFPM_NUMERICS_SRC_VECTOR_VECTOR_UNIT_TESTS_HPP_
9 #define OPENFPM_NUMERICS_SRC_VECTOR_VECTOR_UNIT_TESTS_HPP_
11 #include "Vector/Vector.hpp"
13 BOOST_AUTO_TEST_SUITE( vector_test_suite )
15 BOOST_AUTO_TEST_CASE(vector_eigen_parallel)
59 BOOST_REQUIRE_EQUAL(v(0),0);
60 BOOST_REQUIRE_EQUAL(v(1),1);
61 BOOST_REQUIRE_EQUAL(v(2),2);
63 BOOST_REQUIRE_EQUAL(v(3),3);
64 BOOST_REQUIRE_EQUAL(v(4),4);
65 BOOST_REQUIRE_EQUAL(v(5),5);
67 BOOST_REQUIRE_EQUAL(v(6),6);
68 BOOST_REQUIRE_EQUAL(v(7),7);
69 BOOST_REQUIRE_EQUAL(v(8),8);
90 BOOST_REQUIRE_EQUAL(v(0),8);
91 BOOST_REQUIRE_EQUAL(v(1),7);
92 BOOST_REQUIRE_EQUAL(v(2),6);
94 BOOST_REQUIRE_EQUAL(v2(0),0);
95 BOOST_REQUIRE_EQUAL(v2(1),1);
96 BOOST_REQUIRE_EQUAL(v2(2),2);
98 BOOST_REQUIRE_EQUAL(v3(0),0);
99 BOOST_REQUIRE_EQUAL(v3(1),1);
100 BOOST_REQUIRE_EQUAL(v3(2),2);
104 BOOST_REQUIRE_EQUAL(v(3),5);
105 BOOST_REQUIRE_EQUAL(v(4),4);
106 BOOST_REQUIRE_EQUAL(v(5),3);
108 BOOST_REQUIRE_EQUAL(v2(3),3);
109 BOOST_REQUIRE_EQUAL(v2(4),4);
110 BOOST_REQUIRE_EQUAL(v2(5),5);
112 BOOST_REQUIRE_EQUAL(v3(3),3);
113 BOOST_REQUIRE_EQUAL(v3(4),4);
114 BOOST_REQUIRE_EQUAL(v3(5),5);
118 BOOST_REQUIRE_EQUAL(v(6),2);
119 BOOST_REQUIRE_EQUAL(v(7),1);
120 BOOST_REQUIRE_EQUAL(v(8),0);
122 BOOST_REQUIRE_EQUAL(v2(6),6);
123 BOOST_REQUIRE_EQUAL(v2(7),7);
124 BOOST_REQUIRE_EQUAL(v2(8),8);
126 BOOST_REQUIRE_EQUAL(v3(6),6);
127 BOOST_REQUIRE_EQUAL(v3(7),7);
128 BOOST_REQUIRE_EQUAL(v3(8),8);
134 BOOST_AUTO_TEST_CASE(vector_petsc_parallel)
192 BOOST_REQUIRE_EQUAL(v(0),8);
193 BOOST_REQUIRE_EQUAL(v(1),7);
194 BOOST_REQUIRE_EQUAL(v(2),6);
196 BOOST_REQUIRE_EQUAL(v3(0),0);
197 BOOST_REQUIRE_EQUAL(v3(1),1);
198 BOOST_REQUIRE_EQUAL(v3(2),2);
202 BOOST_REQUIRE_EQUAL(v(3),5);
203 BOOST_REQUIRE_EQUAL(v(4),4);
204 BOOST_REQUIRE_EQUAL(v(5),3);
206 BOOST_REQUIRE_EQUAL(v3(3),3);
207 BOOST_REQUIRE_EQUAL(v3(4),4);
208 BOOST_REQUIRE_EQUAL(v3(5),5);
212 BOOST_REQUIRE_EQUAL(v(6),2);
213 BOOST_REQUIRE_EQUAL(v(7),1);
214 BOOST_REQUIRE_EQUAL(v(8),0);
216 BOOST_REQUIRE_EQUAL(v3(6),6);
217 BOOST_REQUIRE_EQUAL(v3(7),7);
218 BOOST_REQUIRE_EQUAL(v3(8),8);
222 auto & vp = v.getVec();
228 PetscInt ix[] = {0,1,2};
231 VecGetValues(vp,3,ix,y);
233 BOOST_REQUIRE_EQUAL(y[0],8);
234 BOOST_REQUIRE_EQUAL(y[1],7);
235 BOOST_REQUIRE_EQUAL(y[2],6);
239 PetscInt ix[] = {3,4,5};
242 VecGetValues(vp,3,ix,y);
244 BOOST_REQUIRE_EQUAL(y[0],5);
245 BOOST_REQUIRE_EQUAL(y[1],4);
246 BOOST_REQUIRE_EQUAL(y[2],3);
250 PetscInt ix[] = {6,7,8};
253 VecGetValues(vp,3,ix,y);
255 BOOST_REQUIRE_EQUAL(y[0],2);
256 BOOST_REQUIRE_EQUAL(y[1],1);
257 BOOST_REQUIRE_EQUAL(y[2],0);
264 BOOST_AUTO_TEST_SUITE_END()
size_t getProcessUnitID()
Get the process unit id.
Sparse Matrix implementation stub object when OpenFPM is compiled with no linear algebra support...
Implementation of VCluster class.
size_t getProcessingUnits()
Get the total number of processors.