17 Vector4i indices(0,1,2,3);
18 for(
int i = 0;
i < 24; ++
i)
25 std::next_permutation(indices.data(),indices.data()+4);
34 double error_sum = 0., error_max = 0.;
40 m = MatrixType::Random();
41 absdet =
abs(m.determinant());
46 error_max = (
std::max)(error_max, error);
48 std::cerr <<
"inverse_general_4x4, Scalar = " << type_name<Scalar>() << std::endl;
49 double error_avg = error_sum /
repeat;
66 mat.template block<4,4>(
i,
j) = submat.inverse();
73 CALL_SUBTEST_1((inverse_permutation_4x4<Matrix4f>()));
74 CALL_SUBTEST_1(( inverse_general_4x4<Matrix4f>(200000 *
g_repeat) ));
81 CALL_SUBTEST_3((inverse_permutation_4x4<Matrix4cf>()));
82 CALL_SUBTEST_3((inverse_general_4x4<Matrix4cf>(50000 *
g_repeat)));
void inverse_permutation_4x4()
#define EIGEN_DEBUG_VAR(x)
void test_prec_inverse_4x4()
array< t, n > repeat(t v)
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
void inverse_general_4x4(int repeat)
#define VERIFY_IS_APPROX(a, b)
NumTraits< Scalar >::Real RealScalar
InverseReturnType inverse() const
The matrix class, also used for vectors and row-vectors.
Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & setRandom(Index size)
EIGEN_DEVICE_FUNC const InverseReturnType inverse() const