Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "main.h"
00026
00027 template<typename Scalar> void smallVectors()
00028 {
00029 typedef Matrix<Scalar, 1, 2> V2;
00030 typedef Matrix<Scalar, 3, 1> V3;
00031 typedef Matrix<Scalar, 1, 4> V4;
00032 Scalar x1 = ei_random<Scalar>(),
00033 x2 = ei_random<Scalar>(),
00034 x3 = ei_random<Scalar>(),
00035 x4 = ei_random<Scalar>();
00036 V2 v2(x1, x2);
00037 V3 v3(x1, x2, x3);
00038 V4 v4(x1, x2, x3, x4);
00039 VERIFY_IS_APPROX(x1, v2.x());
00040 VERIFY_IS_APPROX(x1, v3.x());
00041 VERIFY_IS_APPROX(x1, v4.x());
00042 VERIFY_IS_APPROX(x2, v2.y());
00043 VERIFY_IS_APPROX(x2, v3.y());
00044 VERIFY_IS_APPROX(x2, v4.y());
00045 VERIFY_IS_APPROX(x3, v3.z());
00046 VERIFY_IS_APPROX(x3, v4.z());
00047 VERIFY_IS_APPROX(x4, v4.w());
00048 }
00049
00050 void test_eigen2_smallvectors()
00051 {
00052 for(int i = 0; i < g_repeat; i++) {
00053 CALL_SUBTEST( smallVectors<int>() );
00054 CALL_SUBTEST( smallVectors<float>() );
00055 CALL_SUBTEST( smallVectors<double>() );
00056 }
00057 }